diff --git a/assets/404-ZFKl6IaK.js b/assets/404-BJm7Jo-i.js similarity index 96% rename from assets/404-ZFKl6IaK.js rename to assets/404-BJm7Jo-i.js index 626549b..7e0dc74 100644 --- a/assets/404-ZFKl6IaK.js +++ b/assets/404-BJm7Jo-i.js @@ -1 +1 @@ -import{j as c,o as n,w as e,d as t,aC as C,i as a,aD as o,l as i,aE as s}from"./index-DmGr2YjE.js";import{a as L,V as r}from"./VRow-2V1J5F3c.js";import{V as h}from"./VContainer-D6AyJkGG.js";const f="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%3e%3cg%20clip-path='url(%23clip-path-74_1)'%3e%3cpath%20fill='%23FFFFFF'%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%3e%3c/path%3e%3crect%20x='0'%20y='0'%20width='256'%20height='128'%20fill='%23D8C4A0'%20%3e%3c/rect%3e%3crect%20x='0'%20y='128'%20width='256'%20height='128'%20fill='%23F5E0BB'%20%3e%3c/rect%3e%3cpath%20d='M28%20228L128%20128L228%20128L128%20228L28%20228Z'%20fill-rule='evenodd'%20fill='%23241A04'%20%3e%3c/path%3e%3cpath%20d='M28%20128L128%2028L228%2028L128%20128L28%20128Z'%20fill-rule='evenodd'%20fill='%2352452A'%20%3e%3c/path%3e%3cg%20%3e%3cpath%20fill='%23000000'%20d='M-3049.01%202467.94L-3043.48%202467.94L-3043.48%202466.99L-3045.92%202466.99C-3046.36%202466.99%20-3046.9%202467.04%20-3047.36%202467.08C-3045.29%202465.12%20-3043.9%202463.33%20-3043.9%202461.57C-3043.9%202460.01%20-3044.9%202458.99%20-3046.47%202458.99C-3047.58%202458.99%20-3048.35%202459.49%20-3049.06%202460.27L-3048.43%202460.9C-3047.93%202460.31%20-3047.32%202459.88%20-3046.6%202459.88C-3045.51%202459.88%20-3044.98%202460.61%20-3044.98%202461.62C-3044.98%202463.13%20-3046.25%202464.88%20-3049.01%202467.29L-3049.01%202467.94ZM-3039.27%202468.1C-3037.9%202468.1%20-3036.74%202466.95%20-3036.74%202465.24C-3036.74%202463.39%20-3037.7%202462.48%20-3039.19%202462.48C-3039.87%202462.48%20-3040.64%202462.88%20-3041.18%202463.54C-3041.13%202460.81%20-3040.13%202459.89%20-3038.91%202459.89C-3038.38%202459.89%20-3037.85%202460.15%20-3037.52%202460.56L-3036.89%202459.89C-3037.39%202459.36%20-3038.04%202458.99%20-3038.96%202458.99C-3040.66%202458.99%20-3042.21%202460.3%20-3042.21%202463.74C-3042.21%202466.65%20-3040.95%202468.1%20-3039.27%202468.1ZM-3041.15%202464.41C-3040.58%202463.6%20-3039.91%202463.3%20-3039.36%202463.3C-3038.3%202463.3%20-3037.78%202464.05%20-3037.78%202465.24C-3037.78%202466.44%20-3038.43%202467.23%20-3039.27%202467.23C-3040.37%202467.23%20-3041.03%202466.24%20-3041.15%202464.41ZM-3035.17%202467.94L-3030.34%202467.94L-3030.34%202467.03L-3032.1%202467.03L-3032.1%202459.15L-3032.95%202459.15C-3033.43%202459.42%20-3033.99%202459.62%20-3034.77%202459.77L-3034.77%202460.47L-3033.2%202460.47L-3033.2%202467.03L-3035.17%202467.03L-3035.17%202467.94ZM-3029.51%202467.94L-3028.4%202467.94L-3027.54%202465.25L-3024.33%202465.25L-3023.49%202467.94L-3022.31%202467.94L-3025.3%202459.15L-3026.54%202459.15L-3029.51%202467.94ZM-3027.27%202464.38L-3026.84%202463.02C-3026.52%202462.02%20-3026.24%202461.08%20-3025.96%202460.04L-3025.91%202460.04C-3025.62%202461.06%20-3025.35%202462.02%20-3025.02%202463.02L-3024.6%202464.38L-3027.27%202464.38ZM-3018.93%202468.1C-3017.26%202468.1%20-3016.19%202466.58%20-3016.19%202463.51C-3016.19%202460.47%20-3017.26%202458.99%20-3018.93%202458.99C-3020.61%202458.99%20-3021.67%202460.47%20-3021.67%202463.51C-3021.67%202466.58%20-3020.61%202468.1%20-3018.93%202468.1ZM-3018.93%202467.21C-3019.93%202467.21%20-3020.61%202466.09%20-3020.61%202463.51C-3020.61%202460.95%20-3019.93%202459.85%20-3018.93%202459.85C-3017.93%202459.85%20-3017.25%202460.95%20-3017.25%202463.51C-3017.25%202466.09%20-3017.93%202467.21%20-3018.93%202467.21ZM-3012.27%202468.1C-3010.6%202468.1%20-3009.53%202466.58%20-3009.53%202463.51C-3009.53%202460.47%20-3010.6%202458.99%20-3012.27%202458.99C-3013.95%202458.99%20-3015.01%202460.47%20-3015.01%202463.51C-3015.01%202466.58%20-3013.95%202468.1%20-3012.27%202468.1ZM-3012.27%202467.21C-3013.27%202467.21%20-3013.95%202466.09%20-3013.95%202463.51C-3013.95%202460.95%20-3013.27%202459.85%20-3012.27%202459.85C-3011.27%202459.85%20-3010.59%202460.95%20-3010.59%202463.51C-3010.59%202466.09%20-3011.27%202467.21%20-3012.27%202467.21Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip-path-74_1'%3e%3cpath%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",u={__name:"404",setup(d){return(p,l)=>(n(),c(h,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(o,{class:"mb-4",height:"150",src:f}),l[3]||(l[3]=a("div",{class:"text-center"},[a("div",{class:"text-body-2 font-weight-light mb-n1"},"出现了错误"),a("h1",{class:"text-h2 font-weight-bold"},"404")],-1)),l[4]||(l[4]=a("div",{class:"py-4"},null,-1)),t(L,null,{default:e(()=>[t(r,{cols:"12"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-help",rounded:"lg",variant:"outlined"},{image:e(()=>[t(o,{position:"top right"})]),title:e(()=>[...l[1]||(l[1]=[a("h2",{class:"text-h5 font-weight-bold"},"为什么会出现此错误?",-1)])]),subtitle:e(()=>[...l[2]||(l[2]=[a("div",{class:"text-subtitle-1"},"大概是页面未找到",-1)])]),default:e(()=>[t(s,{opacity:".12",scrim:"primary",contained:"","model-value":"",persistent:""})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant",to:"/","prepend-icon":"mdi-home",rounded:"lg",title:"返回首页",variant:"text"},{default:e(()=>[t(s,{opacity:".06",scrim:"primary",contained:"","model-value":"",persistent:""})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant",onClick:l[0]||(l[0]=m=>this.$router.back()),"prepend-icon":"mdi-arrow-left-drop-circle",rounded:"lg",title:"返回上一页",variant:"text"},{default:e(()=>[t(s,{opacity:".06",scrim:"primary",contained:"","model-value":"",persistent:""})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},x={__name:"404",setup(d){return(p,l)=>(n(),c(u))}};export{x as default}; +import{j as c,o as n,w as e,d as t,a2 as C,i as a,a3 as o,l as i,a4 as s}from"./index-B01HL2YE.js";import{a as L,V as r}from"./VRow-CmZZJImz.js";import{V as h}from"./VContainer-yTxlmOws.js";const f="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%3e%3cg%20clip-path='url(%23clip-path-74_1)'%3e%3cpath%20fill='%23FFFFFF'%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%3e%3c/path%3e%3crect%20x='0'%20y='0'%20width='256'%20height='128'%20fill='%23D8C4A0'%20%3e%3c/rect%3e%3crect%20x='0'%20y='128'%20width='256'%20height='128'%20fill='%23F5E0BB'%20%3e%3c/rect%3e%3cpath%20d='M28%20228L128%20128L228%20128L128%20228L28%20228Z'%20fill-rule='evenodd'%20fill='%23241A04'%20%3e%3c/path%3e%3cpath%20d='M28%20128L128%2028L228%2028L128%20128L28%20128Z'%20fill-rule='evenodd'%20fill='%2352452A'%20%3e%3c/path%3e%3cg%20%3e%3cpath%20fill='%23000000'%20d='M-3049.01%202467.94L-3043.48%202467.94L-3043.48%202466.99L-3045.92%202466.99C-3046.36%202466.99%20-3046.9%202467.04%20-3047.36%202467.08C-3045.29%202465.12%20-3043.9%202463.33%20-3043.9%202461.57C-3043.9%202460.01%20-3044.9%202458.99%20-3046.47%202458.99C-3047.58%202458.99%20-3048.35%202459.49%20-3049.06%202460.27L-3048.43%202460.9C-3047.93%202460.31%20-3047.32%202459.88%20-3046.6%202459.88C-3045.51%202459.88%20-3044.98%202460.61%20-3044.98%202461.62C-3044.98%202463.13%20-3046.25%202464.88%20-3049.01%202467.29L-3049.01%202467.94ZM-3039.27%202468.1C-3037.9%202468.1%20-3036.74%202466.95%20-3036.74%202465.24C-3036.74%202463.39%20-3037.7%202462.48%20-3039.19%202462.48C-3039.87%202462.48%20-3040.64%202462.88%20-3041.18%202463.54C-3041.13%202460.81%20-3040.13%202459.89%20-3038.91%202459.89C-3038.38%202459.89%20-3037.85%202460.15%20-3037.52%202460.56L-3036.89%202459.89C-3037.39%202459.36%20-3038.04%202458.99%20-3038.96%202458.99C-3040.66%202458.99%20-3042.21%202460.3%20-3042.21%202463.74C-3042.21%202466.65%20-3040.95%202468.1%20-3039.27%202468.1ZM-3041.15%202464.41C-3040.58%202463.6%20-3039.91%202463.3%20-3039.36%202463.3C-3038.3%202463.3%20-3037.78%202464.05%20-3037.78%202465.24C-3037.78%202466.44%20-3038.43%202467.23%20-3039.27%202467.23C-3040.37%202467.23%20-3041.03%202466.24%20-3041.15%202464.41ZM-3035.17%202467.94L-3030.34%202467.94L-3030.34%202467.03L-3032.1%202467.03L-3032.1%202459.15L-3032.95%202459.15C-3033.43%202459.42%20-3033.99%202459.62%20-3034.77%202459.77L-3034.77%202460.47L-3033.2%202460.47L-3033.2%202467.03L-3035.17%202467.03L-3035.17%202467.94ZM-3029.51%202467.94L-3028.4%202467.94L-3027.54%202465.25L-3024.33%202465.25L-3023.49%202467.94L-3022.31%202467.94L-3025.3%202459.15L-3026.54%202459.15L-3029.51%202467.94ZM-3027.27%202464.38L-3026.84%202463.02C-3026.52%202462.02%20-3026.24%202461.08%20-3025.96%202460.04L-3025.91%202460.04C-3025.62%202461.06%20-3025.35%202462.02%20-3025.02%202463.02L-3024.6%202464.38L-3027.27%202464.38ZM-3018.93%202468.1C-3017.26%202468.1%20-3016.19%202466.58%20-3016.19%202463.51C-3016.19%202460.47%20-3017.26%202458.99%20-3018.93%202458.99C-3020.61%202458.99%20-3021.67%202460.47%20-3021.67%202463.51C-3021.67%202466.58%20-3020.61%202468.1%20-3018.93%202468.1ZM-3018.93%202467.21C-3019.93%202467.21%20-3020.61%202466.09%20-3020.61%202463.51C-3020.61%202460.95%20-3019.93%202459.85%20-3018.93%202459.85C-3017.93%202459.85%20-3017.25%202460.95%20-3017.25%202463.51C-3017.25%202466.09%20-3017.93%202467.21%20-3018.93%202467.21ZM-3012.27%202468.1C-3010.6%202468.1%20-3009.53%202466.58%20-3009.53%202463.51C-3009.53%202460.47%20-3010.6%202458.99%20-3012.27%202458.99C-3013.95%202458.99%20-3015.01%202460.47%20-3015.01%202463.51C-3015.01%202466.58%20-3013.95%202468.1%20-3012.27%202468.1ZM-3012.27%202467.21C-3013.27%202467.21%20-3013.95%202466.09%20-3013.95%202463.51C-3013.95%202460.95%20-3013.27%202459.85%20-3012.27%202459.85C-3011.27%202459.85%20-3010.59%202460.95%20-3010.59%202463.51C-3010.59%202466.09%20-3011.27%202467.21%20-3012.27%202467.21Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip-path-74_1'%3e%3cpath%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",u={__name:"404",setup(d){return(p,l)=>(n(),c(h,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(o,{class:"mb-4",height:"150",src:f}),l[3]||(l[3]=a("div",{class:"text-center"},[a("div",{class:"text-body-2 font-weight-light mb-n1"},"出现了错误"),a("h1",{class:"text-h2 font-weight-bold"},"404")],-1)),l[4]||(l[4]=a("div",{class:"py-4"},null,-1)),t(L,null,{default:e(()=>[t(r,{cols:"12"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-help",rounded:"lg",variant:"outlined"},{image:e(()=>[t(o,{position:"top right"})]),title:e(()=>[...l[1]||(l[1]=[a("h2",{class:"text-h5 font-weight-bold"},"为什么会出现此错误?",-1)])]),subtitle:e(()=>[...l[2]||(l[2]=[a("div",{class:"text-subtitle-1"},"大概是页面未找到",-1)])]),default:e(()=>[t(s,{opacity:".12",scrim:"primary",contained:"","model-value":"",persistent:""})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant",to:"/","prepend-icon":"mdi-home",rounded:"lg",title:"返回首页",variant:"text"},{default:e(()=>[t(s,{opacity:".06",scrim:"primary",contained:"","model-value":"",persistent:""})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant",onClick:l[0]||(l[0]=m=>this.$router.back()),"prepend-icon":"mdi-arrow-left-drop-circle",rounded:"lg",title:"返回上一页",variant:"text"},{default:e(()=>[t(s,{opacity:".06",scrim:"primary",contained:"","model-value":"",persistent:""})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},x={__name:"404",setup(d){return(p,l)=>(n(),c(u))}};export{x as default}; diff --git a/assets/CacheManagement-BBgWlMor.js b/assets/CacheManagement-BBgWlMor.js new file mode 100644 index 0000000..3f7c6ec --- /dev/null +++ b/assets/CacheManagement-BBgWlMor.js @@ -0,0 +1 @@ +import{_ as W,j as c,o,w as s,d as t,q as A,i as r,x as b,y as p,t as l,v as m,z as C,B as k,C as f,A as w,F as x,G as V,O as E,P as N,X as L,Y as P,l as y}from"./index-B01HL2YE.js";import{V as _}from"./VAlert-C_dUaWCb.js";import{V as B,a as R,b as z,c as F}from"./VExpansionPanels-B9rY3beZ.js";import{V as H}from"./VChip-DGb8BoIB.js";import{V as I}from"./VSkeletonLoader-sErXiQwV.js";import{a as M,V as v}from"./VRow-CmZZJImz.js";import{V as U}from"./VContainer-yTxlmOws.js";const j={name:"CacheManager",data(){return{caches:[],loading:!1,serviceWorkerActive:!1,message:"",messageType:"info"}},mounted(){this.checkServiceWorker()},methods:{checkServiceWorker(){"serviceWorker"in navigator?navigator.serviceWorker.ready.then(()=>{this.serviceWorkerActive=!0,this.refreshCaches()}).catch(()=>{this.serviceWorkerActive=!1}):this.serviceWorkerActive=!1},async refreshCaches(){if(this.serviceWorkerActive){this.loading=!0,this.message="",this.caches=[];try{const a=await this.sendMessageToSW({type:"CACHE_KEYS"});for(const e of a.cacheNames){const n=await this.sendMessageToSW({type:"CACHE_CONTENT",cacheName:e});this.caches.push({name:e,urls:n.urls||[]})}}catch(a){this.showMessage("获取缓存信息失败: "+a.message,"error")}finally{this.loading=!1}}},async clearCache(a){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_CACHE",cacheName:a})).success?(this.showMessage(`已清除缓存: ${this.formatCacheName(a)}`,"success"),await this.refreshCaches()):this.showMessage("清除缓存失败","error")}catch(e){this.showMessage("清除缓存失败: "+e.message,"error")}finally{this.loading=!1}},async clearUrl(a,e){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_URL",cacheName:a,url:e})).success?(this.showMessage(`已从缓存中删除: ${this.getFileName(e)}`,"success"),await this.refreshCaches()):this.showMessage("删除缓存项失败","error")}catch(n){this.showMessage("删除缓存项失败: "+n.message,"error")}finally{this.loading=!1}},async clearAllCaches(){if(confirm("确定要清除所有缓存吗?这可能会导致应用需要重新下载资源。")){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_ALL_CACHES"})).success?(this.showMessage("已清除所有缓存","success"),await this.refreshCaches()):this.showMessage("清除所有缓存失败","error")}catch(a){this.showMessage("清除所有缓存失败: "+a.message,"error")}finally{this.loading=!1}}},sendMessageToSW(a){return new Promise((e,n)=>{if(!navigator.serviceWorker.controller){n(new Error("Service Worker 未控制页面"));return}const g=new MessageChannel;g.port1.onmessage=i=>{e(i.data)},navigator.serviceWorker.controller.postMessage(a,[g.port2]),setTimeout(()=>{n(new Error("Service Worker 响应超时"))},5e3)})},formatCacheName(a){return a.replace("workbox-precache-","预缓存-").replace("-cache","").replace("js","JS").replace("css","CSS").replace("html","HTML").replace("images","图片").replace("external-resources","外部资源").replace("cdn-cgi","CDN")},getFileName(a){try{const e=new URL(a),n=e.pathname.split("/");return n[n.length-1]||e.hostname}catch(e){return console.error("获取文件名失败:",e),a}},showMessage(a,e="info"){this.message=a,this.messageType=e,setTimeout(()=>{this.message===a&&(this.message="")},5e3)}}},O={class:"d-flex align-center"},D={class:"d-flex justify-end mb-2"};function Y(a,e,n,g,i,d){return o(),c(y,null,{default:s(()=>[t(A,{class:"d-flex align-center"},{default:s(()=>[e[2]||(e[2]=r("span",null,"缓存管理",-1)),t(b),t(p,{color:"error",onClick:d.clearAllCaches,loading:i.loading},{default:s(()=>[...e[0]||(e[0]=[l(" 清除所有缓存 ",-1)])]),_:1},8,["onClick","loading"]),t(p,{icon:"",class:"ml-2",onClick:d.refreshCaches},{default:s(()=>[t(m,null,{default:s(()=>[...e[1]||(e[1]=[l("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),t(C,null,{default:s(()=>[i.serviceWorkerActive?k("",!0):(o(),c(_,{key:0,type:"warning",class:"mb-4"},{default:s(()=>[...e[3]||(e[3]=[l(" Service Worker 未激活,缓存管理功能不可用。 ",-1)])]),_:1})),i.message?(o(),c(_,{key:1,type:i.messageType,class:"mb-4"},{default:s(()=>[l(f(i.message),1)]),_:1},8,["type"])):k("",!0),i.caches.length>0?(o(),c(B,{key:2},{default:s(()=>[(o(!0),w(x,null,V(i.caches,u=>(o(),c(R,{key:u.name},{default:s(()=>[t(z,null,{default:s(()=>[r("div",O,[r("span",null,f(d.formatCacheName(u.name)),1),t(H,{class:"ml-2",size:"small"},{default:s(()=>[l(f(u.urls.length)+" 个文件",1)]),_:2},1024)])]),_:2},1024),t(F,null,{default:s(()=>[r("div",D,[t(p,{color:"error",size:"small",onClick:h=>d.clearCache(u.name),loading:i.loading},{default:s(()=>[...e[4]||(e[4]=[l(" 清除此缓存 ",-1)])]),_:2},1032,["onClick","loading"])]),t(E,{lines:"two"},{default:s(()=>[(o(!0),w(x,null,V(u.urls,(h,T)=>(o(),c(N,{key:T},{append:s(()=>[t(p,{icon:"",size:"small",color:"error",onClick:$=>d.clearUrl(u.name,h)},{default:s(()=>[t(m,null,{default:s(()=>[...e[5]||(e[5]=[l("mdi-delete",-1)])]),_:1})]),_:2},1032,["onClick"])]),default:s(()=>[t(L,{class:"text-truncate"},{default:s(()=>[l(f(d.getFileName(h)),1)]),_:2},1024),t(P,{class:"text-truncate"},{default:s(()=>[l(f(h),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):i.loading?(o(),c(I,{key:3,type:"article"})):(o(),c(_,{key:4,type:"info"},{default:s(()=>[...e[6]||(e[6]=[l(" 没有找到缓存数据。 ",-1)])]),_:1}))]),_:1})]),_:1})}const S=W(j,[["render",Y]]),q={name:"CacheManagementPage",components:{CacheManager:S},metaInfo:{title:"缓存管理"}},G={class:"d-flex align-center mb-6"},J={class:"d-flex align-center mb-2"},K={class:"d-flex align-center mb-2"};function X(a,e,n,g,i,d){const u=S;return o(),c(U,null,{default:s(()=>[t(M,null,{default:s(()=>[t(v,{cols:"12"},{default:s(()=>[r("div",G,[t(m,{size:"x-large",color:"primary",class:"mr-3"},{default:s(()=>[...e[0]||(e[0]=[l("mdi-database-cog-outline",-1)])]),_:1}),e[1]||(e[1]=r("div",null,[r("h1",{class:"text-h4"},"缓存管理"),r("div",{class:"text-subtitle-1 text-grey"},"管理应用的本地缓存资源")],-1))]),t(y,{class:"mb-6",variant:"tonal",color:"info",density:"compact"},{default:s(()=>[t(C,{class:"d-flex align-center"},{default:s(()=>[t(m,{color:"info",class:"mr-2"},{default:s(()=>[...e[2]||(e[2]=[l("mdi-information-outline",-1)])]),_:1}),e[3]||(e[3]=r("span",null,"在这里您可以查看和管理应用的缓存文件。清除缓存可能会导致应用需要重新下载资源,但有助于解决某些显示问题。",-1))]),_:1})]),_:1}),t(M,null,{default:s(()=>[t(v,{cols:"12",md:"8"},{default:s(()=>[t(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[t(C,null,{default:s(()=>[r("div",J,[t(m,{color:"primary",class:"mr-2"},{default:s(()=>[...e[4]||(e[4]=[l("mdi-information",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"text-h6"},"什么是缓存?",-1))]),e[6]||(e[6]=r("p",null,"缓存是浏览器在本地存储的网站资源副本,如图片、脚本和样式表等。这些缓存可以加快页面加载速度,减少数据使用,并在离线时提供基本功能。",-1))]),_:1})]),_:1})]),_:1}),t(v,{cols:"12",md:"4"},{default:s(()=>[t(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[t(C,null,{default:s(()=>[r("div",K,[t(m,{color:"warning",class:"mr-2"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lightbulb-outline",-1)])]),_:1}),e[8]||(e[8]=r("span",{class:"text-h6"},"何时清除缓存?",-1))]),e[9]||(e[9]=r("ul",{class:"pl-4"},[r("li",null,"应用显示过时的内容"),r("li",null,"界面出现异常"),r("li",null,"应用功能不正常")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),t(u)]),_:1})]),_:1})]),_:1})}const le=W(q,[["render",X]]);export{le as default}; diff --git a/assets/CacheManagement-Dn2ky79P.js b/assets/CacheManagement-Dn2ky79P.js deleted file mode 100644 index aebdfe7..0000000 --- a/assets/CacheManagement-Dn2ky79P.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as W,j as c,o,w as s,d as a,q as A,i as r,x as b,y as p,t as l,v as m,z as C,B as k,C as f,A as w,F as x,G as V,aq as E,ar as N,aw as L,ax as P,l as y}from"./index-DmGr2YjE.js";import{V as _}from"./VAlert-BGPbp463.js";import{V as B,a as R,b as z,c as F}from"./VExpansionPanels-D9y3oi3n.js";import{V as H}from"./VChip-Cb9zLh7n.js";import{V as I}from"./VSkeletonLoader-CuMOQJqJ.js";import{a as M,V as v}from"./VRow-2V1J5F3c.js";import{V as U}from"./VContainer-D6AyJkGG.js";const j={name:"CacheManager",data(){return{caches:[],loading:!1,serviceWorkerActive:!1,message:"",messageType:"info"}},mounted(){this.checkServiceWorker()},methods:{checkServiceWorker(){"serviceWorker"in navigator?navigator.serviceWorker.ready.then(()=>{this.serviceWorkerActive=!0,this.refreshCaches()}).catch(()=>{this.serviceWorkerActive=!1}):this.serviceWorkerActive=!1},async refreshCaches(){if(this.serviceWorkerActive){this.loading=!0,this.message="",this.caches=[];try{const t=await this.sendMessageToSW({type:"CACHE_KEYS"});for(const e of t.cacheNames){const n=await this.sendMessageToSW({type:"CACHE_CONTENT",cacheName:e});this.caches.push({name:e,urls:n.urls||[]})}}catch(t){this.showMessage("获取缓存信息失败: "+t.message,"error")}finally{this.loading=!1}}},async clearCache(t){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_CACHE",cacheName:t})).success?(this.showMessage(`已清除缓存: ${this.formatCacheName(t)}`,"success"),await this.refreshCaches()):this.showMessage("清除缓存失败","error")}catch(e){this.showMessage("清除缓存失败: "+e.message,"error")}finally{this.loading=!1}},async clearUrl(t,e){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_URL",cacheName:t,url:e})).success?(this.showMessage(`已从缓存中删除: ${this.getFileName(e)}`,"success"),await this.refreshCaches()):this.showMessage("删除缓存项失败","error")}catch(n){this.showMessage("删除缓存项失败: "+n.message,"error")}finally{this.loading=!1}},async clearAllCaches(){if(confirm("确定要清除所有缓存吗?这可能会导致应用需要重新下载资源。")){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_ALL_CACHES"})).success?(this.showMessage("已清除所有缓存","success"),await this.refreshCaches()):this.showMessage("清除所有缓存失败","error")}catch(t){this.showMessage("清除所有缓存失败: "+t.message,"error")}finally{this.loading=!1}}},sendMessageToSW(t){return new Promise((e,n)=>{if(!navigator.serviceWorker.controller){n(new Error("Service Worker 未控制页面"));return}const g=new MessageChannel;g.port1.onmessage=i=>{e(i.data)},navigator.serviceWorker.controller.postMessage(t,[g.port2]),setTimeout(()=>{n(new Error("Service Worker 响应超时"))},5e3)})},formatCacheName(t){return t.replace("workbox-precache-","预缓存-").replace("-cache","").replace("js","JS").replace("css","CSS").replace("html","HTML").replace("images","图片").replace("external-resources","外部资源").replace("cdn-cgi","CDN")},getFileName(t){try{const e=new URL(t),n=e.pathname.split("/");return n[n.length-1]||e.hostname}catch(e){return console.error("获取文件名失败:",e),t}},showMessage(t,e="info"){this.message=t,this.messageType=e,setTimeout(()=>{this.message===t&&(this.message="")},5e3)}}},q={class:"d-flex align-center"},D={class:"d-flex justify-end mb-2"};function O(t,e,n,g,i,d){return o(),c(y,null,{default:s(()=>[a(A,{class:"d-flex align-center"},{default:s(()=>[e[2]||(e[2]=r("span",null,"缓存管理",-1)),a(b),a(p,{color:"error",onClick:d.clearAllCaches,loading:i.loading},{default:s(()=>[...e[0]||(e[0]=[l(" 清除所有缓存 ",-1)])]),_:1},8,["onClick","loading"]),a(p,{icon:"",class:"ml-2",onClick:d.refreshCaches},{default:s(()=>[a(m,null,{default:s(()=>[...e[1]||(e[1]=[l("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),a(C,null,{default:s(()=>[i.serviceWorkerActive?k("",!0):(o(),c(_,{key:0,type:"warning",class:"mb-4"},{default:s(()=>[...e[3]||(e[3]=[l(" Service Worker 未激活,缓存管理功能不可用。 ",-1)])]),_:1})),i.message?(o(),c(_,{key:1,type:i.messageType,class:"mb-4"},{default:s(()=>[l(f(i.message),1)]),_:1},8,["type"])):k("",!0),i.caches.length>0?(o(),c(B,{key:2},{default:s(()=>[(o(!0),w(x,null,V(i.caches,u=>(o(),c(R,{key:u.name},{default:s(()=>[a(z,null,{default:s(()=>[r("div",q,[r("span",null,f(d.formatCacheName(u.name)),1),a(H,{class:"ml-2",size:"small"},{default:s(()=>[l(f(u.urls.length)+" 个文件",1)]),_:2},1024)])]),_:2},1024),a(F,null,{default:s(()=>[r("div",D,[a(p,{color:"error",size:"small",onClick:h=>d.clearCache(u.name),loading:i.loading},{default:s(()=>[...e[4]||(e[4]=[l(" 清除此缓存 ",-1)])]),_:2},1032,["onClick","loading"])]),a(E,{lines:"two"},{default:s(()=>[(o(!0),w(x,null,V(u.urls,(h,T)=>(o(),c(N,{key:T},{append:s(()=>[a(p,{icon:"",size:"small",color:"error",onClick:Q=>d.clearUrl(u.name,h)},{default:s(()=>[a(m,null,{default:s(()=>[...e[5]||(e[5]=[l("mdi-delete",-1)])]),_:1})]),_:2},1032,["onClick"])]),default:s(()=>[a(L,{class:"text-truncate"},{default:s(()=>[l(f(d.getFileName(h)),1)]),_:2},1024),a(P,{class:"text-truncate"},{default:s(()=>[l(f(h),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):i.loading?(o(),c(I,{key:3,type:"article"})):(o(),c(_,{key:4,type:"info"},{default:s(()=>[...e[6]||(e[6]=[l(" 没有找到缓存数据。 ",-1)])]),_:1}))]),_:1})]),_:1})}const S=W(j,[["render",O]]),G={name:"CacheManagementPage",components:{CacheManager:S},metaInfo:{title:"缓存管理"}},J={class:"d-flex align-center mb-6"},K={class:"d-flex align-center mb-2"},Y={class:"d-flex align-center mb-2"};function $(t,e,n,g,i,d){const u=S;return o(),c(U,null,{default:s(()=>[a(M,null,{default:s(()=>[a(v,{cols:"12"},{default:s(()=>[r("div",J,[a(m,{size:"x-large",color:"primary",class:"mr-3"},{default:s(()=>[...e[0]||(e[0]=[l("mdi-database-cog-outline",-1)])]),_:1}),e[1]||(e[1]=r("div",null,[r("h1",{class:"text-h4"},"缓存管理"),r("div",{class:"text-subtitle-1 text-grey"},"管理应用的本地缓存资源")],-1))]),a(y,{class:"mb-6",variant:"tonal",color:"info",density:"compact"},{default:s(()=>[a(C,{class:"d-flex align-center"},{default:s(()=>[a(m,{color:"info",class:"mr-2"},{default:s(()=>[...e[2]||(e[2]=[l("mdi-information-outline",-1)])]),_:1}),e[3]||(e[3]=r("span",null,"在这里您可以查看和管理应用的缓存文件。清除缓存可能会导致应用需要重新下载资源,但有助于解决某些显示问题。",-1))]),_:1})]),_:1}),a(M,null,{default:s(()=>[a(v,{cols:"12",md:"8"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",K,[a(m,{color:"primary",class:"mr-2"},{default:s(()=>[...e[4]||(e[4]=[l("mdi-information",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"text-h6"},"什么是缓存?",-1))]),e[6]||(e[6]=r("p",null,"缓存是浏览器在本地存储的网站资源副本,如图片、脚本和样式表等。这些缓存可以加快页面加载速度,减少数据使用,并在离线时提供基本功能。",-1))]),_:1})]),_:1})]),_:1}),a(v,{cols:"12",md:"4"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",Y,[a(m,{color:"warning",class:"mr-2"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lightbulb-outline",-1)])]),_:1}),e[8]||(e[8]=r("span",{class:"text-h6"},"何时清除缓存?",-1))]),e[9]||(e[9]=r("ul",{class:"pl-4"},[r("li",null,"应用显示过时的内容"),r("li",null,"界面出现异常"),r("li",null,"应用功能不正常")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),a(u)]),_:1})]),_:1})]),_:1})}const le=W(G,[["render",$]]);export{le as default}; diff --git a/assets/DataMigration-BwfINwoF.js b/assets/DataMigration-BwfINwoF.js deleted file mode 100644 index 9582316..0000000 --- a/assets/DataMigration-BwfINwoF.js +++ /dev/null @@ -1 +0,0 @@ -import{g as J,p as E,c as G,d as r,E as P,aK as se,K as ae,S as re,W as ie,aL as oe,i as g,F as Y,aM as le,M as $,$ as ne,_ as W,s as O,a_ as S,a$ as F,k as b,A as R,o as v,w as o,q as M,t as d,z as I,B as w,v as T,l as x,C as f,x as z,y as U,j as D,au as ue,aq as ce,b0 as de,G as me,ar as ge,aw as fe,ax as he,av as Q,H as X}from"./index-DmGr2YjE.js";import{a as j,V as N}from"./VRow-2V1J5F3c.js";import{a as q,e as ye,m as pe,V}from"./VTextField-C4kOar5O.js";import{a as B,b as ve,c as ke,d as Se}from"./VCheckboxBtn-vttsGEHT.js";import{V as _}from"./VAlert-BGPbp463.js";import{V as we}from"./VDataTable-DAMkWB1R.js";import{V as be}from"./VChip-Cb9zLh7n.js";import{V as De}from"./VSkeletonLoader-CuMOQJqJ.js";import{V as Ve}from"./VContainer-D6AyJkGG.js";import"./VMenu-BNxvK6X3.js";const Ie=E({...ve({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),L=J()({name:"VRadio",props:Ie(),setup(t,e){let{slots:l}=e;return G(()=>{const n=B.filterProps(t);return r(B,P(n,{class:["v-radio",t.class],style:t.style,type:"radio"}),l)}),{}}}),Te=E({height:{type:[Number,String],default:"auto"},...pe(),...ne(Se(),["multiple"]),trueIcon:{type:$,default:"$radioOn"},falseIcon:{type:$,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),H=J()({name:"VRadioGroup",inheritAttrs:!1,props:Te(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:l,slots:n}=e;const s=se(),i=ae(()=>t.id||`radio-group-${s}`),a=re(t,"modelValue"),u=ie();return G(()=>{const[m,c]=oe(l),h=q.filterProps(t),p=B.filterProps(t),y=n.label?n.label({label:t.label,props:{for:i.value}}):t.label;return r(q,P({ref:u,class:["v-radio-group",t.class],style:t.style},m,h,{modelValue:a.value,"onUpdate:modelValue":k=>a.value=k,id:i.value}),{...n,default:k=>{let{id:K,messagesId:A,isDisabled:C,isReadonly:ee}=k;return g(Y,null,[y&&r(ye,{id:K.value},{default:()=>[y]}),r(ke,P(p,{id:K.value,"aria-describedby":A.value,defaultsTarget:"VRadio",trueIcon:t.trueIcon,falseIcon:t.falseIcon,type:t.type,disabled:C.value,readonly:ee.value,"aria-labelledby":y?K.value:void 0,multiple:!1},c,{modelValue:a.value,"onUpdate:modelValue":te=>a.value=te}),n)])}})}),le({},u)}}),xe={name:"MigrationTool",data(){return{classNumber:"",machineId:"",migrationType:"server",serverUrl:"",targetStorage:"kv-server",targetServerUrl:"https://kv.wuyuan.dev",startDate:this.getDateString(new Date(Date.now()-30*24*60*60*1e3)),endDate:this.getDateString(new Date),loading:!1,scanning:!1,migrating:!1,showServerPreview:!1,showResult:!1,migrationSuccess:!1,migrationError:null,migrationStats:{total:0,success:0,failed:0},migrationResults:[],localDbItems:[],serverItems:[],selectedItems:[],headers:[{title:"类型",key:"type",sortable:!0},{title:"键名",key:"key",sortable:!0},{title:"日期",key:"date",sortable:!0},{title:"大小",key:"size",sortable:!0}]}},computed:{displayItems(){return this.migrationType==="local"?this.localDbItems:this.serverItems},canMigrate(){return this.classNumber&&this.machineId&&this.displayItems.length>0&&(this.targetStorage!=="kv-server"||this.targetServerUrl)}},async mounted(){try{await this.initMachineId(),this.classNumber=b("server.classNumber"),this.serverUrl=b("server.domain"),this.migrationType=b("server.provider")}catch(t){console.error("初始化设备ID失败:",t)}},methods:{getItemType(t){return t?t.raw?t.raw.type:t.type:""},getItemDate(t){return t?t.raw?t.raw.date:t.date:null},getDateString(t){return t.toISOString().split("T")[0]},async initMachineId(){this.machineId=b("device.uuid")},getRequestHeaders(){const t={Accept:"application/json"},e=b("server.siteKey");return e&&(t["x-site-key"]=e),t},async scanLocalDatabase(){if(!this.classNumber){this.$emit("message",{text:"请先输入班级编号",type:"error"});return}this.scanning=!0,this.localDbItems=[];try{const t=await F("ClassworksDB",2);if(t.objectStoreNames.contains("homework")&&t.objectStoreNames.contains("config")){const l=t.transaction("homework","readonly").objectStore("homework"),s=(await l.getAllKeys()).filter(u=>u.startsWith(`homework_${this.classNumber}_`));for(const u of s){const m=await l.get(u),c=u.split("_")[2];let h=null;if(c){const[p,y,k]=c.split("-");h=new Date(p,y-1,k)}this.localDbItems.push({type:"homework",key:u,originalKey:u,date:h,size:this.getDataSize(m)+" KB",value:m})}const i=`config_${this.classNumber}`,a=await t.get("config",i);a&&this.localDbItems.push({type:"config",key:i,originalKey:i,date:null,size:this.getDataSize(a)+" KB",value:a})}if(t.objectStoreNames.contains("kv")){const l=t.transaction("kv","readonly").objectStore("kv"),s=(await l.getAllKeys()).filter(i=>i.startsWith(`${this.classNumber}/`));for(const i of s){const a=await l.get(i),u=i.includes(`/${this.classNumber}/classworks-config`);let m=null;if(!u){const c=i.match(/classworks-data-(\d{4})(\d{2})(\d{2})/);if(c){const[,h,p,y]=c;m=new Date(h,parseInt(p)-1,y)}}this.localDbItems.push({type:u?"config":"homework",key:i,originalKey:i,date:m,size:this.getDataSize(a)+" KB",value:a,isKv:!0})}}}catch(t){console.error("扫描本地数据库失败:",t),this.$emit("message",{text:"扫描数据库失败: "+t.message,type:"error"})}finally{this.scanning=!1}},getDataSize(t){if(!t)return 0;const e=typeof t=="string"?t:JSON.stringify(t);return Math.round(e.length*2/1024*100)/100},formatDate(t){return t?t.toLocaleDateString():"配置 (无日期)"},async previewServerData(){var t;if(!this.serverUrl||!this.classNumber||!this.startDate||!this.endDate){this.$emit("message",{text:"请填写完整的服务器信息和时间范围",type:"error"});return}this.loading=!0,this.serverItems=[];try{try{const s=`${this.serverUrl}/${this.classNumber}/config`,i=await S.get(s,{headers:this.getRequestHeaders()});i.data&&this.serverItems.push({type:"config",key:`config_${this.classNumber}`,originalKey:s,date:null,size:this.getDataSize(i.data)+" KB",value:i.data})}catch(s){console.warn("无法获取配置:",s)}const e=new Date(this.startDate),l=new Date(this.endDate),n=this.getDateArray(e,l);for(const s of n){const i=this.formatDateForServer(s);try{const a=`${this.serverUrl}/${this.classNumber}/homework?date=${i}`,u=await S.get(a,{headers:this.getRequestHeaders()});u.data&&u.data.status!=!1&&(console.log(u.data),this.serverItems.push({type:"homework",key:`homework_${this.classNumber}_${i}`,originalKey:a,date:s,size:this.getDataSize(u.data)+" KB",value:u.data}))}catch(a){((t=a.response)==null?void 0:t.status)!==404&&console.warn(`无法获取 ${i} 的数据:`,a)}}this.showServerPreview=!0}catch(e){console.error("预览服务器数据失败:",e),this.$emit("message",{text:"预览数据失败: "+e.message,type:"error"})}finally{this.loading=!1}},getDateArray(t,e){const l=[],n=new Date(t);for(;n<=e;)l.push(new Date(n)),n.setDate(n.getDate()+1);return l},formatDateForServer(t){const e=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}-${l}-${n}`},formatDateForKv(t){const e=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}${l}${n}`},async migrateToLocalKv(t){try{const e=await F("ClassworksDB",2,{upgrade(s){s.objectStoreNames.contains("kv")||s.createObjectStore("kv")}}),l=typeof t.value=="string"?JSON.parse(t.value):t.value;if(this.getItemType(t)==="config"){if(l.studentList&&Array.isArray(l.studentList)){const s=l.studentList.map((a,u)=>({id:u+1,name:a}));await e.put("kv",JSON.stringify(s),"classworks-list-main");const i={...l};delete i.studentList,await e.put("kv",JSON.stringify(i),"classworks-config")}else await e.put("kv",JSON.stringify(l),"classworks-config");return{success:!0,message:"配置已迁移"}}else{const s=this.getItemDate(t);let i;if(s)i=this.formatDateForKv(s);else{const a=t.key.match(/(\d{4})-(\d{2})-(\d{2})/);if(a){const[,u,m,c]=a;i=`${u}${m}${c}`}else return{success:!1,message:"无法确定日期格式"}}return await e.put("kv",JSON.stringify(l),`classworks-data-${i}`),{success:!0,message:`${i} 数据已迁移`}}}catch(e){return console.error("本地KV迁移失败:",e),{success:!1,message:e.message}}},async migrateToServerKv(t){var e,l;try{const n=typeof t.value=="string"?JSON.parse(t.value):t.value;if(this.getItemType(t)==="config"){if(n.studentList&&Array.isArray(n.studentList)){const i=n.studentList.map((c,h)=>({id:h+1,name:c})),a={...n};delete a.studentList;const u={"classworks-list-main":i,"classworks-config":a},m=await S.post(`${this.targetServerUrl}/${this.machineId}/_batchimport`,u,{headers:this.getRequestHeaders()});if(m.data&&m.data.successful>0&&(this.migrationResults.push({key:"classworks-config",success:!0,message:"配置已批量迁移到服务器"}),this.migrationStats.success++,m.data.failed>0&&m.data.errors))for(const c of m.data.errors)this.migrationResults.push({key:c.key,success:!1,message:c.error||"配置迁移失败"}),this.migrationStats.failed++}else await S.post(`${this.targetServerUrl}/${this.machineId}/classworks-config`,n,{headers:this.getRequestHeaders()});return{success:!0,message:"配置已迁移到服务器"}}else{const i=this.getItemDate(t);let a;if(i)a=this.formatDateForKv(i);else{const u=t.key.match(/(\d{4})-(\d{2})-(\d{2})/);if(u){const[,m,c,h]=u;a=`${m}${c}${h}`}else return{success:!1,message:"无法确定日期格式"}}return await S.post(`${this.targetServerUrl}/${this.machineId}/classworks-data-${a}`,n,{headers:this.getRequestHeaders()}),{success:!0,message:`${a} 数据已迁移到服务器`}}}catch(n){return console.error("服务器KV迁移失败:",n),{success:!1,message:((l=(e=n.response)==null?void 0:e.data)==null?void 0:l.message)||n.message}}},async batchMigrateToServerKv(t){var e,l;try{const n=t.filter(a=>this.getItemType(a)==="config"),s=t.filter(a=>this.getItemType(a)==="homework");if(n.length>0){const a=n[0],u=typeof a.value=="string"?JSON.parse(a.value):a.value;if(u.studentList&&Array.isArray(u.studentList)){const m=u.studentList.map((y,k)=>({id:k+1,name:y})),c={...u};delete c.studentList;const h={"classworks-list-main":m,"classworks-config":c},p=await S.post(`${this.targetServerUrl}/${this.machineId}/_batchimport`,h,{headers:this.getRequestHeaders()});if(p.data&&p.data.successful>0&&(this.migrationResults.push({key:"classworks-config",success:!0,message:"配置已批量迁移到服务器"}),this.migrationStats.success++,p.data.failed>0&&p.data.errors))for(const y of p.data.errors)this.migrationResults.push({key:y.key,success:!1,message:y.error||"配置迁移失败"}),this.migrationStats.failed++}else await S.post(`${this.targetServerUrl}/${this.machineId}/classworks-config`,u,{headers:this.getRequestHeaders()});this.migrationResults.push({key:a.key,success:!0,message:"配置已迁移到服务器"}),this.migrationStats.success++}const i=100;for(let a=0;a0){const c=await S.post(`${this.targetServerUrl}/${this.machineId}/_batchimport`,m,{headers:this.getRequestHeaders()});if(c.data&&(c.data.successful>0&&(this.migrationResults.push({key:`批量数据 (${Object.keys(m).length}项)`,success:!0,message:`成功迁移 ${c.data.successful} 项数据到服务器`}),this.migrationStats.success+=c.data.successful),c.data.failed>0&&c.data.errors))for(const h of c.data.errors)this.migrationResults.push({key:h.key,success:!1,message:h.error||"迁移失败"}),this.migrationStats.failed+=c.data.failed}}return{success:!0}}catch(n){return console.error("批量迁移到服务器失败:",n),{success:!1,message:((l=(e=n.response)==null?void 0:e.data)==null?void 0:l.message)||n.message}}},async startMigration(){if(!this.canMigrate){this.$emit("message",{text:"无法开始迁移,请检查配置",type:"error"});return}this.migrating=!0,this.migrationResults=[],this.migrationStats={total:this.displayItems.length,success:0,failed:0};try{if(this.targetStorage==="kv-local"){const t=this.displayItems.filter(l=>this.getItemType(l)==="config"),e=this.displayItems.filter(l=>this.getItemType(l)==="homework");for(const l of t)await this.migrateItem(l);for(const l of e)await this.migrateItem(l)}else await this.batchMigrateToServerKv(this.displayItems);this.migrationSuccess=this.migrationStats.failed===0,this.showResult=!0,O("server.provider",this.targetStorage),this.targetStorage==="kv-server"&&O("server.domain",this.targetServerUrl)}catch(t){console.error("迁移过程出错:",t),this.migrationSuccess=!1,this.migrationError=t.message,this.showResult=!0}finally{this.migrating=!1}},async migrateItem(t){try{let e;this.targetStorage==="kv-local"?e=await this.migrateToLocalKv(t):e=await this.migrateToServerKv(t),this.migrationResults.push({key:t.key,success:e.success,message:e.message}),e.success?this.migrationStats.success++:this.migrationStats.failed++}catch(e){console.error(`迁移 ${t.key} 失败:`,e),this.migrationResults.push({key:t.key,success:!1,message:e.message}),this.migrationStats.failed++}}}},Ke={key:0,class:"mt-4"},Re={class:"d-flex align-center mt-4"},Me={key:0,class:"mt-4"},Ne={class:"d-flex justify-end mb-6"},_e={key:1};function Ue(t,e,l,n,s,i){return v(),R("div",null,[r(x,{class:"mb-6"},{default:o(()=>[r(M,null,{default:o(()=>[...e[11]||(e[11]=[d("迁移设置",-1)])]),_:1}),r(I,null,{default:o(()=>[r(j,null,{default:o(()=>[r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.classNumber,"onUpdate:modelValue":e[0]||(e[0]=a=>s.classNumber=a),label:"班级编号",hint:"请输入需要迁移的班级编号","persistent-hint":"","prepend-icon":"mdi-account-group"},null,8,["modelValue"])]),_:1}),r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.machineId,"onUpdate:modelValue":e[1]||(e[1]=a=>s.machineId=a),label:"设备标识 (UUID)",hint:"系统已自动填充设备标识,通常无需修改","persistent-hint":"","prepend-icon":"mdi-identifier",readonly:""},null,8,["modelValue"])]),_:1})]),_:1}),r(H,{modelValue:s.migrationType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.migrationType=a),class:"mt-2"},{default:o(()=>[r(L,{value:"local",label:"本地数据迁移"}),r(L,{value:"server",label:"服务器数据迁移"})]),_:1},8,["modelValue"]),s.migrationType==="server"?(v(),R("div",Ke,[r(V,{modelValue:s.serverUrl,"onUpdate:modelValue":e[3]||(e[3]=a=>s.serverUrl=a),label:"服务器地址",hint:"输入服务器域名,例如:https://example.com","persistent-hint":"","prepend-icon":"mdi-server"},null,8,["modelValue"]),r(_,{density:"compact",type:"info",variant:"outlined",class:"mt-2"},{default:o(()=>[...e[12]||(e[12]=[d(" 服务器接口格式:",-1),g("br",null,null,-1),d(" - 配置接口:域名/班号/config",-1),g("br",null,null,-1),d(" - 作业数据接口:域名/班号/homework?date=YYYY-MM-DD ",-1)])]),_:1}),g("div",Re,[r(T,{color:"warning",class:"mr-2"},{default:o(()=>[...e[13]||(e[13]=[d("mdi-calendar-range",-1)])]),_:1}),e[14]||(e[14]=g("span",{class:"text-subtitle-1"},"选择迁移时间范围:",-1))]),r(j,{class:"mt-1"},{default:o(()=>[r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.startDate,"onUpdate:modelValue":e[4]||(e[4]=a=>s.startDate=a),label:"开始日期",type:"date","prepend-icon":"mdi-calendar-start"},null,8,["modelValue"])]),_:1}),r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.endDate,"onUpdate:modelValue":e[5]||(e[5]=a=>s.endDate=a),label:"结束日期",type:"date","prepend-icon":"mdi-calendar-end"},null,8,["modelValue"])]),_:1})]),_:1})])):w("",!0)]),_:1})]),_:1}),r(x,{class:"mb-6"},{default:o(()=>[r(M,{class:"d-flex align-center"},{default:o(()=>[g("span",null,f(s.migrationType==="local"?"本地数据库内容":"服务器数据内容"),1),r(z),r(U,{color:"primary",onClick:e[6]||(e[6]=a=>s.migrationType==="local"?i.scanLocalDatabase():i.previewServerData()),loading:s.loading||s.scanning},{default:o(()=>[d(f(s.migrationType==="local"?"扫描数据":"加载数据"),1)]),_:1},8,["loading"])]),_:1}),r(I,null,{default:o(()=>[i.displayItems.length===0&&!s.loading&&!s.scanning?(v(),D(_,{key:0,type:"info"},{default:o(()=>[d(f(s.migrationType==="local"?'尚未扫描本地数据或未找到可迁移的数据。点击"扫描数据"按钮开始扫描。':'尚未预览服务器数据或未找到可迁移的数据。点击"加载数据"按钮开始查询。'),1)]),_:1})):w("",!0),i.displayItems.length>0?(v(),D(we,{key:1,headers:s.headers,items:i.displayItems,"items-per-page":10,"item-value":"key",class:"elevation-1"},{"item.type":o(({item:a})=>[r(be,{color:i.getItemType(a)==="config"?"primary":"secondary",size:"small"},{default:o(()=>[d(f(i.getItemType(a)==="config"?"配置":"作业数据"),1)]),_:2},1032,["color"])]),"item.date":o(({item:a})=>[d(f(i.formatDate(i.getItemDate(a))),1)]),_:2},1032,["headers","items"])):w("",!0),i.displayItems.length>0?(v(),D(_,{key:2,type:"info",density:"compact",class:"mt-2"},{default:o(()=>[...e[15]||(e[15]=[d(" 系统将迁移表格中显示的所有数据项,迁移前请确认数据完整性。 ",-1)])]),_:1})):w("",!0),s.loading||s.scanning?(v(),D(De,{key:3,type:"table"})):w("",!0)]),_:1})]),_:1}),r(x,{class:"mb-6"},{default:o(()=>[r(M,null,{default:o(()=>[...e[16]||(e[16]=[d("迁移目标",-1)])]),_:1}),r(I,null,{default:o(()=>[r(H,{modelValue:s.targetStorage,"onUpdate:modelValue":e[7]||(e[7]=a=>s.targetStorage=a)},{default:o(()=>[r(L,{value:"kv-local",label:"本地 KV 存储"}),r(L,{value:"kv-server",label:"服务器 KV 存储"})]),_:1},8,["modelValue"]),s.targetStorage==="kv-server"?(v(),R("div",Me,[r(V,{modelValue:s.targetServerUrl,"onUpdate:modelValue":e[8]||(e[8]=a=>s.targetServerUrl=a),label:"目标服务器地址",hint:"输入KV服务器地址,例如:https://example.com/kv-api","persistent-hint":"","prepend-icon":"mdi-server-network"},null,8,["modelValue"])])):w("",!0)]),_:1})]),_:1}),g("div",Ne,[r(U,{color:"success",onClick:i.startMigration,loading:s.migrating,disabled:!i.canMigrate},{default:o(()=>[...e[17]||(e[17]=[d(" 开始迁移 ",-1)])]),_:1},8,["onClick","loading","disabled"])]),r(X,{modelValue:s.showResult,"onUpdate:modelValue":e[10]||(e[10]=a=>s.showResult=a),"max-width":"600"},{default:o(()=>[r(x,null,{default:o(()=>[r(M,{class:"d-flex align-center"},{default:o(()=>[r(T,{color:s.migrationSuccess?"success":"error",class:"mr-2"},{default:o(()=>[d(f(s.migrationSuccess?"mdi-check-circle":"mdi-alert-circle"),1)]),_:1},8,["color"]),g("span",null,f(s.migrationSuccess?"迁移成功":"迁移失败"),1)]),_:1}),r(I,null,{default:o(()=>[s.migrationError?(v(),D(_,{key:0,type:"error",class:"mb-4"},{default:o(()=>[d(f(s.migrationError),1)]),_:1})):w("",!0),s.migrationSuccess?(v(),R("div",_e,[g("p",null," 成功迁移 "+f(s.migrationStats.success)+" 项数据到 "+f(s.targetStorage==="kv-local"?"本地":"服务器")+" KV 存储。 ",1),r(ue,{class:"my-4"}),r(ce,null,{default:o(()=>[r(de,null,{default:o(()=>[...e[18]||(e[18]=[d("迁移详情",-1)])]),_:1}),(v(!0),R(Y,null,me(s.migrationResults,(a,u)=>(v(),D(ge,{key:u},{default:o(()=>[r(fe,null,{default:o(()=>[d(f(a.key),1)]),_:2},1024),r(he,null,{default:o(()=>[d(f(a.success?"成功":"失败")+" "+f(a.message),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):w("",!0)]),_:1}),r(Q,null,{default:o(()=>[r(z),r(U,{color:"primary",onClick:e[9]||(e[9]=a=>s.showResult=!1)},{default:o(()=>[...e[19]||(e[19]=[d(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Z=W(xe,[["render",Ue]]),Le={name:"DataMigrationPage",components:{MigrationTool:Z},data(){const t=new Date,e=new Date;return e.setMonth(t.getMonth()-3),{showMigrationDialog:!1,isAutoMigrating:!1,today:t,sixMonthsAgo:e,classNumber:"",serverDomain:"",dataProvider:""}},computed:{dataSourceText(){switch(this.dataProvider){case"server":return"服务器";case"indexeddb":return"本地数据库";case"kv-local":return"本地 KV 存储";case"kv-server":return"远程 KV 存储";case"classworkscloud":return"Classworks 云";default:return"未知来源"}}},async mounted(){this.loadSettings(),this.serverDomain=="https://class.wuyuan.dev"&&(await this.startAutoMigration(),this.$router.push("/"))},methods:{loadSettings(){this.classNumber=b("server.classNumber"),this.serverDomain=b("server.domain"),this.dataProvider=b("server.provider"),this.showMigrationDialog=this.dataProvider==="server"||this.dataProvider==="indexeddb"},formatDate(t){return t.toLocaleDateString()},async startAutoMigration(){if(!this.$refs.migrationTool){console.error("MigrationTool组件引用不可用");return}this.isAutoMigrating=!0;try{const t=this.$refs.migrationTool;t.classNumber=this.classNumber,t.migrationType=this.dataProvider==="server"?"server":"local",t.serverUrl=this.serverDomain,t.targetStorage="kv-server",t.startDate=this.formatDateString(this.sixMonthsAgo),t.endDate=this.formatDateString(this.today),this.dataProvider==="server"?await t.previewServerData():await t.scanLocalDatabase(),t.displayItems.length>0?await t.startMigration():console.warn("没有找到可迁移的数据"),O("server.provider","classworkscloud")}catch(t){console.error("自动迁移失败:",t)}finally{this.isAutoMigrating=!1,this.showMigrationDialog=!1}},formatDateString(t){const e=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}-${l}-${n}`}},metaInfo:{title:"数据迁移工具"}},Ae={class:"d-flex align-center mb-6"},Ce={class:"ml-3 mt-1"};function Pe(t,e,l,n,s,i){const a=Z;return v(),D(Ve,null,{default:o(()=>[r(j,null,{default:o(()=>[r(N,{cols:"12"},{default:o(()=>[g("div",Ae,[r(T,{size:"x-large",color:"primary",class:"mr-3"},{default:o(()=>[...e[2]||(e[2]=[d("mdi-database-sync",-1)])]),_:1}),e[3]||(e[3]=g("div",null,[g("h1",{class:"text-h4"},"数据迁移工具"),g("div",{class:"text-subtitle-1 text-grey"}," 将现有数据迁移至 KV 存储系统 ")],-1))]),r(x,{class:"mb-6",variant:"tonal",color:"info",density:"compact"},{default:o(()=>[r(I,{class:"d-flex align-center"},{default:o(()=>[r(T,{color:"info",class:"mr-2"},{default:o(()=>[...e[4]||(e[4]=[d("mdi-information-outline",-1)])]),_:1}),e[5]||(e[5]=g("span",null,"使用此工具可以将数据从旧存储系统迁移到新的 KV 存储系统,选择本地或云端迁移,以确保数据不会丢失。",-1))]),_:1})]),_:1}),r(a,{ref:"migrationTool"},null,512)]),_:1})]),_:1}),r(X,{modelValue:s.showMigrationDialog,"onUpdate:modelValue":e[1]||(e[1]=u=>s.showMigrationDialog=u),"max-width":"500",persistent:""},{default:o(()=>[r(x,null,{default:o(()=>[r(M,{class:"text-h5 d-flex align-center"},{default:o(()=>[r(T,{color:"primary",size:"large",class:"mr-3"},{default:o(()=>[...e[6]||(e[6]=[d("mdi-database-sync",-1)])]),_:1}),e[7]||(e[7]=d(" 一键数据迁移 ",-1))]),_:1}),r(I,{class:"mt-4"},{default:o(()=>[e[8]||(e[8]=g("p",null," 系统将自动读取您的配置,并将过去半年的数据迁移至Classworks KV数据库中 ",-1)),r(_,{color:"info",variant:"outlined",density:"compact",class:"mt-4",icon:"mdi-information-outline"},{default:o(()=>[g("ul",Ce,[g("li",null,"数据源: "+f(i.dataSourceText),1),g("li",null,"班级: "+f(s.classNumber),1),g("li",null,"服务器: "+f(s.serverDomain||"本地存储"),1),g("li",null," 迁移范围: "+f(i.formatDate(s.sixMonthsAgo))+" 至 "+f(i.formatDate(s.today)),1)])]),_:1})]),_:1}),r(Q,null,{default:o(()=>[r(z),r(U,{color:"grey-darken-1",variant:"text",onClick:e[0]||(e[0]=u=>s.showMigrationDialog=!1)},{default:o(()=>[...e[9]||(e[9]=[d(" 稍后再说 ",-1)])]),_:1}),r(U,{color:"primary",size:"large",variant:"elevated",onClick:i.startAutoMigration,loading:s.isAutoMigrating,disabled:s.isAutoMigrating},{default:o(()=>[r(T,{left:"",class:"mr-2"},{default:o(()=>[...e[10]||(e[10]=[d("mdi-database-export",-1)])]),_:1}),e[11]||(e[11]=d(" 开始一键迁移 ",-1))]),_:1},8,["onClick","loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Ge=W(Le,[["render",Pe]]);export{Ge as default}; diff --git a/assets/DataMigration-Db9udzL3.js b/assets/DataMigration-Db9udzL3.js new file mode 100644 index 0000000..fba166d --- /dev/null +++ b/assets/DataMigration-Db9udzL3.js @@ -0,0 +1 @@ +import{g as J,p as G,c as Y,d as r,E as P,aG as se,al as ae,aj as re,an as ie,ar as oe,i as g,F as E,as as le,ai as F,av as ne,_ as W,s as O,aH as S,aI as $,k as b,A as K,o as v,w as o,q as M,t as d,z as I,B as w,v as T,l as x,C as f,x as z,y as _,j as D,U as ue,O as ce,aJ as de,G as me,P as ge,X as fe,Y as he,W as X,H as Q}from"./index-B01HL2YE.js";import{a as j,V as N}from"./VRow-CmZZJImz.js";import{a as H,e as ye,d as pe,V}from"./VTextField-DDMIr0_j.js";import{V as B,m as ve,a as ke,b as Se}from"./VCheckboxBtn-DzDw8U-d.js";import{V as U}from"./VAlert-C_dUaWCb.js";import{V as we}from"./VDataTable-B-hmgcj0.js";import{V as be}from"./VChip-DGb8BoIB.js";import{V as De}from"./VSkeletonLoader-sErXiQwV.js";import{V as Ve}from"./VContainer-yTxlmOws.js";import"./VMenu-3aVeBIH6.js";const Ie=G({...ve({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),L=J()({name:"VRadio",props:Ie(),setup(t,e){let{slots:l}=e;return Y(()=>{const n=B.filterProps(t);return r(B,P(n,{class:["v-radio",t.class],style:t.style,type:"radio"}),l)}),{}}}),Te=G({height:{type:[Number,String],default:"auto"},...pe(),...ne(Se(),["multiple"]),trueIcon:{type:F,default:"$radioOn"},falseIcon:{type:F,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),q=J()({name:"VRadioGroup",inheritAttrs:!1,props:Te(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:l,slots:n}=e;const s=se(),i=ae(()=>t.id||`radio-group-${s}`),a=re(t,"modelValue"),u=ie();return Y(()=>{const[m,c]=oe(l),h=H.filterProps(t),p=B.filterProps(t),y=n.label?n.label({label:t.label,props:{for:i.value}}):t.label;return r(H,P({ref:u,class:["v-radio-group",t.class],style:t.style},m,h,{modelValue:a.value,"onUpdate:modelValue":k=>a.value=k,id:i.value}),{...n,default:k=>{let{id:R,messagesId:A,isDisabled:C,isReadonly:ee}=k;return g(E,null,[y&&r(ye,{id:R.value},{default:()=>[y]}),r(ke,P(p,{id:R.value,"aria-describedby":A.value,defaultsTarget:"VRadio",trueIcon:t.trueIcon,falseIcon:t.falseIcon,type:t.type,disabled:C.value,readonly:ee.value,"aria-labelledby":y?R.value:void 0,multiple:!1},c,{modelValue:a.value,"onUpdate:modelValue":te=>a.value=te}),n)])}})}),le({},u)}}),xe={name:"MigrationTool",data(){return{classNumber:"",machineId:"",migrationType:"server",serverUrl:"",targetStorage:"kv-server",targetServerUrl:"https://kv.wuyuan.dev",startDate:this.getDateString(new Date(Date.now()-30*24*60*60*1e3)),endDate:this.getDateString(new Date),loading:!1,scanning:!1,migrating:!1,showServerPreview:!1,showResult:!1,migrationSuccess:!1,migrationError:null,migrationStats:{total:0,success:0,failed:0},migrationResults:[],localDbItems:[],serverItems:[],selectedItems:[],headers:[{title:"类型",key:"type",sortable:!0},{title:"键名",key:"key",sortable:!0},{title:"日期",key:"date",sortable:!0},{title:"大小",key:"size",sortable:!0}]}},computed:{displayItems(){return this.migrationType==="local"?this.localDbItems:this.serverItems},canMigrate(){return this.classNumber&&this.machineId&&this.displayItems.length>0&&(this.targetStorage!=="kv-server"||this.targetServerUrl)}},async mounted(){try{await this.initMachineId(),this.classNumber=b("server.classNumber"),this.serverUrl=b("server.domain"),this.migrationType=b("server.provider")}catch(t){console.error("初始化设备ID失败:",t)}},methods:{getItemType(t){return t?t.raw?t.raw.type:t.type:""},getItemDate(t){return t?t.raw?t.raw.date:t.date:null},getDateString(t){return t.toISOString().split("T")[0]},async initMachineId(){this.machineId=b("device.uuid")},getRequestHeaders(){const t={Accept:"application/json"},e=b("server.siteKey");return e&&(t["x-site-key"]=e),t},async scanLocalDatabase(){if(!this.classNumber){this.$emit("message",{text:"请先输入班级编号",type:"error"});return}this.scanning=!0,this.localDbItems=[];try{const t=await $("ClassworksDB",2);if(t.objectStoreNames.contains("homework")&&t.objectStoreNames.contains("config")){const l=t.transaction("homework","readonly").objectStore("homework"),s=(await l.getAllKeys()).filter(u=>u.startsWith(`homework_${this.classNumber}_`));for(const u of s){const m=await l.get(u),c=u.split("_")[2];let h=null;if(c){const[p,y,k]=c.split("-");h=new Date(p,y-1,k)}this.localDbItems.push({type:"homework",key:u,originalKey:u,date:h,size:this.getDataSize(m)+" KB",value:m})}const i=`config_${this.classNumber}`,a=await t.get("config",i);a&&this.localDbItems.push({type:"config",key:i,originalKey:i,date:null,size:this.getDataSize(a)+" KB",value:a})}if(t.objectStoreNames.contains("kv")){const l=t.transaction("kv","readonly").objectStore("kv"),s=(await l.getAllKeys()).filter(i=>i.startsWith(`${this.classNumber}/`));for(const i of s){const a=await l.get(i),u=i.includes(`/${this.classNumber}/classworks-config`);let m=null;if(!u){const c=i.match(/classworks-data-(\d{4})(\d{2})(\d{2})/);if(c){const[,h,p,y]=c;m=new Date(h,parseInt(p)-1,y)}}this.localDbItems.push({type:u?"config":"homework",key:i,originalKey:i,date:m,size:this.getDataSize(a)+" KB",value:a,isKv:!0})}}}catch(t){console.error("扫描本地数据库失败:",t),this.$emit("message",{text:"扫描数据库失败: "+t.message,type:"error"})}finally{this.scanning=!1}},getDataSize(t){if(!t)return 0;const e=typeof t=="string"?t:JSON.stringify(t);return Math.round(e.length*2/1024*100)/100},formatDate(t){return t?t.toLocaleDateString():"配置 (无日期)"},async previewServerData(){var t;if(!this.serverUrl||!this.classNumber||!this.startDate||!this.endDate){this.$emit("message",{text:"请填写完整的服务器信息和时间范围",type:"error"});return}this.loading=!0,this.serverItems=[];try{try{const s=`${this.serverUrl}/${this.classNumber}/config`,i=await S.get(s,{headers:this.getRequestHeaders()});i.data&&this.serverItems.push({type:"config",key:`config_${this.classNumber}`,originalKey:s,date:null,size:this.getDataSize(i.data)+" KB",value:i.data})}catch(s){console.warn("无法获取配置:",s)}const e=new Date(this.startDate),l=new Date(this.endDate),n=this.getDateArray(e,l);for(const s of n){const i=this.formatDateForServer(s);try{const a=`${this.serverUrl}/${this.classNumber}/homework?date=${i}`,u=await S.get(a,{headers:this.getRequestHeaders()});u.data&&u.data.status!=!1&&(console.log(u.data),this.serverItems.push({type:"homework",key:`homework_${this.classNumber}_${i}`,originalKey:a,date:s,size:this.getDataSize(u.data)+" KB",value:u.data}))}catch(a){((t=a.response)==null?void 0:t.status)!==404&&console.warn(`无法获取 ${i} 的数据:`,a)}}this.showServerPreview=!0}catch(e){console.error("预览服务器数据失败:",e),this.$emit("message",{text:"预览数据失败: "+e.message,type:"error"})}finally{this.loading=!1}},getDateArray(t,e){const l=[],n=new Date(t);for(;n<=e;)l.push(new Date(n)),n.setDate(n.getDate()+1);return l},formatDateForServer(t){const e=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}-${l}-${n}`},formatDateForKv(t){const e=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}${l}${n}`},async migrateToLocalKv(t){try{const e=await $("ClassworksDB",2,{upgrade(s){s.objectStoreNames.contains("kv")||s.createObjectStore("kv")}}),l=typeof t.value=="string"?JSON.parse(t.value):t.value;if(this.getItemType(t)==="config"){if(l.studentList&&Array.isArray(l.studentList)){const s=l.studentList.map((a,u)=>({id:u+1,name:a}));await e.put("kv",JSON.stringify(s),"classworks-list-main");const i={...l};delete i.studentList,await e.put("kv",JSON.stringify(i),"classworks-config")}else await e.put("kv",JSON.stringify(l),"classworks-config");return{success:!0,message:"配置已迁移"}}else{const s=this.getItemDate(t);let i;if(s)i=this.formatDateForKv(s);else{const a=t.key.match(/(\d{4})-(\d{2})-(\d{2})/);if(a){const[,u,m,c]=a;i=`${u}${m}${c}`}else return{success:!1,message:"无法确定日期格式"}}return await e.put("kv",JSON.stringify(l),`classworks-data-${i}`),{success:!0,message:`${i} 数据已迁移`}}}catch(e){return console.error("本地KV迁移失败:",e),{success:!1,message:e.message}}},async migrateToServerKv(t){var e,l;try{const n=typeof t.value=="string"?JSON.parse(t.value):t.value;if(this.getItemType(t)==="config"){if(n.studentList&&Array.isArray(n.studentList)){const i=n.studentList.map((c,h)=>({id:h+1,name:c})),a={...n};delete a.studentList;const u={"classworks-list-main":i,"classworks-config":a},m=await S.post(`${this.targetServerUrl}/${this.machineId}/_batchimport`,u,{headers:this.getRequestHeaders()});if(m.data&&m.data.successful>0&&(this.migrationResults.push({key:"classworks-config",success:!0,message:"配置已批量迁移到服务器"}),this.migrationStats.success++,m.data.failed>0&&m.data.errors))for(const c of m.data.errors)this.migrationResults.push({key:c.key,success:!1,message:c.error||"配置迁移失败"}),this.migrationStats.failed++}else await S.post(`${this.targetServerUrl}/${this.machineId}/classworks-config`,n,{headers:this.getRequestHeaders()});return{success:!0,message:"配置已迁移到服务器"}}else{const i=this.getItemDate(t);let a;if(i)a=this.formatDateForKv(i);else{const u=t.key.match(/(\d{4})-(\d{2})-(\d{2})/);if(u){const[,m,c,h]=u;a=`${m}${c}${h}`}else return{success:!1,message:"无法确定日期格式"}}return await S.post(`${this.targetServerUrl}/${this.machineId}/classworks-data-${a}`,n,{headers:this.getRequestHeaders()}),{success:!0,message:`${a} 数据已迁移到服务器`}}}catch(n){return console.error("服务器KV迁移失败:",n),{success:!1,message:((l=(e=n.response)==null?void 0:e.data)==null?void 0:l.message)||n.message}}},async batchMigrateToServerKv(t){var e,l;try{const n=t.filter(a=>this.getItemType(a)==="config"),s=t.filter(a=>this.getItemType(a)==="homework");if(n.length>0){const a=n[0],u=typeof a.value=="string"?JSON.parse(a.value):a.value;if(u.studentList&&Array.isArray(u.studentList)){const m=u.studentList.map((y,k)=>({id:k+1,name:y})),c={...u};delete c.studentList;const h={"classworks-list-main":m,"classworks-config":c},p=await S.post(`${this.targetServerUrl}/${this.machineId}/_batchimport`,h,{headers:this.getRequestHeaders()});if(p.data&&p.data.successful>0&&(this.migrationResults.push({key:"classworks-config",success:!0,message:"配置已批量迁移到服务器"}),this.migrationStats.success++,p.data.failed>0&&p.data.errors))for(const y of p.data.errors)this.migrationResults.push({key:y.key,success:!1,message:y.error||"配置迁移失败"}),this.migrationStats.failed++}else await S.post(`${this.targetServerUrl}/${this.machineId}/classworks-config`,u,{headers:this.getRequestHeaders()});this.migrationResults.push({key:a.key,success:!0,message:"配置已迁移到服务器"}),this.migrationStats.success++}const i=100;for(let a=0;a0){const c=await S.post(`${this.targetServerUrl}/${this.machineId}/_batchimport`,m,{headers:this.getRequestHeaders()});if(c.data&&(c.data.successful>0&&(this.migrationResults.push({key:`批量数据 (${Object.keys(m).length}项)`,success:!0,message:`成功迁移 ${c.data.successful} 项数据到服务器`}),this.migrationStats.success+=c.data.successful),c.data.failed>0&&c.data.errors))for(const h of c.data.errors)this.migrationResults.push({key:h.key,success:!1,message:h.error||"迁移失败"}),this.migrationStats.failed+=c.data.failed}}return{success:!0}}catch(n){return console.error("批量迁移到服务器失败:",n),{success:!1,message:((l=(e=n.response)==null?void 0:e.data)==null?void 0:l.message)||n.message}}},async startMigration(){if(!this.canMigrate){this.$emit("message",{text:"无法开始迁移,请检查配置",type:"error"});return}this.migrating=!0,this.migrationResults=[],this.migrationStats={total:this.displayItems.length,success:0,failed:0};try{if(this.targetStorage==="kv-local"){const t=this.displayItems.filter(l=>this.getItemType(l)==="config"),e=this.displayItems.filter(l=>this.getItemType(l)==="homework");for(const l of t)await this.migrateItem(l);for(const l of e)await this.migrateItem(l)}else await this.batchMigrateToServerKv(this.displayItems);this.migrationSuccess=this.migrationStats.failed===0,this.showResult=!0,O("server.provider",this.targetStorage),this.targetStorage==="kv-server"&&O("server.domain",this.targetServerUrl)}catch(t){console.error("迁移过程出错:",t),this.migrationSuccess=!1,this.migrationError=t.message,this.showResult=!0}finally{this.migrating=!1}},async migrateItem(t){try{let e;this.targetStorage==="kv-local"?e=await this.migrateToLocalKv(t):e=await this.migrateToServerKv(t),this.migrationResults.push({key:t.key,success:e.success,message:e.message}),e.success?this.migrationStats.success++:this.migrationStats.failed++}catch(e){console.error(`迁移 ${t.key} 失败:`,e),this.migrationResults.push({key:t.key,success:!1,message:e.message}),this.migrationStats.failed++}}}},Re={key:0,class:"mt-4"},Ke={class:"d-flex align-center mt-4"},Me={key:0,class:"mt-4"},Ne={class:"d-flex justify-end mb-6"},Ue={key:1};function _e(t,e,l,n,s,i){return v(),K("div",null,[r(x,{class:"mb-6"},{default:o(()=>[r(M,null,{default:o(()=>[...e[11]||(e[11]=[d("迁移设置",-1)])]),_:1}),r(I,null,{default:o(()=>[r(j,null,{default:o(()=>[r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.classNumber,"onUpdate:modelValue":e[0]||(e[0]=a=>s.classNumber=a),label:"班级编号",hint:"请输入需要迁移的班级编号","persistent-hint":"","prepend-icon":"mdi-account-group"},null,8,["modelValue"])]),_:1}),r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.machineId,"onUpdate:modelValue":e[1]||(e[1]=a=>s.machineId=a),label:"设备标识 (UUID)",hint:"系统已自动填充设备标识,通常无需修改","persistent-hint":"","prepend-icon":"mdi-identifier",readonly:""},null,8,["modelValue"])]),_:1})]),_:1}),r(q,{modelValue:s.migrationType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.migrationType=a),class:"mt-2"},{default:o(()=>[r(L,{value:"local",label:"本地数据迁移"}),r(L,{value:"server",label:"服务器数据迁移"})]),_:1},8,["modelValue"]),s.migrationType==="server"?(v(),K("div",Re,[r(V,{modelValue:s.serverUrl,"onUpdate:modelValue":e[3]||(e[3]=a=>s.serverUrl=a),label:"服务器地址",hint:"输入服务器域名,例如:https://example.com","persistent-hint":"","prepend-icon":"mdi-server"},null,8,["modelValue"]),r(U,{density:"compact",type:"info",variant:"outlined",class:"mt-2"},{default:o(()=>[...e[12]||(e[12]=[d(" 服务器接口格式:",-1),g("br",null,null,-1),d(" - 配置接口:域名/班号/config",-1),g("br",null,null,-1),d(" - 作业数据接口:域名/班号/homework?date=YYYY-MM-DD ",-1)])]),_:1}),g("div",Ke,[r(T,{color:"warning",class:"mr-2"},{default:o(()=>[...e[13]||(e[13]=[d("mdi-calendar-range",-1)])]),_:1}),e[14]||(e[14]=g("span",{class:"text-subtitle-1"},"选择迁移时间范围:",-1))]),r(j,{class:"mt-1"},{default:o(()=>[r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.startDate,"onUpdate:modelValue":e[4]||(e[4]=a=>s.startDate=a),label:"开始日期",type:"date","prepend-icon":"mdi-calendar-start"},null,8,["modelValue"])]),_:1}),r(N,{cols:"12",md:"6"},{default:o(()=>[r(V,{modelValue:s.endDate,"onUpdate:modelValue":e[5]||(e[5]=a=>s.endDate=a),label:"结束日期",type:"date","prepend-icon":"mdi-calendar-end"},null,8,["modelValue"])]),_:1})]),_:1})])):w("",!0)]),_:1})]),_:1}),r(x,{class:"mb-6"},{default:o(()=>[r(M,{class:"d-flex align-center"},{default:o(()=>[g("span",null,f(s.migrationType==="local"?"本地数据库内容":"服务器数据内容"),1),r(z),r(_,{color:"primary",onClick:e[6]||(e[6]=a=>s.migrationType==="local"?i.scanLocalDatabase():i.previewServerData()),loading:s.loading||s.scanning},{default:o(()=>[d(f(s.migrationType==="local"?"扫描数据":"加载数据"),1)]),_:1},8,["loading"])]),_:1}),r(I,null,{default:o(()=>[i.displayItems.length===0&&!s.loading&&!s.scanning?(v(),D(U,{key:0,type:"info"},{default:o(()=>[d(f(s.migrationType==="local"?'尚未扫描本地数据或未找到可迁移的数据。点击"扫描数据"按钮开始扫描。':'尚未预览服务器数据或未找到可迁移的数据。点击"加载数据"按钮开始查询。'),1)]),_:1})):w("",!0),i.displayItems.length>0?(v(),D(we,{key:1,headers:s.headers,items:i.displayItems,"items-per-page":10,"item-value":"key",class:"elevation-1"},{"item.type":o(({item:a})=>[r(be,{color:i.getItemType(a)==="config"?"primary":"secondary",size:"small"},{default:o(()=>[d(f(i.getItemType(a)==="config"?"配置":"作业数据"),1)]),_:2},1032,["color"])]),"item.date":o(({item:a})=>[d(f(i.formatDate(i.getItemDate(a))),1)]),_:2},1032,["headers","items"])):w("",!0),i.displayItems.length>0?(v(),D(U,{key:2,type:"info",density:"compact",class:"mt-2"},{default:o(()=>[...e[15]||(e[15]=[d(" 系统将迁移表格中显示的所有数据项,迁移前请确认数据完整性。 ",-1)])]),_:1})):w("",!0),s.loading||s.scanning?(v(),D(De,{key:3,type:"table"})):w("",!0)]),_:1})]),_:1}),r(x,{class:"mb-6"},{default:o(()=>[r(M,null,{default:o(()=>[...e[16]||(e[16]=[d("迁移目标",-1)])]),_:1}),r(I,null,{default:o(()=>[r(q,{modelValue:s.targetStorage,"onUpdate:modelValue":e[7]||(e[7]=a=>s.targetStorage=a)},{default:o(()=>[r(L,{value:"kv-local",label:"本地 KV 存储"}),r(L,{value:"kv-server",label:"服务器 KV 存储"})]),_:1},8,["modelValue"]),s.targetStorage==="kv-server"?(v(),K("div",Me,[r(V,{modelValue:s.targetServerUrl,"onUpdate:modelValue":e[8]||(e[8]=a=>s.targetServerUrl=a),label:"目标服务器地址",hint:"输入KV服务器地址,例如:https://example.com/kv-api","persistent-hint":"","prepend-icon":"mdi-server-network"},null,8,["modelValue"])])):w("",!0)]),_:1})]),_:1}),g("div",Ne,[r(_,{color:"success",onClick:i.startMigration,loading:s.migrating,disabled:!i.canMigrate},{default:o(()=>[...e[17]||(e[17]=[d(" 开始迁移 ",-1)])]),_:1},8,["onClick","loading","disabled"])]),r(Q,{modelValue:s.showResult,"onUpdate:modelValue":e[10]||(e[10]=a=>s.showResult=a),"max-width":"600"},{default:o(()=>[r(x,null,{default:o(()=>[r(M,{class:"d-flex align-center"},{default:o(()=>[r(T,{color:s.migrationSuccess?"success":"error",class:"mr-2"},{default:o(()=>[d(f(s.migrationSuccess?"mdi-check-circle":"mdi-alert-circle"),1)]),_:1},8,["color"]),g("span",null,f(s.migrationSuccess?"迁移成功":"迁移失败"),1)]),_:1}),r(I,null,{default:o(()=>[s.migrationError?(v(),D(U,{key:0,type:"error",class:"mb-4"},{default:o(()=>[d(f(s.migrationError),1)]),_:1})):w("",!0),s.migrationSuccess?(v(),K("div",Ue,[g("p",null," 成功迁移 "+f(s.migrationStats.success)+" 项数据到 "+f(s.targetStorage==="kv-local"?"本地":"服务器")+" KV 存储。 ",1),r(ue,{class:"my-4"}),r(ce,null,{default:o(()=>[r(de,null,{default:o(()=>[...e[18]||(e[18]=[d("迁移详情",-1)])]),_:1}),(v(!0),K(E,null,me(s.migrationResults,(a,u)=>(v(),D(ge,{key:u},{default:o(()=>[r(fe,null,{default:o(()=>[d(f(a.key),1)]),_:2},1024),r(he,null,{default:o(()=>[d(f(a.success?"成功":"失败")+" "+f(a.message),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):w("",!0)]),_:1}),r(X,null,{default:o(()=>[r(z),r(_,{color:"primary",onClick:e[9]||(e[9]=a=>s.showResult=!1)},{default:o(()=>[...e[19]||(e[19]=[d(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Z=W(xe,[["render",_e]]),Le={name:"DataMigrationPage",components:{MigrationTool:Z},data(){const t=new Date,e=new Date;return e.setMonth(t.getMonth()-3),{showMigrationDialog:!1,isAutoMigrating:!1,today:t,sixMonthsAgo:e,classNumber:"",serverDomain:"",dataProvider:""}},computed:{dataSourceText(){switch(this.dataProvider){case"server":return"服务器";case"indexeddb":return"本地数据库";case"kv-local":return"本地 KV 存储";case"kv-server":return"远程 KV 存储";case"classworkscloud":return"Classworks 云";default:return"未知来源"}}},async mounted(){this.loadSettings(),this.serverDomain=="https://class.wuyuan.dev"&&(await this.startAutoMigration(),this.$router.push("/"))},methods:{loadSettings(){this.classNumber=b("server.classNumber"),this.serverDomain=b("server.domain"),this.dataProvider=b("server.provider"),this.showMigrationDialog=this.dataProvider==="server"||this.dataProvider==="indexeddb"},formatDate(t){return t.toLocaleDateString()},async startAutoMigration(){if(!this.$refs.migrationTool){console.error("MigrationTool组件引用不可用");return}this.isAutoMigrating=!0;try{const t=this.$refs.migrationTool;t.classNumber=this.classNumber,t.migrationType=this.dataProvider==="server"?"server":"local",t.serverUrl=this.serverDomain,t.targetStorage="kv-server",t.startDate=this.formatDateString(this.sixMonthsAgo),t.endDate=this.formatDateString(this.today),this.dataProvider==="server"?await t.previewServerData():await t.scanLocalDatabase(),t.displayItems.length>0?await t.startMigration():console.warn("没有找到可迁移的数据"),O("server.provider","classworkscloud")}catch(t){console.error("自动迁移失败:",t)}finally{this.isAutoMigrating=!1,this.showMigrationDialog=!1}},formatDateString(t){const e=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}-${l}-${n}`}},metaInfo:{title:"数据迁移工具"}},Ae={class:"d-flex align-center mb-6"},Ce={class:"ml-3 mt-1"};function Pe(t,e,l,n,s,i){const a=Z;return v(),D(Ve,null,{default:o(()=>[r(j,null,{default:o(()=>[r(N,{cols:"12"},{default:o(()=>[g("div",Ae,[r(T,{size:"x-large",color:"primary",class:"mr-3"},{default:o(()=>[...e[2]||(e[2]=[d("mdi-database-sync",-1)])]),_:1}),e[3]||(e[3]=g("div",null,[g("h1",{class:"text-h4"},"数据迁移工具"),g("div",{class:"text-subtitle-1 text-grey"}," 将现有数据迁移至 KV 存储系统 ")],-1))]),r(x,{class:"mb-6",variant:"tonal",color:"info",density:"compact"},{default:o(()=>[r(I,{class:"d-flex align-center"},{default:o(()=>[r(T,{color:"info",class:"mr-2"},{default:o(()=>[...e[4]||(e[4]=[d("mdi-information-outline",-1)])]),_:1}),e[5]||(e[5]=g("span",null,"使用此工具可以将数据从旧存储系统迁移到新的 KV 存储系统,选择本地或云端迁移,以确保数据不会丢失。",-1))]),_:1})]),_:1}),r(a,{ref:"migrationTool"},null,512)]),_:1})]),_:1}),r(Q,{modelValue:s.showMigrationDialog,"onUpdate:modelValue":e[1]||(e[1]=u=>s.showMigrationDialog=u),"max-width":"500",persistent:""},{default:o(()=>[r(x,null,{default:o(()=>[r(M,{class:"text-h5 d-flex align-center"},{default:o(()=>[r(T,{color:"primary",size:"large",class:"mr-3"},{default:o(()=>[...e[6]||(e[6]=[d("mdi-database-sync",-1)])]),_:1}),e[7]||(e[7]=d(" 一键数据迁移 ",-1))]),_:1}),r(I,{class:"mt-4"},{default:o(()=>[e[8]||(e[8]=g("p",null," 系统将自动读取您的配置,并将过去半年的数据迁移至Classworks KV数据库中 ",-1)),r(U,{color:"info",variant:"outlined",density:"compact",class:"mt-4",icon:"mdi-information-outline"},{default:o(()=>[g("ul",Ce,[g("li",null,"数据源: "+f(i.dataSourceText),1),g("li",null,"班级: "+f(s.classNumber),1),g("li",null,"服务器: "+f(s.serverDomain||"本地存储"),1),g("li",null," 迁移范围: "+f(i.formatDate(s.sixMonthsAgo))+" 至 "+f(i.formatDate(s.today)),1)])]),_:1})]),_:1}),r(X,null,{default:o(()=>[r(z),r(_,{color:"grey-darken-1",variant:"text",onClick:e[0]||(e[0]=u=>s.showMigrationDialog=!1)},{default:o(()=>[...e[9]||(e[9]=[d(" 稍后再说 ",-1)])]),_:1}),r(_,{color:"primary",size:"large",variant:"elevated",onClick:i.startAutoMigration,loading:s.isAutoMigrating,disabled:s.isAutoMigrating},{default:o(()=>[r(T,{left:"",class:"mr-2"},{default:o(()=>[...e[10]||(e[10]=[d("mdi-database-export",-1)])]),_:1}),e[11]||(e[11]=d(" 开始一键迁移 ",-1))]),_:1},8,["onClick","loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Ye=W(Le,[["render",Pe]]);export{Ye as default}; diff --git a/assets/VAlert-BGPbp463.js b/assets/VAlert-BGPbp463.js deleted file mode 100644 index ef579a1..0000000 --- a/assets/VAlert-BGPbp463.js +++ /dev/null @@ -1 +0,0 @@ -import{a6 as w,p as P,K as E,g as N,S as R,Y as y,a7 as O,cb as j,aT as H,u as J,a9 as K,aa as W,ab as Y,ac as p,aF as q,J as G,d as l,cc as Q,i as s,n as f,e as S,v as U,E as b,P as k,y as X,bH as Z,ad as ee,m as ae,ae as te,af as le,ag as ne,ah as se,f as oe,aW as ie,h as ce,M as re}from"./index-DmGr2YjE.js";const ue=w("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,o){return{iconSize:E(()=>{const a=new Map(e.iconSizes),t=e.iconSize??o()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:re,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...ce(),...ie(),...oe(),...se(),...de(),...ne(),...le(),...te(),...ae(),...ee(),...Z({variant:"flat"})},"VAlert"),Se=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{emit:r,slots:a}=o;const t=R(e,"modelValue"),i=y(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:V}=O(e),{colorClasses:z,colorStyles:C,variantClasses:x}=j(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=H(e),{dimensionStyles:h}=J(e),{elevationClasses:B}=K(e),{locationStyles:I}=W(e),{positionClasses:T}=Y(e),{roundedClasses:A}=p(e),{textColorClasses:D,textColorStyles:L}=q(()=>e.borderColor),{t:$}=G(),u=y(()=>({"aria-label":$(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),F=!!(a.title||e.title),M=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:S(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},V.value,z.value,_.value,B.value,T.value,A.value,x.value,e.class]),style:f([C.value,h.value,I.value,e.style]),role:"alert"},{default:()=>{var v,m;return[Q(!1,"v-alert"),e.border&&s("div",{key:"border",class:S(["v-alert__border",D.value]),style:f(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(k,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(U,b({key:"prepend-icon"},d),null)]),s("div",{class:"v-alert__content"},[F&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),M&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(k,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(X,b({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{Se as V,ue as a}; diff --git a/assets/VAlert-C_dUaWCb.js b/assets/VAlert-C_dUaWCb.js new file mode 100644 index 0000000..72648ec --- /dev/null +++ b/assets/VAlert-C_dUaWCb.js @@ -0,0 +1 @@ +import{aX as F,p as P,al as M,g as N,aj as R,ao as y,aY as j,cb as O,az as Q,u as X,a_ as Y,aa as p,a$ as q,a6 as G,a8 as H,a7 as J,d as l,cc as K,i as s,n as f,e as b,v as U,E as S,aQ as k,y as W,bI as Z,af as ee,m as ae,ag as te,b0 as le,ah as ne,b1 as se,f as oe,aD as ie,h as ce,ai as re}from"./index-B01HL2YE.js";const ue=F("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,o){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??o()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:re,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...ce(),...ie(),...oe(),...se(),...de(),...ne(),...le(),...te(),...ae(),...ee(),...Z({variant:"flat"})},"VAlert"),be=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{emit:r,slots:a}=o;const t=R(e,"modelValue"),i=y(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:z}=j(e),{colorClasses:V,colorStyles:C,variantClasses:x}=O(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=Q(e),{dimensionStyles:h}=X(e),{elevationClasses:I}=Y(e),{locationStyles:B}=p(e),{positionClasses:A}=q(e),{roundedClasses:T}=G(e),{textColorClasses:D,textColorStyles:$}=H(()=>e.borderColor),{t:L}=J(),u=y(()=>({"aria-label":L(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),w=!!(a.title||e.title),E=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:b(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},z.value,V.value,_.value,I.value,A.value,T.value,x.value,e.class]),style:f([C.value,h.value,B.value,e.style]),role:"alert"},{default:()=>{var v,m;return[K(!1,"v-alert"),e.border&&s("div",{key:"border",class:b(["v-alert__border",D.value]),style:f($.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(k,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(U,S({key:"prepend-icon"},d),null)]),s("div",{class:"v-alert__content"},[w&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),E&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(k,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(W,S({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a}; diff --git a/assets/VAppBarTitle-CQLnBe80.js b/assets/VAppBarTitle-CQLnBe80.js new file mode 100644 index 0000000..8d65385 --- /dev/null +++ b/assets/VAppBarTitle-CQLnBe80.js @@ -0,0 +1 @@ +import{g as p,p as C,c as _,d as m,i as V,n as R,e as A,m as L,h as U,a5 as O,aZ as Y,a_ as j,a6 as Q,aY as W,b3 as Z,ap as T,al as c,aB as $,a3 as G,aQ as I,aC as H,aO as J,af as K,ag as X,b1 as ee,b2 as ae,an as z,bm as te,aq as P,aL as le,bi as oe,aj as ne,ao as w,bk as se,aU as re,b as ue,bp as ie,E as D,br as ce}from"./index-B01HL2YE.js";const M=C({text:String,...U(),...L()},"VToolbarTitle"),q=p()({name:"VToolbarTitle",props:M(),setup(e,g){let{slots:a}=g;return _(()=>{const d=!!(a.default||a.text||e.text);return m(e.tag,{class:A(["v-toolbar-title",e.class]),style:R(e.style)},{default:()=>{var n;return[d&&V("div",{class:"v-toolbar-title__placeholder"},[a.text?a.text():e.text,(n=a.default)==null?void 0:n.call(a)])]}})}),{}}}),de=[null,"prominent","default","comfortable","compact"],F=C({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>de.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...ae(),...U(),...ee(),...X(),...L({tag:"header"}),...K()},"VToolbar"),N=p()({name:"VToolbar",props:F(),setup(e,g){var h;let{slots:a}=g;const{backgroundColorClasses:d,backgroundColorStyles:n}=O(()=>e.color),{borderClasses:t}=Y(e),{elevationClasses:u}=j(e),{roundedClasses:s}=Q(e),{themeClasses:f}=W(e),{rtlClasses:x}=Z(),r=T(e.extended===null?!!((h=a.extension)!=null&&h.call(a)):e.extended),i=c(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),y=c(()=>r.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return $({VBtn:{variant:"text"}}),_(()=>{var k;const o=!!(e.title||a.title),v=!!(a.image||e.image),S=(k=a.extension)==null?void 0:k.call(a);return r.value=e.extended===null?!!S:e.extended,m(e.tag,{class:A(["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},d.value,t.value,u.value,s.value,f.value,x.value,e.class]),style:R([n.value,e.style])},{default:()=>[v&&V("div",{key:"image",class:"v-toolbar__image"},[a.image?m(I,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},a.image):m(G,{key:"image-img",cover:!0,src:e.image},null)]),m(I,{defaults:{VTabs:{height:H(i.value)}}},{default:()=>{var l,b,B;return[V("div",{class:"v-toolbar__content",style:{height:H(i.value)}},[a.prepend&&V("div",{class:"v-toolbar__prepend"},[(l=a.prepend)==null?void 0:l.call(a)]),o&&m(q,{key:"title",text:e.title},{text:a.title}),(b=a.default)==null?void 0:b.call(a),a.append&&V("div",{class:"v-toolbar__append"},[(B=a.append)==null?void 0:B.call(a)])])]}}),m(I,{defaults:{VTabs:{height:H(y.value)}}},{default:()=>[m(J,null,{default:()=>[r.value&&V("div",{class:"v-toolbar__extension",style:{height:H(y.value)}},[S])]})]})]})}),{contentHeight:i,extensionHeight:y}}}),ve=C({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function me(e){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:a}=g;let d=0,n=0;const t=z(null),u=T(0),s=T(0),f=T(0),x=T(!1),r=T(!1),i=c(()=>Number(e.scrollThreshold)),y=c(()=>te((i.value-u.value)/i.value||0)),h=()=>{const o=t.value;if(!o||a&&!a.value)return;d=u.value,u.value="window"in o?o.pageYOffset:o.scrollTop;const v=o instanceof Window?document.documentElement.scrollHeight:o.scrollHeight;if(n!==v){n=v;return}r.value=u.value{s.value=s.value||u.value}),P(x,()=>{s.value=0}),le(()=>{P(()=>e.scrollTarget,o=>{var S;const v=o?document.querySelector(o):window;v&&v!==t.value&&((S=t.value)==null||S.removeEventListener("scroll",h),t.value=v,t.value.addEventListener("scroll",h,{passive:!0}))},{immediate:!0})}),oe(()=>{var o;(o=t.value)==null||o.removeEventListener("scroll",h)}),a&&P(a,h,{immediate:!0}),{scrollThreshold:i,currentScroll:u,currentThreshold:f,isScrollActive:x,scrollRatio:y,isScrollingUp:r,savedScroll:s}}const ge=C({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...F(),...ce(),...ve(),height:{type:[Number,String],default:64}},"VAppBar"),fe=p()({name:"VAppBar",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,g){let{slots:a}=g;const d=z(),n=ne(e,"modelValue"),t=c(()=>{var b;const l=new Set(((b=e.scrollBehavior)==null?void 0:b.split(" "))??[]);return{hide:l.has("hide"),fullyHide:l.has("fully-hide"),inverted:l.has("inverted"),collapse:l.has("collapse"),elevate:l.has("elevate"),fadeImage:l.has("fade-image")}}),u=c(()=>{const l=t.value;return l.hide||l.fullyHide||l.inverted||l.collapse||l.elevate||l.fadeImage||!n.value}),{currentScroll:s,scrollThreshold:f,isScrollingUp:x,scrollRatio:r}=me(e,{canScroll:u}),i=w(()=>t.value.hide||t.value.fullyHide),y=c(()=>e.collapse||t.value.collapse&&(t.value.inverted?r.value>0:r.value===0)),h=c(()=>e.flat||t.value.fullyHide&&!n.value||t.value.elevate&&(t.value.inverted?s.value>0:s.value===0)),o=c(()=>t.value.fadeImage?t.value.inverted?1-r.value:r.value:void 0),v=c(()=>{var B,E;if(t.value.hide&&t.value.inverted)return 0;const l=((B=d.value)==null?void 0:B.contentHeight)??0,b=((E=d.value)==null?void 0:E.extensionHeight)??0;return i.value?s.value!!e.scrollBehavior,()=>{re(()=>{i.value?t.value.inverted?n.value=s.value>f.value:n.value=x.value||s.valueparseInt(e.order,10)),position:w(()=>e.location),layoutSize:v,elementSize:T(void 0),active:n,absolute:w(()=>e.absolute)});return _(()=>{const l=N.filterProps(e);return m(N,D({ref:d,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...k.value,"--v-toolbar-image-opacity":o.value,height:void 0,...S.value},e.style]},l,{collapse:y.value,flat:h.value}),a)}),{}}}),be=p()({name:"VAppBarTitle",props:M(),setup(e,g){let{slots:a}=g;return _(()=>m(q,D(e,{class:"v-app-bar-title"}),a)),{}}});export{be as V,fe as a,N as b,q as c}; diff --git a/assets/VAppBarTitle-caQbgffg.js b/assets/VAppBarTitle-caQbgffg.js deleted file mode 100644 index b73b814..0000000 --- a/assets/VAppBarTitle-caQbgffg.js +++ /dev/null @@ -1 +0,0 @@ -import{g as C,p,c as I,d as m,i as V,n as R,e as A,m as L,h as z,N as F,a8 as W,a9 as Y,ac as K,a7 as O,aj as X,X as T,K as c,aV as Z,aD as $,P as N,L as H,be as G,ad as J,ae as Q,ah as ee,ai as te,W as D,bl as ae,Z as P,b7 as le,bh as oe,S as ne,Y as _,bj as se,a2 as re,b as ue,bo as ie,E as U,bq as ce}from"./index-DmGr2YjE.js";const M=p({text:String,...z(),...L()},"VToolbarTitle"),j=C()({name:"VToolbarTitle",props:M(),setup(e,g){let{slots:t}=g;return I(()=>{const d=!!(t.default||t.text||e.text);return m(e.tag,{class:A(["v-toolbar-title",e.class]),style:R(e.style)},{default:()=>{var n;return[d&&V("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),de=[null,"prominent","default","comfortable","compact"],q=p({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>de.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...te(),...z(),...ee(),...Q(),...L({tag:"header"}),...J()},"VToolbar"),E=C()({name:"VToolbar",props:q(),setup(e,g){var h;let{slots:t}=g;const{backgroundColorClasses:d,backgroundColorStyles:n}=F(()=>e.color),{borderClasses:a}=W(e),{elevationClasses:u}=Y(e),{roundedClasses:s}=K(e),{themeClasses:f}=O(e),{rtlClasses:x}=X(),r=T(e.extended===null?!!((h=t.extension)!=null&&h.call(t)):e.extended),i=c(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),y=c(()=>r.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return Z({VBtn:{variant:"text"}}),I(()=>{var k;const o=!!(e.title||t.title),v=!!(t.image||e.image),S=(k=t.extension)==null?void 0:k.call(t);return r.value=e.extended===null?!!S:e.extended,m(e.tag,{class:A(["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},d.value,a.value,u.value,s.value,f.value,x.value,e.class]),style:R([n.value,e.style])},{default:()=>[v&&V("div",{key:"image",class:"v-toolbar__image"},[t.image?m(N,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):m($,{key:"image-img",cover:!0,src:e.image},null)]),m(N,{defaults:{VTabs:{height:H(i.value)}}},{default:()=>{var l,b,B;return[V("div",{class:"v-toolbar__content",style:{height:H(i.value)}},[t.prepend&&V("div",{class:"v-toolbar__prepend"},[(l=t.prepend)==null?void 0:l.call(t)]),o&&m(j,{key:"title",text:e.title},{text:t.title}),(b=t.default)==null?void 0:b.call(t),t.append&&V("div",{class:"v-toolbar__append"},[(B=t.append)==null?void 0:B.call(t)])])]}}),m(N,{defaults:{VTabs:{height:H(y.value)}}},{default:()=>[m(G,null,{default:()=>[r.value&&V("div",{class:"v-toolbar__extension",style:{height:H(y.value)}},[S])]})]})]})}),{contentHeight:i,extensionHeight:y}}}),ve=p({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function me(e){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:t}=g;let d=0,n=0;const a=D(null),u=T(0),s=T(0),f=T(0),x=T(!1),r=T(!1),i=c(()=>Number(e.scrollThreshold)),y=c(()=>ae((i.value-u.value)/i.value||0)),h=()=>{const o=a.value;if(!o||t&&!t.value)return;d=u.value,u.value="window"in o?o.pageYOffset:o.scrollTop;const v=o instanceof Window?document.documentElement.scrollHeight:o.scrollHeight;if(n!==v){n=v;return}r.value=u.value{s.value=s.value||u.value}),P(x,()=>{s.value=0}),le(()=>{P(()=>e.scrollTarget,o=>{var S;const v=o?document.querySelector(o):window;v&&v!==a.value&&((S=a.value)==null||S.removeEventListener("scroll",h),a.value=v,a.value.addEventListener("scroll",h,{passive:!0}))},{immediate:!0})}),oe(()=>{var o;(o=a.value)==null||o.removeEventListener("scroll",h)}),t&&P(t,h,{immediate:!0}),{scrollThreshold:i,currentScroll:u,currentThreshold:f,isScrollActive:x,scrollRatio:y,isScrollingUp:r,savedScroll:s}}const ge=p({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...q(),...ce(),...ve(),height:{type:[Number,String],default:64}},"VAppBar"),fe=C()({name:"VAppBar",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,g){let{slots:t}=g;const d=D(),n=ne(e,"modelValue"),a=c(()=>{var b;const l=new Set(((b=e.scrollBehavior)==null?void 0:b.split(" "))??[]);return{hide:l.has("hide"),fullyHide:l.has("fully-hide"),inverted:l.has("inverted"),collapse:l.has("collapse"),elevate:l.has("elevate"),fadeImage:l.has("fade-image")}}),u=c(()=>{const l=a.value;return l.hide||l.fullyHide||l.inverted||l.collapse||l.elevate||l.fadeImage||!n.value}),{currentScroll:s,scrollThreshold:f,isScrollingUp:x,scrollRatio:r}=me(e,{canScroll:u}),i=_(()=>a.value.hide||a.value.fullyHide),y=c(()=>e.collapse||a.value.collapse&&(a.value.inverted?r.value>0:r.value===0)),h=c(()=>e.flat||a.value.fullyHide&&!n.value||a.value.elevate&&(a.value.inverted?s.value>0:s.value===0)),o=c(()=>a.value.fadeImage?a.value.inverted?1-r.value:r.value:void 0),v=c(()=>{var B,w;if(a.value.hide&&a.value.inverted)return 0;const l=((B=d.value)==null?void 0:B.contentHeight)??0,b=((w=d.value)==null?void 0:w.extensionHeight)??0;return i.value?s.value!!e.scrollBehavior,()=>{re(()=>{i.value?a.value.inverted?n.value=s.value>f.value:n.value=x.value||s.valueparseInt(e.order,10)),position:_(()=>e.location),layoutSize:v,elementSize:T(void 0),active:n,absolute:_(()=>e.absolute)});return I(()=>{const l=E.filterProps(e);return m(E,U({ref:d,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...k.value,"--v-toolbar-image-opacity":o.value,height:void 0,...S.value},e.style]},l,{collapse:y.value,flat:h.value}),t)}),{}}}),be=C()({name:"VAppBarTitle",props:M(),setup(e,g){let{slots:t}=g;return I(()=>m(j,U(e,{class:"v-app-bar-title"}),t)),{}}});export{be as V,fe as a,E as b,j as c}; diff --git a/assets/VCheckboxBtn-DzDw8U-d.js b/assets/VCheckboxBtn-DzDw8U-d.js new file mode 100644 index 0000000..99facea --- /dev/null +++ b/assets/VCheckboxBtn-DzDw8U-d.js @@ -0,0 +1 @@ +import{g as G,p as I,aj as g,aG as N,ao as t,aB as X,c as w,i as y,n as O,e as B,af as Y,aD as Z,h as L,bQ as p,ai as P,bA as ee,bl as le,R as j,ap as z,an as ae,ar as te,E as A,d as F,K as ne,F as oe,v as ue,bv as ie,az as re,al as C,ak as x,a8 as ce,a5 as se,at as de,bV as ve,av as fe}from"./index-B01HL2YE.js";import{e as me}from"./VTextField-DDMIr0_j.js";const M=Symbol.for("vuetify:selection-control-group"),q=I({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:P,trueIcon:P,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:p},...L(),...Z(),...Y()},"SelectionControlGroup"),be=I({...q({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),Se=G()({name:"VSelectionControlGroup",props:be(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:r}=u;const l=g(e,"modelValue"),n=N(),s=t(()=>e.id||`v-selection-control-group-${n}`),i=t(()=>e.name||s.value),a=new Set;return ee(M,{modelValue:l,forceUpdate:()=>{a.forEach(o=>o())},onForceUpdate:o=>{a.add(o),le(()=>{a.delete(o)})}}),X({[e.defaultsTarget]:{color:t(()=>e.color),disabled:t(()=>e.disabled),density:t(()=>e.density),error:t(()=>e.error),inline:t(()=>e.inline),modelValue:l,multiple:t(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:i,falseIcon:t(()=>e.falseIcon),trueIcon:t(()=>e.trueIcon),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),type:t(()=>e.type),valueComparator:t(()=>e.valueComparator)}}),w(()=>{var o;return y("div",{class:B(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:O(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=r.default)==null?void 0:o.call(r)])}),{}}}),H=I({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...L(),...q()},"VSelectionControl");function ye(e){const u=ie(M,void 0),{densityClasses:r}=re(e),l=g(e,"modelValue"),n=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),s=C(()=>e.falseValue!==void 0?e.falseValue:!1),i=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),a=C({get(){const f=u?u.modelValue.value:l.value;return i.value?x(f).some(c=>e.valueComparator(c,n.value)):e.valueComparator(f,n.value)},set(f){if(e.readonly)return;const c=f?n.value:s.value;let m=c;i.value&&(m=f?[...x(l.value),c]:x(l.value).filter(d=>!e.valueComparator(d,n.value))),u?u.modelValue.value=m:l.value=m}}),{textColorClasses:o,textColorStyles:b}=ce(()=>{if(!(e.error||e.disabled))return a.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:k}=se(()=>a.value&&!e.error&&!e.disabled?e.color:e.baseColor),h=C(()=>a.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:r,trueValue:n,falseValue:s,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,icon:h}}const E=G()({name:"VSelectionControl",directives:{vRipple:j},inheritAttrs:!1,props:H(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:r,slots:l}=u;const{group:n,densityClasses:s,icon:i,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,trueValue:h}=ye(e),f=N(),c=z(!1),m=z(!1),d=ae(),S=t(()=>e.id||`input-${f}`),D=t(()=>!e.disabled&&!e.readonly);n==null||n.onForceUpdate(()=>{d.value&&(d.value.checked=a.value)});function R(v){D.value&&(c.value=!0,ve(v.target,":focus-visible")!==!1&&(m.value=!0))}function T(){c.value=!1,m.value=!1}function K(v){v.stopPropagation()}function Q(v){if(!D.value){d.value&&(d.value.checked=a.value);return}e.readonly&&n&&de(()=>n.forceUpdate()),a.value=v.target.checked}return w(()=>{var $,_;const v=l.label?l.label({label:e.label,props:{for:S.value}}):e.label,[J,W]=te(r),U=y("input",A({ref:d,checked:a.value,disabled:!!e.disabled,id:S.value,onBlur:T,onFocus:R,onInput:Q,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:h.value,name:e.name,"aria-checked":e.type==="checkbox"?a.value:void 0},W),null);return y("div",A({class:["v-selection-control",{"v-selection-control--dirty":a.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":c.value,"v-selection-control--focus-visible":m.value,"v-selection-control--inline":e.inline},s.value,e.class]},J,{style:e.style}),[y("div",{class:B(["v-selection-control__wrapper",o.value]),style:O(b.value)},[($=l.default)==null?void 0:$.call(l,{backgroundColorClasses:V,backgroundColorStyles:k}),ne(y("div",{class:B(["v-selection-control__input"])},[((_=l.input)==null?void 0:_.call(l,{model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,inputNode:U,icon:i.value,props:{onFocus:R,onBlur:T,id:S.value}}))??y(oe,null,[i.value&&F(ue,{key:"icon",icon:i.value},null),U])]),[[j,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&F(me,{for:S.value,onClick:K},{default:()=>[v]})])}),{isFocused:c,input:d}}}),Ce=I({indeterminate:Boolean,indeterminateIcon:{type:P,default:"$checkboxIndeterminate"},...H({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),ge=G()({name:"VCheckboxBtn",props:Ce(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,u){let{slots:r}=u;const l=g(e,"indeterminate"),n=g(e,"modelValue");function s(o){l.value&&(l.value=!1)}const i=t(()=>l.value?e.indeterminateIcon:e.falseIcon),a=t(()=>l.value?e.indeterminateIcon:e.trueIcon);return w(()=>{const o=fe(E.filterProps(e),["modelValue"]);return F(E,A(o,{modelValue:n.value,"onUpdate:modelValue":[b=>n.value=b,s],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:a.value,"aria-checked":l.value?"mixed":void 0}),r)}),{}}});export{E as V,Se as a,q as b,ge as c,Ce as d,H as m}; diff --git a/assets/VCheckboxBtn-vttsGEHT.js b/assets/VCheckboxBtn-vttsGEHT.js deleted file mode 100644 index aabc0b8..0000000 --- a/assets/VCheckboxBtn-vttsGEHT.js +++ /dev/null @@ -1 +0,0 @@ -import{g as G,p as I,S as g,aK as E,Y as t,aV as Y,c as T,i as y,n as L,e as B,ad as J,aW as Z,h as M,bQ as p,M as P,bz as ee,bk as le,am as O,X as _,W as ae,aL as te,E as F,d as A,a5 as ne,F as oe,v as ue,bu as ie,aT as re,K as C,U as x,aF as ce,N as se,aO as de,bV as ve,$ as fe}from"./index-DmGr2YjE.js";import{e as me}from"./VTextField-C4kOar5O.js";const j=Symbol.for("vuetify:selection-control-group"),K=I({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:P,trueIcon:P,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:p},...M(),...Z(),...J()},"SelectionControlGroup"),be=I({...K({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),Se=G()({name:"VSelectionControlGroup",props:be(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:r}=u;const l=g(e,"modelValue"),n=E(),s=t(()=>e.id||`v-selection-control-group-${n}`),i=t(()=>e.name||s.value),a=new Set;return ee(j,{modelValue:l,forceUpdate:()=>{a.forEach(o=>o())},onForceUpdate:o=>{a.add(o),le(()=>{a.delete(o)})}}),Y({[e.defaultsTarget]:{color:t(()=>e.color),disabled:t(()=>e.disabled),density:t(()=>e.density),error:t(()=>e.error),inline:t(()=>e.inline),modelValue:l,multiple:t(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:i,falseIcon:t(()=>e.falseIcon),trueIcon:t(()=>e.trueIcon),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),type:t(()=>e.type),valueComparator:t(()=>e.valueComparator)}}),T(()=>{var o;return y("div",{class:B(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:L(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=r.default)==null?void 0:o.call(r)])}),{}}}),W=I({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...M(),...K()},"VSelectionControl");function ye(e){const u=ie(j,void 0),{densityClasses:r}=re(e),l=g(e,"modelValue"),n=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),s=C(()=>e.falseValue!==void 0?e.falseValue:!1),i=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),a=C({get(){const f=u?u.modelValue.value:l.value;return i.value?x(f).some(c=>e.valueComparator(c,n.value)):e.valueComparator(f,n.value)},set(f){if(e.readonly)return;const c=f?n.value:s.value;let m=c;i.value&&(m=f?[...x(l.value),c]:x(l.value).filter(d=>!e.valueComparator(d,n.value))),u?u.modelValue.value=m:l.value=m}}),{textColorClasses:o,textColorStyles:b}=ce(()=>{if(!(e.error||e.disabled))return a.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:k}=se(()=>a.value&&!e.error&&!e.disabled?e.color:e.baseColor),h=C(()=>a.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:r,trueValue:n,falseValue:s,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,icon:h}}const z=G()({name:"VSelectionControl",directives:{vRipple:O},inheritAttrs:!1,props:W(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:r,slots:l}=u;const{group:n,densityClasses:s,icon:i,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,trueValue:h}=ye(e),f=E(),c=_(!1),m=_(!1),d=ae(),S=t(()=>e.id||`input-${f}`),w=t(()=>!e.disabled&&!e.readonly);n==null||n.onForceUpdate(()=>{d.value&&(d.value.checked=a.value)});function U(v){w.value&&(c.value=!0,ve(v.target,":focus-visible")!==!1&&(m.value=!0))}function $(){c.value=!1,m.value=!1}function q(v){v.stopPropagation()}function H(v){if(!w.value){d.value&&(d.value.checked=a.value);return}e.readonly&&n&&de(()=>n.forceUpdate()),a.value=v.target.checked}return T(()=>{var R,N;const v=l.label?l.label({label:e.label,props:{for:S.value}}):e.label,[Q,X]=te(r),D=y("input",F({ref:d,checked:a.value,disabled:!!e.disabled,id:S.value,onBlur:$,onFocus:U,onInput:H,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:h.value,name:e.name,"aria-checked":e.type==="checkbox"?a.value:void 0},X),null);return y("div",F({class:["v-selection-control",{"v-selection-control--dirty":a.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":c.value,"v-selection-control--focus-visible":m.value,"v-selection-control--inline":e.inline},s.value,e.class]},Q,{style:e.style}),[y("div",{class:B(["v-selection-control__wrapper",o.value]),style:L(b.value)},[(R=l.default)==null?void 0:R.call(l,{backgroundColorClasses:V,backgroundColorStyles:k}),ne(y("div",{class:B(["v-selection-control__input"])},[((N=l.input)==null?void 0:N.call(l,{model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,inputNode:D,icon:i.value,props:{onFocus:U,onBlur:$,id:S.value}}))??y(oe,null,[i.value&&A(ue,{key:"icon",icon:i.value},null),D])]),[[O,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&A(me,{for:S.value,onClick:q},{default:()=>[v]})])}),{isFocused:c,input:d}}}),Ce=I({indeterminate:Boolean,indeterminateIcon:{type:P,default:"$checkboxIndeterminate"},...W({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),ge=G()({name:"VCheckboxBtn",props:Ce(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,u){let{slots:r}=u;const l=g(e,"indeterminate"),n=g(e,"modelValue");function s(o){l.value&&(l.value=!1)}const i=t(()=>l.value?e.indeterminateIcon:e.falseIcon),a=t(()=>l.value?e.indeterminateIcon:e.trueIcon);return T(()=>{const o=fe(z.filterProps(e),["modelValue"]);return A(z,F(o,{modelValue:n.value,"onUpdate:modelValue":[b=>n.value=b,s],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:a.value,"aria-checked":l.value?"mixed":void 0}),r)}),{}}});export{ge as V,z as a,W as b,Se as c,K as d,Ce as m}; diff --git a/assets/VChip-Cb9zLh7n.js b/assets/VChip-Cb9zLh7n.js deleted file mode 100644 index 94fa5d5..0000000 --- a/assets/VChip-Cb9zLh7n.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ee,p as le,aj as Ie,aB as Ve,bA as he,X as B,K as S,bG as ne,ci as Pe,bM as se,Z as ze,c as pe,d as f,i as m,ak as ie,v as A,e as D,n as Ae,bC as be,m as te,br as we,h as ae,M as w,c7 as Ee,a7 as ye,aV as Re,Y as P,E as Z,bH as me,ad as ke,bQ as _e,am as oe,J as Te,a8 as Be,aT as Fe,a9 as Ge,ac as Me,cj as Oe,S as De,bx as We,ck as Le,cb as He,a5 as ce,cc as $e,cl as Ke,P as W,aI as Ne,F as ue,at as re,C as qe,bI as je,cm as Qe,ae as Ue,by as Xe,ah as Je,aW as Ye,ai as Ze,Q as de}from"./index-DmGr2YjE.js";function el(e){let{selectedElement:s,containerElement:a,isRtl:u,isHorizontal:i}=e;const b=F(i,a),c=ge(i,u,a),y=F(i,s),h=Se(i,s),k=y*.4;return c>h?h-k:c+btypeof e=="boolean"||["always","desktop","mobile"].includes(e)},...ae(),...we({mobile:null}),...te(),...be({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),fe=ee()({name:"VSlideGroup",props:Ce(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:a}=s;const{isRtl:u}=Ie(),{displayClasses:i,mobile:b}=Ve(e),c=he(e,e.symbol),y=B(!1),h=B(0),k=B(0),x=B(0),d=S(()=>e.direction==="horizontal"),{resizeRef:v,contentRect:n}=ne(),{resizeRef:r,contentRect:E}=ne(),g=Pe(),G=S(()=>({container:v.el,duration:200,easing:"easeOutQuart"})),L=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[0]):-1),H=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[c.selected.value.length-1]):-1);if(se){let t=-1;ze(()=>[c.selected.value,n.value,E.value,d.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(n.value&&E.value){const l=d.value?"width":"height";k.value=n.value[l],x.value=E.value[l],y.value=k.value+1=0&&r.el){const l=r.el.children[H.value];R(l,e.centerActive)}})})}const z=B(!1);function R(t,l){let o=0;l?o=ll({containerElement:v.el,isHorizontal:d.value,selectedElement:t}):o=el({containerElement:v.el,isHorizontal:d.value,isRtl:u.value,selectedElement:t}),M(o)}function M(t){if(!se||!v.el)return;const l=F(d.value,v.el),o=ge(d.value,u.value,v.el);if(!(ve(d.value,v.el)<=l||Math.abs(t-o)<16)){if(d.value&&u.value&&v.el){const{scrollWidth:J,offsetWidth:Y}=v.el;t=J-Y-t}d.value?g.horizontal(t,G.value):g(t,G.value)}}function p(t){const{scrollTop:l,scrollLeft:o}=t.target;h.value=d.value?o:l}function I(t){if(z.value=!0,!(!y.value||!r.el)){for(const l of t.composedPath())for(const o of r.el.children)if(o===l){R(o);return}}}function $(t){z.value=!1}let _=!1;function O(t){var l;!_&&!z.value&&!(t.relatedTarget&&((l=r.el)!=null&&l.contains(t.relatedTarget)))&&C(),_=!1}function T(){_=!0}function K(t){if(!r.el)return;function l(o){t.preventDefault(),C(o)}d.value?t.key==="ArrowRight"?l(u.value?"prev":"next"):t.key==="ArrowLeft"&&l(u.value?"next":"prev"):t.key==="ArrowDown"?l("next"):t.key==="ArrowUp"&&l("prev"),t.key==="Home"?l("first"):t.key==="End"&&l("last")}function V(t,l){if(!t)return;let o=t;do o=o==null?void 0:o[l==="next"?"nextElementSibling":"previousElementSibling"];while(o!=null&&o.hasAttribute("disabled"));return o}function C(t){if(!r.el)return;let l;if(!t)l=Ee(r.el)[0];else if(t==="next"){if(l=V(r.el.querySelector(":focus"),t),!l)return C("first")}else if(t==="prev"){if(l=V(r.el.querySelector(":focus"),t),!l)return C("last")}else t==="first"?(l=r.el.firstElementChild,l!=null&&l.hasAttribute("disabled")&&(l=V(l,"next"))):t==="last"&&(l=r.el.lastElementChild,l!=null&&l.hasAttribute("disabled")&&(l=V(l,"prev")));l&&l.focus({preventScroll:!0})}function N(t){const l=d.value&&u.value?-1:1,o=(t==="prev"?-l:l)*k.value;let X=h.value+o;if(d.value&&u.value&&v.el){const{scrollWidth:J,offsetWidth:Y}=v.el;X+=J-Y}M(X)}const q=S(()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected})),j=S(()=>{switch(e.showArrows){case"always":return!0;case"desktop":return!b.value;case!0:return y.value||Math.abs(h.value)>0;case"mobile":return b.value||y.value||Math.abs(h.value)>0;default:return!b.value&&(y.value||Math.abs(h.value)>0)}}),Q=S(()=>Math.abs(h.value)>1),U=S(()=>{if(!v.value)return!1;const t=ve(d.value,v.el),l=tl(d.value,v.el);return t-l-Math.abs(h.value)>1});return pe(()=>f(e.tag,{class:D(["v-slide-group",{"v-slide-group--vertical":!d.value,"v-slide-group--has-affixes":j.value,"v-slide-group--is-overflowing":y.value},i.value,e.class]),style:Ae(e.style),tabindex:z.value||c.selected.value.length?-1:0,onFocus:O},{default:()=>{var t,l,o;return[j.value&&m("div",{key:"prev",class:D(["v-slide-group__prev",{"v-slide-group__prev--disabled":!Q.value}]),onMousedown:T,onClick:()=>Q.value&&N("prev")},[((t=a.prev)==null?void 0:t.call(a,q.value))??f(ie,null,{default:()=>[f(A,{icon:u.value?e.nextIcon:e.prevIcon},null)]})]),m("div",{key:"container",ref:v,class:D(["v-slide-group__container",e.contentClass]),onScroll:p},[m("div",{ref:r,class:"v-slide-group__content",onFocusin:I,onFocusout:$,onKeydown:K},[(l=a.default)==null?void 0:l.call(a,q.value)])]),j.value&&m("div",{key:"next",class:D(["v-slide-group__next",{"v-slide-group__next--disabled":!U.value}]),onMousedown:T,onClick:()=>U.value&&N("next")},[((o=a.next)==null?void 0:o.call(a,q.value))??f(ie,null,{default:()=>[f(A,{icon:u.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:N,scrollOffset:h,focus:C,hasPrev:Q,hasNext:U}}}),xe=Symbol.for("vuetify:v-chip-group"),nl=le({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:_e},...Ce(),...ae(),...be({selectedClass:"v-chip--selected"}),...te(),...ke(),...me({variant:"tonal"})},"VChipGroup"),ol=ee()({name:"VChipGroup",props:nl(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:a}=s;const{themeClasses:u}=ye(e),{isSelected:i,select:b,next:c,prev:y,selected:h}=he(e,xe);return Re({VChip:{baseColor:P(()=>e.baseColor),color:P(()=>e.color),disabled:P(()=>e.disabled),filter:P(()=>e.filter),variant:P(()=>e.variant)}}),pe(()=>{const k=fe.filterProps(e);return f(fe,Z(k,{class:["v-chip-group",{"v-chip-group--column":e.column},u.value,e.class],style:e.style}),{default:()=>{var x;return[(x=a.default)==null?void 0:x.call(a,{isSelected:i,select:b,next:c,prev:y,selected:h.value})]}})}),{}}}),sl=le({activeClass:String,appendAvatar:String,appendIcon:w,baseColor:String,closable:Boolean,closeIcon:{type:w,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:w,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:w,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:de(),onClickOnce:de(),...Ze(),...ae(),...Ye(),...Je(),...Xe(),...Ue(),...Qe(),...je(),...te({tag:"span"}),...ke(),...me({variant:"tonal"})},"VChip"),cl=ee()({name:"VChip",directives:{vRipple:oe},props:sl(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,s){let{attrs:a,emit:u,slots:i}=s;const{t:b}=Te(),{borderClasses:c}=Be(e),{densityClasses:y}=Fe(e),{elevationClasses:h}=Ge(e),{roundedClasses:k}=Me(e),{sizeClasses:x}=Oe(e),{themeClasses:d}=ye(e),v=De(e,"modelValue"),n=We(e,xe,!1),r=Le(e,a),E=P(()=>e.link!==!1&&r.isLink.value),g=S(()=>!e.disabled&&e.link!==!1&&(!!n||e.link||r.isClickable.value)),G=P(()=>({"aria-label":b(e.closeLabel),disabled:e.disabled,onClick(p){p.preventDefault(),p.stopPropagation(),v.value=!1,u("click:close",p)}})),{colorClasses:L,colorStyles:H,variantClasses:z}=He(()=>({color:!n||n.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function R(p){var I;u("click",p),g.value&&((I=r.navigate)==null||I.call(r,p),n==null||n.toggle())}function M(p){(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),R(p))}return()=>{var V;const p=r.isLink.value?"a":e.tag,I=!!(e.appendIcon||e.appendAvatar),$=!!(I||i.append),_=!!(i.close||e.closable),O=!!(i.filter||e.filter)&&n,T=!!(e.prependIcon||e.prependAvatar),K=!!(T||i.prepend);return v.value&&ce(f(p,Z({class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":g.value,"v-chip--filter":O,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&((V=r.isActive)==null?void 0:V.value)},d.value,c.value,L.value,y.value,h.value,k.value,x.value,z.value,n==null?void 0:n.selectedClass.value,e.class],style:[H.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:g.value?0:void 0,onClick:R,onKeydown:g.value&&!E.value&&M},r.linkProps),{default:()=>{var C;return[$e(g.value,"v-chip"),O&&f(Ke,{key:"filter"},{default:()=>[ce(m("div",{class:"v-chip__filter"},[i.filter?f(W,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},i.filter):f(A,{key:"filter-icon",icon:e.filterIcon},null)]),[[Ne,n.isSelected.value]])]}),K&&m("div",{key:"prepend",class:"v-chip__prepend"},[i.prepend?f(W,{key:"prepend-defaults",disabled:!T,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):m(ue,null,[e.prependIcon&&f(A,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&f(re,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),m("div",{class:"v-chip__content","data-no-activator":""},[((C=i.default)==null?void 0:C.call(i,{isSelected:n==null?void 0:n.isSelected.value,selectedClass:n==null?void 0:n.selectedClass.value,select:n==null?void 0:n.select,toggle:n==null?void 0:n.toggle,value:n==null?void 0:n.value.value,disabled:e.disabled}))??qe(e.text)]),$&&m("div",{key:"append",class:"v-chip__append"},[i.append?f(W,{key:"append-defaults",disabled:!I,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},i.append):m(ue,null,[e.appendIcon&&f(A,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&f(re,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),_&&m("button",Z({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},G.value),[i.close?f(W,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):f(A,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[oe,g.value&&e.ripple,null]])}}});export{cl as V,fe as a,ol as b,Ce as m}; diff --git a/assets/VChip-DGb8BoIB.js b/assets/VChip-DGb8BoIB.js new file mode 100644 index 0000000..417b17b --- /dev/null +++ b/assets/VChip-DGb8BoIB.js @@ -0,0 +1 @@ +import{g as ee,p as le,b3 as ze,a1 as Ie,bB as he,ap as T,al as S,bH as ne,ci as Ve,bM as se,aq as Pe,c as pe,d as f,i as m,b4 as ie,v as A,e as M,n as Ae,bD as be,m as te,bs as we,h as ae,ai as w,c7 as Re,aY as ye,aB as Ee,ao as V,E as Z,bI as me,af as ge,bQ as _e,R as oe,a7 as Be,aZ as Te,az as Fe,a_ as Ge,a6 as De,cj as Oe,aj as Me,by as We,ck as Le,cb as He,K as ce,cc as $e,cl as qe,aQ as W,ad as Ke,F as ue,S as re,C as Ne,bJ as je,cm as Qe,ag as Ue,bz as Je,b1 as Xe,aD as Ye,b2 as Ze,aR as de}from"./index-B01HL2YE.js";function el(e){let{selectedElement:s,containerElement:a,isRtl:u,isHorizontal:i}=e;const b=F(i,a),c=ke(i,u,a),y=F(i,s),h=Se(i,s),g=y*.4;return c>h?h-g:c+btypeof e=="boolean"||["always","desktop","mobile"].includes(e)},...ae(),...we({mobile:null}),...te(),...be({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),fe=ee()({name:"VSlideGroup",props:Ce(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:a}=s;const{isRtl:u}=ze(),{displayClasses:i,mobile:b}=Ie(e),c=he(e,e.symbol),y=T(!1),h=T(0),g=T(0),x=T(0),d=S(()=>e.direction==="horizontal"),{resizeRef:v,contentRect:n}=ne(),{resizeRef:r,contentRect:R}=ne(),k=Ve(),G=S(()=>({container:v.el,duration:200,easing:"easeOutQuart"})),L=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[0]):-1),H=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[c.selected.value.length-1]):-1);if(se){let t=-1;Pe(()=>[c.selected.value,n.value,R.value,d.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(n.value&&R.value){const l=d.value?"width":"height";g.value=n.value[l],x.value=R.value[l],y.value=g.value+1=0&&r.el){const l=r.el.children[H.value];E(l,e.centerActive)}})})}const P=T(!1);function E(t,l){let o=0;l?o=ll({containerElement:v.el,isHorizontal:d.value,selectedElement:t}):o=el({containerElement:v.el,isHorizontal:d.value,isRtl:u.value,selectedElement:t}),D(o)}function D(t){if(!se||!v.el)return;const l=F(d.value,v.el),o=ke(d.value,u.value,v.el);if(!(ve(d.value,v.el)<=l||Math.abs(t-o)<16)){if(d.value&&u.value&&v.el){const{scrollWidth:X,offsetWidth:Y}=v.el;t=X-Y-t}d.value?k.horizontal(t,G.value):k(t,G.value)}}function p(t){const{scrollTop:l,scrollLeft:o}=t.target;h.value=d.value?o:l}function z(t){if(P.value=!0,!(!y.value||!r.el)){for(const l of t.composedPath())for(const o of r.el.children)if(o===l){E(o);return}}}function $(t){P.value=!1}let _=!1;function O(t){var l;!_&&!P.value&&!(t.relatedTarget&&((l=r.el)!=null&&l.contains(t.relatedTarget)))&&C(),_=!1}function B(){_=!0}function q(t){if(!r.el)return;function l(o){t.preventDefault(),C(o)}d.value?t.key==="ArrowRight"?l(u.value?"prev":"next"):t.key==="ArrowLeft"&&l(u.value?"next":"prev"):t.key==="ArrowDown"?l("next"):t.key==="ArrowUp"&&l("prev"),t.key==="Home"?l("first"):t.key==="End"&&l("last")}function I(t,l){if(!t)return;let o=t;do o=o==null?void 0:o[l==="next"?"nextElementSibling":"previousElementSibling"];while(o!=null&&o.hasAttribute("disabled"));return o}function C(t){if(!r.el)return;let l;if(!t)l=Re(r.el)[0];else if(t==="next"){if(l=I(r.el.querySelector(":focus"),t),!l)return C("first")}else if(t==="prev"){if(l=I(r.el.querySelector(":focus"),t),!l)return C("last")}else t==="first"?(l=r.el.firstElementChild,l!=null&&l.hasAttribute("disabled")&&(l=I(l,"next"))):t==="last"&&(l=r.el.lastElementChild,l!=null&&l.hasAttribute("disabled")&&(l=I(l,"prev")));l&&l.focus({preventScroll:!0})}function K(t){const l=d.value&&u.value?-1:1,o=(t==="prev"?-l:l)*g.value;let J=h.value+o;if(d.value&&u.value&&v.el){const{scrollWidth:X,offsetWidth:Y}=v.el;J+=X-Y}D(J)}const N=S(()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected})),j=S(()=>{switch(e.showArrows){case"always":return!0;case"desktop":return!b.value;case!0:return y.value||Math.abs(h.value)>0;case"mobile":return b.value||y.value||Math.abs(h.value)>0;default:return!b.value&&(y.value||Math.abs(h.value)>0)}}),Q=S(()=>Math.abs(h.value)>1),U=S(()=>{if(!v.value)return!1;const t=ve(d.value,v.el),l=tl(d.value,v.el);return t-l-Math.abs(h.value)>1});return pe(()=>f(e.tag,{class:M(["v-slide-group",{"v-slide-group--vertical":!d.value,"v-slide-group--has-affixes":j.value,"v-slide-group--is-overflowing":y.value},i.value,e.class]),style:Ae(e.style),tabindex:P.value||c.selected.value.length?-1:0,onFocus:O},{default:()=>{var t,l,o;return[j.value&&m("div",{key:"prev",class:M(["v-slide-group__prev",{"v-slide-group__prev--disabled":!Q.value}]),onMousedown:B,onClick:()=>Q.value&&K("prev")},[((t=a.prev)==null?void 0:t.call(a,N.value))??f(ie,null,{default:()=>[f(A,{icon:u.value?e.nextIcon:e.prevIcon},null)]})]),m("div",{key:"container",ref:v,class:M(["v-slide-group__container",e.contentClass]),onScroll:p},[m("div",{ref:r,class:"v-slide-group__content",onFocusin:z,onFocusout:$,onKeydown:q},[(l=a.default)==null?void 0:l.call(a,N.value)])]),j.value&&m("div",{key:"next",class:M(["v-slide-group__next",{"v-slide-group__next--disabled":!U.value}]),onMousedown:B,onClick:()=>U.value&&K("next")},[((o=a.next)==null?void 0:o.call(a,N.value))??f(ie,null,{default:()=>[f(A,{icon:u.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:K,scrollOffset:h,focus:C,hasPrev:Q,hasNext:U}}}),xe=Symbol.for("vuetify:v-chip-group"),nl=le({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:_e},...Ce(),...ae(),...be({selectedClass:"v-chip--selected"}),...te(),...ge(),...me({variant:"tonal"})},"VChipGroup"),ol=ee()({name:"VChipGroup",props:nl(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:a}=s;const{themeClasses:u}=ye(e),{isSelected:i,select:b,next:c,prev:y,selected:h}=he(e,xe);return Ee({VChip:{baseColor:V(()=>e.baseColor),color:V(()=>e.color),disabled:V(()=>e.disabled),filter:V(()=>e.filter),variant:V(()=>e.variant)}}),pe(()=>{const g=fe.filterProps(e);return f(fe,Z(g,{class:["v-chip-group",{"v-chip-group--column":e.column},u.value,e.class],style:e.style}),{default:()=>{var x;return[(x=a.default)==null?void 0:x.call(a,{isSelected:i,select:b,next:c,prev:y,selected:h.value})]}})}),{}}}),sl=le({activeClass:String,appendAvatar:String,appendIcon:w,baseColor:String,closable:Boolean,closeIcon:{type:w,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:w,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:w,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:de(),onClickOnce:de(),...Ze(),...ae(),...Ye(),...Xe(),...Je(),...Ue(),...Qe(),...je(),...te({tag:"span"}),...ge(),...me({variant:"tonal"})},"VChip"),cl=ee()({name:"VChip",directives:{vRipple:oe},props:sl(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,s){let{attrs:a,emit:u,slots:i}=s;const{t:b}=Be(),{borderClasses:c}=Te(e),{densityClasses:y}=Fe(e),{elevationClasses:h}=Ge(e),{roundedClasses:g}=De(e),{sizeClasses:x}=Oe(e),{themeClasses:d}=ye(e),v=Me(e,"modelValue"),n=We(e,xe,!1),r=Le(e,a),R=V(()=>e.link!==!1&&r.isLink.value),k=S(()=>!e.disabled&&e.link!==!1&&(!!n||e.link||r.isClickable.value)),G=V(()=>({"aria-label":b(e.closeLabel),disabled:e.disabled,onClick(p){p.preventDefault(),p.stopPropagation(),v.value=!1,u("click:close",p)}})),{colorClasses:L,colorStyles:H,variantClasses:P}=He(()=>({color:!n||n.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function E(p){var z;u("click",p),k.value&&((z=r.navigate)==null||z.call(r,p),n==null||n.toggle())}function D(p){(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),E(p))}return()=>{var I;const p=r.isLink.value?"a":e.tag,z=!!(e.appendIcon||e.appendAvatar),$=!!(z||i.append),_=!!(i.close||e.closable),O=!!(i.filter||e.filter)&&n,B=!!(e.prependIcon||e.prependAvatar),q=!!(B||i.prepend);return v.value&&ce(f(p,Z({class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":k.value,"v-chip--filter":O,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&((I=r.isActive)==null?void 0:I.value)},d.value,c.value,L.value,y.value,h.value,g.value,x.value,P.value,n==null?void 0:n.selectedClass.value,e.class],style:[H.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:k.value?0:void 0,onClick:E,onKeydown:k.value&&!R.value&&D},r.linkProps),{default:()=>{var C;return[$e(k.value,"v-chip"),O&&f(qe,{key:"filter"},{default:()=>[ce(m("div",{class:"v-chip__filter"},[i.filter?f(W,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},i.filter):f(A,{key:"filter-icon",icon:e.filterIcon},null)]),[[Ke,n.isSelected.value]])]}),q&&m("div",{key:"prepend",class:"v-chip__prepend"},[i.prepend?f(W,{key:"prepend-defaults",disabled:!B,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):m(ue,null,[e.prependIcon&&f(A,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&f(re,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),m("div",{class:"v-chip__content","data-no-activator":""},[((C=i.default)==null?void 0:C.call(i,{isSelected:n==null?void 0:n.isSelected.value,selectedClass:n==null?void 0:n.selectedClass.value,select:n==null?void 0:n.select,toggle:n==null?void 0:n.toggle,value:n==null?void 0:n.value.value,disabled:e.disabled}))??Ne(e.text)]),$&&m("div",{key:"append",class:"v-chip__append"},[i.append?f(W,{key:"append-defaults",disabled:!z,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},i.append):m(ue,null,[e.appendIcon&&f(A,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&f(re,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),_&&m("button",Z({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},G.value),[i.close?f(W,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):f(A,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[oe,k.value&&e.ripple,null]])}}});export{cl as V,fe as a,ol as b,Ce as m}; diff --git a/assets/VContainer-D6AyJkGG.js b/assets/VContainer-yTxlmOws.js similarity index 71% rename from assets/VContainer-D6AyJkGG.js rename to assets/VContainer-yTxlmOws.js index 478e972..3c696d9 100644 --- a/assets/VContainer-D6AyJkGG.js +++ b/assets/VContainer-yTxlmOws.js @@ -1 +1 @@ -import{g as t,p as l,aj as r,u as i,c as m,d as c,n as u,e as d,m as C,f,h as p}from"./index-DmGr2YjE.js";const y=l({fluid:{type:Boolean,default:!1},...p(),...f(),...C()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=r(),{dimensionStyles:o}=i(e);return m(()=>c(e.tag,{class:d(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:u([o.value,e.style])},a)),{}}});export{g as V}; +import{g as t,p as l,b3 as r,u as i,c as m,d as c,n as u,e as d,m as C,f,h as p}from"./index-B01HL2YE.js";const y=l({fluid:{type:Boolean,default:!1},...p(),...f(),...C()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=r(),{dimensionStyles:o}=i(e);return m(()=>c(e.tag,{class:d(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:u([o.value,e.style])},a)),{}}});export{g as V}; diff --git a/assets/VDataTable-B-hmgcj0.js b/assets/VDataTable-B-hmgcj0.js new file mode 100644 index 0000000..e47f03a --- /dev/null +++ b/assets/VDataTable-B-hmgcj0.js @@ -0,0 +1 @@ +import{bF as $t,an as J,bG as Nt,g as le,p as $,aj as oe,a7 as ge,b3 as Ht,aY as rt,a1 as ke,ap as Z,aB as He,bH as je,al as F,aM as Ve,ao as j,c as ue,d as I,i as S,y as de,E,e as ce,n as Ae,bI as Kt,af as ut,m as ot,bJ as zt,ag as jt,b1 as Gt,aD as it,h as Oe,b2 as Ut,ai as te,bK as qe,at as De,aq as re,F as ae,aU as Fe,aK as Wt,bl as st,bm as ve,bL as fe,bM as ct,bN as Ge,u as qt,bk as Qt,aL as Xt,bO as Yt,aC as q,f as Jt,bP as Zt,ak as me,bQ as we,v as Ce,O as ea,P as Qe,bR as ta,U as dt,aJ as aa,S as la,bS as na,aQ as ft,t as Ke,as as ra,ae as ua,av as oa,bT as ia,bU as Xe,bV as Ye,bW as sa,bv as he,bA as be,bX as ca,bY as da,bZ as fa,b_ as _e,b$ as Ie,c0 as va,a5 as ma,c1 as ga,c2 as ha,bs as Ue,aN as Te,C as ba,aR as Me,az as ya,c3 as pe,c4 as xa}from"./index-B01HL2YE.js";import{h as Sa,V as Je,i as Pa}from"./VTextField-DDMIr0_j.js";import{V as pa}from"./VMenu-3aVeBIH6.js";import{c as Le}from"./VCheckboxBtn-DzDw8U-d.js";import{V as vt}from"./VChip-DGb8BoIB.js";function Ze(e,l,t){return Object.keys(e).filter(a=>$t(a)&&a.endsWith(l)).reduce((a,n)=>(a[n.slice(0,-l.length)]=r=>e[n](r,t(r)),a),{})}function wa(){const e=J([]);Nt(()=>e.value=[]);function l(t,a){e.value[a]=t}return{refs:e,updateRef:l}}const ka=$({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:te,default:"$first"},prevIcon:{type:te,default:"$prev"},nextIcon:{type:te,default:"$next"},lastIcon:{type:te,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...Ut(),...Oe(),...it(),...Gt(),...jt(),...zt(),...ot({tag:"nav"}),...ut(),...Kt({variant:"text"})},"VPagination"),et=le()({name:"VPagination",props:ka(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,l){let{slots:t,emit:a}=l;const n=oe(e,"modelValue"),{t:r,n:i}=ge(),{isRtl:o}=Ht(),{themeClasses:u}=rt(e),{width:c}=ke(),f=Z(-1);He(void 0,{scoped:!0});const{resizeRef:y}=je(p=>{if(!p.length)return;const{target:w,contentRect:g}=p[0],D=w.querySelector(".v-pagination__list > *");if(!D)return;const B=g.width,z=D.offsetWidth+parseFloat(getComputedStyle(D).marginRight)*2;f.value=x(B,z)}),m=F(()=>parseInt(e.length,10)),b=F(()=>parseInt(e.start,10)),h=F(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):f.value>=0?f.value:x(c.value,58));function x(p,w){const g=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((p-w*g)/w).toFixed(2))))}const v=F(()=>{if(m.value<=0||isNaN(m.value)||m.value>Number.MAX_SAFE_INTEGER)return[];if(h.value<=0)return[];if(h.value===1)return[n.value];if(m.value<=h.value)return Ve(m.value,b.value);const p=h.value%2===0,w=p?h.value/2:Math.floor(h.value/2),g=p?w:w+1,D=m.value-w;if(g-n.value>=0)return[...Ve(Math.max(1,h.value-1),b.value),e.ellipsis,m.value];if(n.value-D>=(p?1:0)){const B=h.value-1,z=m.value-B+b.value;return[b.value,e.ellipsis,...Ve(B,z)]}else{const B=Math.max(1,h.value-2),z=B===1?n.value:n.value-Math.ceil(B/2)+b.value;return[b.value,e.ellipsis,...Ve(B,z),e.ellipsis,m.value]}});function V(p,w,g){p.preventDefault(),n.value=w,g&&a(g,w)}const{refs:s,updateRef:T}=wa();He({VPaginationBtn:{color:j(()=>e.color),border:j(()=>e.border),density:j(()=>e.density),size:j(()=>e.size),variant:j(()=>e.variant),rounded:j(()=>e.rounded),elevation:j(()=>e.elevation)}});const A=F(()=>v.value.map((p,w)=>{const g=D=>T(D,w);if(typeof p=="string")return{isActive:!1,key:`ellipsis-${w}`,page:p,props:{ref:g,ellipsis:!0,icon:!0,disabled:!0}};{const D=p===n.value;return{isActive:D,key:p,page:i(p),props:{ref:g,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:D?e.activeColor:e.color,"aria-current":D,"aria-label":r(D?e.currentPageAriaLabel:e.pageAriaLabel,p),onClick:B=>V(B,p)}}}})),P=F(()=>{const p=!!e.disabled||n.value<=b.value,w=!!e.disabled||n.value>=b.value+m.value-1;return{first:e.showFirstLastPage?{icon:o.value?e.lastIcon:e.firstIcon,onClick:g=>V(g,b.value,"first"),disabled:p,"aria-label":r(e.firstAriaLabel),"aria-disabled":p}:void 0,prev:{icon:o.value?e.nextIcon:e.prevIcon,onClick:g=>V(g,n.value-1,"prev"),disabled:p,"aria-label":r(e.previousAriaLabel),"aria-disabled":p},next:{icon:o.value?e.prevIcon:e.nextIcon,onClick:g=>V(g,n.value+1,"next"),disabled:w,"aria-label":r(e.nextAriaLabel),"aria-disabled":w},last:e.showFirstLastPage?{icon:o.value?e.firstIcon:e.lastIcon,onClick:g=>V(g,b.value+m.value-1,"last"),disabled:w,"aria-label":r(e.lastAriaLabel),"aria-disabled":w}:void 0}});function G(){var w;const p=n.value-b.value;(w=s.value[p])==null||w.$el.focus()}function K(p){p.key===qe.left&&!e.disabled&&n.value>Number(e.start)?(n.value=n.value-1,De(G)):p.key===qe.right&&!e.disabled&&n.valueI(e.tag,{ref:y,class:ce(["v-pagination",u.value,e.class]),style:Ae(e.style),role:"navigation","aria-label":r(e.ariaLabel),onKeydown:K,"data-test":"v-pagination-root"},{default:()=>[S("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&S("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[t.first?t.first(P.value.first):I(de,E({_as:"VPaginationBtn"},P.value.first),null)]),S("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[t.prev?t.prev(P.value.prev):I(de,E({_as:"VPaginationBtn"},P.value.prev),null)]),A.value.map((p,w)=>S("li",{key:p.key,class:ce(["v-pagination__item",{"v-pagination__item--is-active":p.isActive}]),"data-test":"v-pagination-item"},[t.item?t.item(p):I(de,E({_as:"VPaginationBtn"},p.props),{default:()=>[p.page]})])),S("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[t.next?t.next(P.value.next):I(de,E({_as:"VPaginationBtn"},P.value.next),null)]),e.showFirstLastPage&&S("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[t.last?t.last(P.value.last):I(de,E({_as:"VPaginationBtn"},P.value.last),null)])])]})),{}}}),Va=$({renderless:Boolean,...Oe()},"VVirtualScrollItem"),Ia=le()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Va(),emits:{"update:height":e=>!0},setup(e,l){let{attrs:t,emit:a,slots:n}=l;const{resizeRef:r,contentRect:i}=je(void 0,"border");re(()=>{var o;return(o=i.value)==null?void 0:o.height},o=>{o!=null&&a("update:height",o)}),ue(()=>{var o,u;return e.renderless?S(ae,null,[(o=n.default)==null?void 0:o.call(n,{itemRef:r})]):S("div",E({ref:r,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(u=n.default)==null?void 0:u.call(n)])})}}),Ta=-1,Da=1,$e=100,Fa=$({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Ca(e,l){const t=ke(),a=Z(0);Fe(()=>{a.value=parseFloat(e.itemHeight||0)});const n=Z(0),r=Z(Math.ceil((parseInt(e.height)||t.height.value)/(a.value||16))||1),i=Z(0),o=Z(0),u=J(),c=J();let f=0;const{resizeRef:y,contentRect:m}=je();Fe(()=>{y.value=u.value});const b=F(()=>{var d;return u.value===document.documentElement?t.height.value:((d=m.value)==null?void 0:d.height)||parseInt(e.height)||0}),h=F(()=>!!(u.value&&c.value&&b.value&&a.value));let x=Array.from({length:l.value.length}),v=Array.from({length:l.value.length});const V=Z(0);let s=-1;function T(d){return x[d]||a.value}const A=Wt(()=>{const d=performance.now();v[0]=0;const k=l.value.length;for(let _=1;_<=k-1;_++)v[_]=(v[_-1]||0)+T(_-1);V.value=Math.max(V.value,performance.now()-d)},V),P=re(h,d=>{d&&(P(),f=c.value.offsetTop,A.immediate(),U(),~s&&De(()=>{ct&&window.requestAnimationFrame(()=>{ie(s),s=-1})}))});st(()=>{A.clear()});function G(d,k){const _=x[d],N=a.value;a.value=N?Math.min(a.value,k):k,(_!==k||N!==a.value)&&(x[d]=k,A())}function K(d){d=ve(d,0,l.value.length-1);const k=Math.floor(d),_=d%1,N=k+1,W=v[k]||0,C=v[N]||W;return W+(C-W)*_}function p(d){return _a(v,d)}let w=0,g=0,D=0;re(b,(d,k)=>{k&&(U(),d{g=0,U()}))});let B=-1;function z(){if(!u.value||!c.value)return;const d=u.value.scrollTop,k=performance.now();k-D>500?(g=Math.sign(d-w),f=c.value.offsetTop):g=d-w,w=d,D=k,window.clearTimeout(B),B=window.setTimeout(X,500),U()}function X(){!u.value||!c.value||(g=0,D=0,window.clearTimeout(B),U())}let ee=-1;function U(){cancelAnimationFrame(ee),ee=requestAnimationFrame(ne)}function ne(){if(!u.value||!b.value||!a.value)return;const d=w-f,k=Math.sign(g),_=Math.max(0,d-$e),N=ve(p(_),0,l.value.length),W=d+b.value+$e,C=ve(p(W)+1,N+1,l.value.length);if((k!==Ta||Nr.value)){const O=K(n.value)-K(N),L=K(C)-K(r.value);Math.max(O,L)>$e?(n.value=N,r.value=C):(N<=0&&(n.value=N),C>=l.value.length&&(r.value=C))}i.value=K(n.value),o.value=K(l.value.length)-K(r.value)}function ie(d){const k=K(d);!u.value||d&&!k?s=d:u.value.scrollTop=k}const ye=F(()=>l.value.slice(n.value,r.value).map((d,k)=>{const _=k+n.value;return{raw:d,index:_,key:fe(d,e.itemKey,_)}}));return re(l,()=>{x=Array.from({length:l.value.length}),v=Array.from({length:l.value.length}),A.immediate(),U()},{deep:1}),{calculateVisibleItems:U,containerRef:u,markerRef:c,computedItems:ye,paddingTop:i,paddingBottom:o,scrollToIndex:ie,handleScroll:z,handleScrollend:X,handleItemResize:G}}function _a(e,l){let t=e.length-1,a=0,n=0,r=null,i=-1;if(e[t]>1,r=e[n],r>l)t=n-1;else if(r[]},renderless:Boolean,...Fa(),...Oe(),...Jt()},"VVirtualScroll"),Aa=le()({name:"VVirtualScroll",props:Ba(),setup(e,l){let{slots:t}=l;const a=Ge("VVirtualScroll"),{dimensionStyles:n}=qt(e),{calculateVisibleItems:r,containerRef:i,markerRef:o,handleScroll:u,handleScrollend:c,handleItemResize:f,scrollToIndex:y,paddingTop:m,paddingBottom:b,computedItems:h}=Ca(e,j(()=>e.items));return Qt(()=>e.renderless,()=>{function x(){var s,T;const V=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";i.value===document.documentElement?(document[V]("scroll",u,{passive:!0}),document[V]("scrollend",c)):((s=i.value)==null||s[V]("scroll",u,{passive:!0}),(T=i.value)==null||T[V]("scrollend",c))}Xt(()=>{i.value=Yt(a.vnode.el,!0),x(!0)}),st(x)}),ue(()=>{const x=h.value.map(v=>I(Ia,{key:v.key,renderless:e.renderless,"onUpdate:height":V=>f(v.index,V)},{default:V=>{var s;return(s=t.default)==null?void 0:s.call(t,{item:v.raw,index:v.index,...V})}}));return e.renderless?S(ae,null,[S("div",{ref:o,class:"v-virtual-scroll__spacer",style:{paddingTop:q(m.value)}},null),x,S("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:q(b.value)}},null)]):S("div",{ref:i,class:ce(["v-virtual-scroll",e.class]),onScrollPassive:u,onScrollend:c,style:Ae([n.value,e.style])},[S("div",{ref:o,class:"v-virtual-scroll__container",style:{paddingTop:q(m.value),paddingBottom:q(b.value)}},[x])])}),{calculateVisibleItems:r,scrollToIndex:y}}});function Oa(e,l){const t=Z(!1);let a;function n(o){cancelAnimationFrame(a),t.value=!0,a=requestAnimationFrame(()=>{a=requestAnimationFrame(()=>{t.value=!1})})}async function r(){await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>{if(t.value){const u=re(t,()=>{u(),o()})}else o()})}async function i(o){var f,y;if(o.key==="Tab"&&((f=l.value)==null||f.focus()),!["PageDown","PageUp","Home","End"].includes(o.key))return;const u=(y=e.value)==null?void 0:y.$el;if(!u)return;(o.key==="Home"||o.key==="End")&&u.scrollTo({top:o.key==="Home"?0:u.scrollHeight,behavior:"smooth"}),await r();const c=u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(o.key==="PageDown"||o.key==="Home"){const m=u.getBoundingClientRect().top;for(const b of c)if(b.getBoundingClientRect().top>=m){b.focus();break}}else{const m=u.getBoundingClientRect().bottom;for(const b of[...c].reverse())if(b.getBoundingClientRect().bottom<=m){b.focus();break}}}return{onScrollPassive:n,onKeydown:i}}const La=$({chips:Boolean,closableChips:Boolean,closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"},eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:te,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...sa({itemChildren:!1})},"Select"),Ra=$({...La(),...oa(Pa({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...ua({transition:{component:ia}})},"VSelect"),mt=le()({name:"VSelect",props:Ra(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,l){let{slots:t}=l;const{t:a}=ge(),n=J(),r=J(),i=J(),{items:o,transformIn:u,transformOut:c}=Zt(e),f=oe(e,"modelValue",[],d=>u(d===null?[null]:me(d)),d=>{const k=c(d);return e.multiple?k:k[0]??null}),y=F(()=>typeof e.counterValue=="function"?e.counterValue(f.value):typeof e.counterValue=="number"?e.counterValue:f.value.length),m=Sa(e),b=F(()=>f.value.map(d=>d.value)),h=Z(!1);let x="",v=-1,V;const s=F(()=>e.hideSelected?o.value.filter(d=>!f.value.some(k=>(e.valueComparator||we)(k,d))):o.value),T=F(()=>e.hideNoData&&!s.value.length||m.isReadonly.value||m.isDisabled.value),A=oe(e,"menu"),P=F({get:()=>A.value,set:d=>{var k;A.value&&!d&&((k=r.value)!=null&&k.ΨopenChildren.size)||d&&T.value||(A.value=d)}}),G=j(()=>P.value?e.closeText:e.openText),K=F(()=>{var d;return{...e.menuProps,activatorProps:{...((d=e.menuProps)==null?void 0:d.activatorProps)||{},"aria-haspopup":"listbox"}}}),p=J(),w=Oa(p,n);function g(d){e.openOnClear&&(P.value=!0)}function D(){T.value||(P.value=!P.value)}function B(d){Xe(d)&&z(d)}function z(d){var R,Q,M;if(!d.key||m.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(d.key)&&d.preventDefault(),["Enter","ArrowDown"," "].includes(d.key)&&(P.value=!0),["Escape","Tab"].includes(d.key)&&(P.value=!1),d.key==="Home"?(R=p.value)==null||R.focus("first"):d.key==="End"&&((Q=p.value)==null||Q.focus("last"));const k=1e3;if(!Xe(d))return;const _=performance.now();_-V>k&&(x="",v=-1),x+=d.key.toLowerCase(),V=_;const N=s.value;function W(){let H=C();return H||x.at(-1)===x.at(-2)&&(x=x.slice(0,-1),H=C(),H)||(v=-1,H=C(),H)?H:(x=d.key.toLowerCase(),C())}function C(){for(let H=v+1;H1&&arguments[1]!==void 0?arguments[1]:!0;if(!d.props.disabled)if(e.multiple){const _=f.value.findIndex(W=>(e.valueComparator||we)(W.value,d.value)),N=k??!~_;if(~_){const W=N?[...f.value,d]:[...f.value];W.splice(_,1),f.value=W}else N&&(f.value=[...f.value,d])}else{const _=k!==!1;f.value=_?[d]:[],De(()=>{P.value=!1})}}function ee(d){var k;(k=p.value)!=null&&k.$el.contains(d.relatedTarget)||(P.value=!1)}function U(){var d;e.eager&&((d=i.value)==null||d.calculateVisibleItems())}function ne(){var d;h.value&&((d=n.value)==null||d.focus())}function ie(d){h.value=!0}function ye(d){if(d==null)f.value=[];else if(Ye(n.value,":autofill")||Ye(n.value,":-webkit-autofill")){const k=o.value.find(_=>_.title===d);k&&X(k)}else n.value&&(n.value.value="")}return re(P,()=>{if(!e.hideSelected&&P.value&&f.value.length){const d=s.value.findIndex(k=>f.value.some(_=>(e.valueComparator||we)(_.value,k.value)));ct&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var k;d>=0&&((k=i.value)==null||k.scrollToIndex(d))})}}),re(()=>e.items,(d,k)=>{P.value||h.value&&e.hideNoData&&!k.length&&d.length&&(P.value=!0)}),ue(()=>{const d=!!(e.chips||t.chip),k=!!(!e.hideNoData||s.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),_=f.value.length>0,N=Je.filterProps(e),W=_||!h.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return I(Je,E({ref:n},N,{modelValue:f.value.map(C=>C.props.title).join(", "),"onUpdate:modelValue":ye,focused:h.value,"onUpdate:focused":C=>h.value=C,validationValue:f.externalValue,counterValue:y.value,dirty:_,class:["v-select",{"v-select--active-menu":P.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":f.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:W,"onClick:clear":g,"onMousedown:control":D,onBlur:ee,onKeydown:z,"aria-label":a(G.value),title:a(G.value)}),{...t,default:()=>S(ae,null,[I(pa,E({ref:r,modelValue:P.value,"onUpdate:modelValue":C=>P.value=C,activator:"parent",contentClass:"v-select__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:U,onAfterLeave:ne},K.value),{default:()=>[k&&I(ea,E({ref:p,selected:b.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:C=>C.preventDefault(),onKeydown:B,onFocusin:ie,tabindex:"-1","aria-live":"polite","aria-label":`${e.label}-list`,color:e.itemColor??e.color},w,e.listProps),{default:()=>{var C,O,L;return[(C=t["prepend-item"])==null?void 0:C.call(t),!s.value.length&&!e.hideNoData&&(((O=t["no-data"])==null?void 0:O.call(t))??I(Qe,{key:"no-data",title:a(e.noDataText)},null)),I(Aa,{ref:i,renderless:!0,items:s.value,itemKey:"value"},{default:Y=>{var xe,Se,Pe;let{item:R,index:Q,itemRef:M}=Y;const H=ta(R.props),se=E(R.props,{ref:M,key:R.value,onClick:()=>X(R,null)});return R.type==="divider"?((xe=t.divider)==null?void 0:xe.call(t,{props:R.raw,index:Q}))??I(dt,E(R.props,{key:`divider-${Q}`}),null):R.type==="subheader"?((Se=t.subheader)==null?void 0:Se.call(t,{props:R.raw,index:Q}))??I(aa,E(R.props,{key:`subheader-${Q}`}),null):((Pe=t.item)==null?void 0:Pe.call(t,{item:R,index:Q,props:se}))??I(Qe,E(se,{role:"option"}),{prepend:Et=>{let{isSelected:Mt}=Et;return S(ae,null,[e.multiple&&!e.hideSelected?I(Le,{key:R.value,modelValue:Mt,ripple:!1,tabindex:"-1"},null):void 0,H.prependAvatar&&I(la,{image:H.prependAvatar},null),H.prependIcon&&I(Ce,{icon:H.prependIcon},null)])}})}}),(L=t["append-item"])==null?void 0:L.call(t)]}})]}),f.value.map((C,O)=>{function L(M){M.stopPropagation(),M.preventDefault(),X(C,!1)}const Y={"onClick:close":L,onKeydown(M){M.key!=="Enter"&&M.key!==" "||(M.preventDefault(),M.stopPropagation(),L(M))},onMousedown(M){M.preventDefault(),M.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},R=d?!!t.chip:!!t.selection,Q=R?na(d?t.chip({item:C,index:O,props:Y}):t.selection({item:C,index:O})):void 0;if(!(R&&!Q))return S("div",{key:C.value,class:"v-select__selection"},[d?t.chip?I(ft,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:C.title}}},{default:()=>[Q]}):I(vt,E({key:"chip",closable:e.closableChips,size:"small",text:C.title,disabled:C.props.disabled},Y),null):Q??S("span",{class:"v-select__selection-text"},[C.title,e.multiple&&ONumber(a??1)),t=oe(e,"itemsPerPage",void 0,a=>Number(a??10));return{page:l,itemsPerPage:t}}function $a(e){const{page:l,itemsPerPage:t,itemsLength:a}=e,n=F(()=>t.value===-1?0:t.value*(l.value-1)),r=F(()=>t.value===-1?a.value:Math.min(a.value,n.value+t.value)),i=F(()=>t.value===-1||a.value===0?1:Math.ceil(a.value/t.value));re([l,i],()=>{l.value>i.value&&(l.value=i.value)});function o(m){t.value=m,l.value=1}function u(){l.value=ve(l.value+1,1,i.value)}function c(){l.value=ve(l.value-1,1,i.value)}function f(m){l.value=ve(m,1,i.value)}const y={page:l,itemsPerPage:t,startIndex:n,stopIndex:r,pageCount:i,itemsLength:a,nextPage:u,prevPage:c,setPage:f,setItemsPerPage:o};return be(gt,y),y}function Na(){const e=he(gt);if(!e)throw new Error("Missing pagination!");return e}function Ha(e){const l=Ge("usePaginatedItems"),{items:t,startIndex:a,stopIndex:n,itemsPerPage:r}=e,i=F(()=>r.value<=0?t.value:t.value.slice(a.value,n.value));return re(i,o=>{l.emit("update:currentItems",o)},{immediate:!0}),{paginatedItems:i}}const ht=$({prevIcon:{type:te,default:"$prev"},nextIcon:{type:te,default:"$next"},firstIcon:{type:te,default:"$first"},lastIcon:{type:te,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),tt=le()({name:"VDataTableFooter",props:ht(),setup(e,l){let{slots:t}=l;const{t:a}=ge(),{page:n,pageCount:r,startIndex:i,stopIndex:o,itemsLength:u,itemsPerPage:c,setItemsPerPage:f}=Na(),y=F(()=>e.itemsPerPageOptions.map(m=>typeof m=="number"?{value:m,title:m===-1?a("$vuetify.dataFooter.itemsPerPageAll"):String(m)}:{...m,title:isNaN(Number(m.title))?a(m.title):m.title}));return ue(()=>{var b;const m=et.filterProps(e);return S("div",{class:"v-data-table-footer"},[(b=t.prepend)==null?void 0:b.call(t),S("div",{class:"v-data-table-footer__items-per-page"},[S("span",{"aria-label":a(e.itemsPerPageText)},[a(e.itemsPerPageText)]),I(mt,{items:y.value,modelValue:c.value,"onUpdate:modelValue":h=>f(Number(h)),density:"compact",variant:"outlined",hideDetails:!0},null)]),S("div",{class:"v-data-table-footer__info"},[S("div",null,[a(e.pageText,u.value?i.value+1:0,o.value,u.value)])]),S("div",{class:"v-data-table-footer__pagination"},[I(et,E({modelValue:n.value,"onUpdate:modelValue":h=>n.value=h,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},m),null)])])}),{}}}),Be=ca({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,l)=>{let{slots:t}=l;const a=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return I(a,{class:ce(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap},`v-data-table-column--align-${e.align}`]),style:{height:q(e.height),width:q(e.width),maxWidth:q(e.maxWidth),left:n==="start"?q(e.fixedOffset||null):void 0,right:n==="end"?q(e.fixedEndOffset||null):void 0}},{default:()=>{var r;return[(r=t.default)==null?void 0:r.call(t)]}})}),Ka=$({headers:Array},"DataTable-header"),bt=Symbol.for("vuetify:data-table-headers"),yt={title:"",sortable:!1},za={...yt,width:48};function ja(){const l=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(t=>({element:t,priority:0}));return{enqueue:(t,a)=>{let n=!1;for(let r=0;ra){l.splice(r,0,{element:t,priority:a}),n=!0;break}n||l.push({element:t,priority:a})},size:()=>l.length,count:()=>{let t=0;if(!l.length)return 0;const a=Math.floor(l[0].priority);for(let n=0;nl.shift()}}function ze(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)l.push(e);else for(const t of e.children)ze(t,l);return l}function xt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const t of e)t.key&&l.add(t.key),t.children&&xt(t.children,l);return l}function Ga(e){if(e.key){if(e.key==="data-table-group")return yt;if(["data-table-expand","data-table-select"].includes(e.key))return za}}function We(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(l,...e.children.map(t=>We(t,l+1))):l}function Ua(e){let l=!1;function t(r,i){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(o!=="none"&&(r.fixed=o),r.fixed===!0&&(r.fixed="start"),r.fixed===i)if(r.children)if(i==="start")for(let u=r.children.length-1;u>=0;u--)t(r.children[u],i,i);else for(let u=0;u=0;u--)t(r.children[u],i);else for(let u=0;u=0;r--)t(e[r],"start");for(let r=0;r=0;r--)n=Pt(e[r],n)}function St(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return l;if(e.children){e.fixedOffset=l;for(const t of e.children)l=St(t,l)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=l,l+=parseFloat(e.width||"0")||0);return l}function Pt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return l;if(e.children){e.fixedEndOffset=l;for(const t of e.children)l=Pt(t,l)}else e.fixed==="end"&&(e.fixedEndOffset=l,l+=parseFloat(e.width||"0")||0);return l}function Wa(e,l){const t=[];let a=0;const n=ja(e);for(;n.size()>0;){let i=n.count();const o=[];let u=1;for(;i>0;){const{element:c,priority:f}=n.dequeue(),y=l-a-We(c);if(o.push({...c,rowspan:y??1,colspan:c.children?ze(c).length:1}),c.children)for(const m of c.children){const b=f%1+u/Math.pow(10,a+2);n.enqueue(m,a+y+b)}u+=1,i-=1}a+=1,t.push(o)}return{columns:e.map(i=>ze(i)).flat(),headers:t}}function pt(e){const l=[];for(const t of e){const a={...Ga(t),...t},n=a.key??(typeof a.value=="string"?a.value:null),r=a.value??n??null,i={...a,key:n,value:r,sortable:a.sortable??(a.key!=null||!!a.sort),children:a.children?pt(a.children):void 0};l.push(i)}return l}function qa(e,l){const t=J([]),a=J([]),n=J({}),r=J({}),i=J({});Fe(()=>{var x,v,V;const c=(e.headers||Object.keys(e.items[0]??{}).map(s=>({key:s,title:da(s)}))).slice(),f=xt(c);(x=l==null?void 0:l.groupBy)!=null&&x.value.length&&!f.has("data-table-group")&&c.unshift({key:"data-table-group",title:"Group"}),(v=l==null?void 0:l.showSelect)!=null&&v.value&&!f.has("data-table-select")&&c.unshift({key:"data-table-select"}),(V=l==null?void 0:l.showExpand)!=null&&V.value&&!f.has("data-table-expand")&&c.push({key:"data-table-expand"});const y=pt(c);Ua(y);const m=Math.max(...y.map(s=>We(s)))+1,b=Wa(y,m);t.value=b.headers,a.value=b.columns;const h=b.headers.flat(1);for(const s of h)s.key&&(s.sortable&&(s.sort&&(n.value[s.key]=s.sort),s.sortRaw&&(r.value[s.key]=s.sortRaw)),s.filter&&(i.value[s.key]=s.filter))});const o={headers:t,columns:a,sortFunctions:n,sortRawFunctions:r,filterFunctions:i};return be(bt,o),o}function Re(){const e=he(bt);if(!e)throw new Error("Missing headers!");return e}const Qa={showSelectAll:!1,allSelected:()=>[],select:e=>{var a;let{items:l,value:t}=e;return new Set(t?[(a=l[0])==null?void 0:a.value]:[])},selectAll:e=>{let{selected:l}=e;return l}},wt={showSelectAll:!0,allSelected:e=>{let{currentPage:l}=e;return l},select:e=>{let{items:l,value:t,selected:a}=e;for(const n of l)t?a.add(n.value):a.delete(n.value);return a},selectAll:e=>{let{value:l,currentPage:t,selected:a}=e;return wt.select({items:t,value:l,selected:a})}},kt={showSelectAll:!0,allSelected:e=>{let{allItems:l}=e;return l},select:e=>{let{items:l,value:t,selected:a}=e;for(const n of l)t?a.add(n.value):a.delete(n.value);return a},selectAll:e=>{let{value:l,allItems:t,selected:a}=e;return kt.select({items:t,value:l,selected:a})}},Xa=$({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:we}},"DataTable-select"),Vt=Symbol.for("vuetify:data-table-selection");function Ya(e,l){let{allItems:t,currentPage:a}=l;const n=oe(e,"modelValue",e.modelValue,s=>new Set(me(s).map(T=>{var A;return((A=t.value.find(P=>e.valueComparator(T,P.value)))==null?void 0:A.value)??T})),s=>[...s.values()]),r=F(()=>t.value.filter(s=>s.selectable)),i=F(()=>a.value.filter(s=>s.selectable)),o=F(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Qa;case"all":return kt;case"page":default:return wt}}),u=Z(null);function c(s){return me(s).every(T=>n.value.has(T.value))}function f(s){return me(s).some(T=>n.value.has(T.value))}function y(s,T){const A=o.value.select({items:s,value:T,selected:new Set(n.value)});n.value=A}function m(s,T,A){const P=[];if(T=T??a.value.findIndex(G=>G.value===s.value),e.selectStrategy!=="single"&&(A!=null&&A.shiftKey)&&u.value!==null){const[G,K]=[u.value,T].sort((p,w)=>p-w);P.push(...a.value.slice(G,K+1).filter(p=>p.selectable))}else P.push(s),u.value=T;y(P,!c([s]))}function b(s){const T=o.value.selectAll({value:s,allItems:r.value,currentPage:i.value,selected:new Set(n.value)});n.value=T}const h=F(()=>n.value.size>0),x=F(()=>{const s=o.value.allSelected({allItems:r.value,currentPage:i.value});return!!s.length&&c(s)}),v=j(()=>o.value.showSelectAll),V={toggleSelect:m,select:y,selectAll:b,isSelected:c,isSomeSelected:f,someSelected:h,allSelected:x,showSelectAll:v,lastSelectedIndex:u,selectStrategy:o};return be(Vt,V),V}function Ee(){const e=he(Vt);if(!e)throw new Error("Missing selection!");return e}const Ja=$({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),It=Symbol.for("vuetify:data-table-sort");function Za(e){const l=oe(e,"sortBy"),t=j(()=>e.mustSort),a=j(()=>e.multiSort);return{sortBy:l,mustSort:t,multiSort:a}}function el(e){const{sortBy:l,mustSort:t,multiSort:a,page:n}=e,r=u=>{if(u.key==null)return;let c=l.value.map(y=>({...y}))??[];const f=c.find(y=>y.key===u.key);f?f.order==="desc"?t.value&&c.length===1?f.order="asc":c=c.filter(y=>y.key!==u.key):f.order="desc":a.value?c.push({key:u.key,order:"asc"}):c=[{key:u.key,order:"asc"}],l.value=c,n&&(n.value=1)};function i(u){return!!l.value.find(c=>c.key===u.key)}const o={sortBy:l,toggleSort:r,isSorted:i};return be(It,o),o}function Tt(){const e=he(It);if(!e)throw new Error("Missing sort!");return e}function tl(e,l,t,a){const n=ge();return{sortedItems:F(()=>{var i,o;return t.value.length?al(l.value,t.value,n.current.value,{transform:a==null?void 0:a.transform,sortFunctions:{...e.customKeySort,...(i=a==null?void 0:a.sortFunctions)==null?void 0:i.value},sortRawFunctions:(o=a==null?void 0:a.sortRawFunctions)==null?void 0:o.value}):l.value})}}function al(e,l,t,a){const n=new Intl.Collator(t,{sensitivity:"accent",usage:"sort"});return e.map(i=>[i,a!=null&&a.transform?a.transform(i):i]).sort((i,o)=>{var u,c;for(let f=0;fs!=null?s.toString().toLocaleLowerCase():s),h!==x))return Ie(h)&&Ie(x)?0:Ie(h)?-1:Ie(x)?1:!isNaN(h)&&!isNaN(x)?Number(h)-Number(x):n.compare(h,x)}return 0}).map(i=>{let[o]=i;return o})}const Dt=$({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:te,default:"$sortAsc"},sortDescIcon:{type:te,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...Ue(),...ha()},"VDataTableHeaders"),at=le()({name:"VDataTableHeaders",props:Dt(),setup(e,l){let{slots:t}=l;const{t:a}=ge(),{toggleSort:n,sortBy:r,isSorted:i}=Tt(),{someSelected:o,allSelected:u,selectAll:c,showSelectAll:f}=Ee(),{columns:y,headers:m}=Re(),{loaderClasses:b}=va(e);function h(w,g){if(!(e.sticky||e.fixedHeader)&&!w.fixed)return;const D=typeof w.fixed=="string"?w.fixed:w.fixed?"start":"none";return{position:"sticky",left:D==="start"?q(w.fixedOffset):void 0,right:D==="end"?q(w.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${g})`:void 0}}function x(w,g){w.key==="Enter"&&!e.disableSort&&n(g)}function v(w){const g=r.value.find(D=>D.key===w.key);return g?g.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:V,backgroundColorStyles:s}=ma(()=>e.color),{displayClasses:T,mobile:A}=ke(e),P=F(()=>({headers:m.value,columns:y.value,toggleSort:n,isSorted:i,sortBy:r.value,someSelected:o.value,allSelected:u.value,selectAll:c,getSortIcon:v})),G=F(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},T.value,b.value]),K=w=>{let{column:g,x:D,y:B}=w;const z=g.key==="data-table-select"||g.key==="data-table-expand",X=E(e.headerProps??{},g.headerProps??{});return I(Be,E({tag:"th",align:g.align,class:[{"v-data-table__th--sortable":g.sortable&&!e.disableSort,"v-data-table__th--sorted":i(g),"v-data-table__th--fixed":g.fixed},...G.value],style:{width:q(g.width),minWidth:q(g.minWidth),maxWidth:q(g.maxWidth),...h(g,B)},colspan:g.colspan,rowspan:g.rowspan,fixed:g.fixed,nowrap:g.nowrap,lastFixed:g.lastFixed,firstFixedEnd:g.firstFixedEnd,noPadding:z,tabindex:g.sortable?0:void 0,onClick:g.sortable?()=>n(g):void 0,onKeydown:g.sortable?ee=>x(ee,g):void 0},X),{default:()=>{var ne;const ee=`header.${g.key}`,U={column:g,selectAll:c,isSorted:i,toggleSort:n,sortBy:r.value,someSelected:o.value,allSelected:u.value,getSortIcon:v};return t[ee]?t[ee](U):g.key==="data-table-select"?((ne=t["header.data-table-select"])==null?void 0:ne.call(t,U))??(f.value&&I(Le,{modelValue:u.value,indeterminate:o.value&&!u.value,"onUpdate:modelValue":c},null)):S("div",{class:"v-data-table-header__content"},[S("span",null,[g.title]),g.sortable&&!e.disableSort&&I(Ce,{key:"icon",class:"v-data-table-header__sort-icon",icon:v(g)},null),e.multiSort&&i(g)&&S("div",{key:"badge",class:ce(["v-data-table-header__sort-badge",...V.value]),style:Ae(s.value)},[r.value.findIndex(ie=>ie.key===g.key)+1])])}})},p=()=>{const w=F(()=>y.value.filter(D=>(D==null?void 0:D.sortable)&&!e.disableSort)),g=F(()=>{if(y.value.find(B=>B.key==="data-table-select")!=null)return u.value?"$checkboxOn":o.value?"$checkboxIndeterminate":"$checkboxOff"});return I(Be,E({tag:"th",class:[...G.value],colspan:m.value.length+1},e.headerProps),{default:()=>[S("div",{class:"v-data-table-header__content"},[I(mt,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:w.value,label:a("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:g.value,"onClick:append":()=>c(!u.value)},{chip:D=>{var B;return I(vt,{onClick:(B=D.item.raw)!=null&&B.sortable?()=>n(D.item.raw):void 0,onMousedown:z=>{z.preventDefault(),z.stopPropagation()}},{default:()=>[D.item.title,I(Ce,{class:ce(["v-data-table__td-sort-icon",i(D.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:v(D.item.raw),size:"small"},null)]})}})])]})};ue(()=>A.value?S("tr",null,[I(p,null,null)]):S(ae,null,[t.headers?t.headers(P.value):m.value.map((w,g)=>S("tr",null,[w.map((D,B)=>I(K,{column:D,x:B,y:g},null))])),e.loading&&S("tr",{class:"v-data-table-progress"},[S("th",{colspan:y.value.length},[I(ga,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:t.loader})])])]))}}),ll=$({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Ft=Symbol.for("vuetify:data-table-group");function nl(e){return{groupBy:oe(e,"groupBy")}}function rl(e){const{disableSort:l,groupBy:t,sortBy:a}=e,n=J(new Set),r=F(()=>t.value.map(f=>({...f,order:f.order??!1})).concat(l!=null&&l.value?[]:a.value));function i(f){return n.value.has(f.id)}function o(f){const y=new Set(n.value);i(f)?y.delete(f.id):y.add(f.id),n.value=y}function u(f){function y(m){const b=[];for(const h of m.items)"type"in h&&h.type==="group"?b.push(...y(h)):b.push(h);return[...new Set(b)]}return y({items:f})}const c={sortByWithGroups:r,toggleGroup:o,opened:n,groupBy:t,extractRows:u,isGroupOpen:i};return be(Ft,c),c}function Ct(){const e=he(Ft);if(!e)throw new Error("Missing group!");return e}function ul(e,l){if(!e.length)return[];const t=new Map;for(const a of e){const n=_e(a.raw,l);t.has(n)||t.set(n,[]),t.get(n).push(a)}return t}function _t(e,l){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!l.length)return[];const n=ul(e,l[0]),r=[],i=l.slice(1);return n.forEach((o,u)=>{const c=l[0],f=`${a}_${c}_${u}`;r.push({depth:t,id:f,key:c,value:u,items:i.length?_t(o,i,t+1,f):o,type:"group"})}),r}function Bt(e,l){const t=[];for(const a of e)"type"in a&&a.type==="group"?(a.value!=null&&t.push(a),(l.has(a.id)||a.value==null)&&t.push(...Bt(a.items,l))):t.push(a);return t}function ol(e,l,t){return{flatItems:F(()=>{if(!l.value.length)return e.value;const n=_t(e.value,l.value.map(r=>r.key));return Bt(n,t.value)})}}const il=$({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),sl=le()({name:"VDataTableGroupHeaderRow",props:il(),setup(e,l){let{slots:t}=l;const{isGroupOpen:a,toggleGroup:n,extractRows:r}=Ct(),{isSelected:i,isSomeSelected:o,select:u}=Ee(),{columns:c}=Re(),f=F(()=>r([e.item]));return()=>S("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[c.value.map(y=>{var m,b;if(y.key==="data-table-group"){const h=a(e.item)?"$expand":"$next",x=()=>n(e.item);return((m=t["data-table-group"])==null?void 0:m.call(t,{item:e.item,count:f.value.length,props:{icon:h,onClick:x}}))??I(Be,{class:"v-data-table-group-header-row__column"},{default:()=>[I(de,{size:"small",variant:"text",icon:h,onClick:x},null),S("span",null,[e.item.value]),S("span",null,[Ke("("),f.value.length,Ke(")")])]})}if(y.key==="data-table-select"){const h=i(f.value),x=o(f.value)&&!h,v=V=>u(f.value,V);return((b=t["data-table-select"])==null?void 0:b.call(t,{props:{modelValue:h,indeterminate:x,"onUpdate:modelValue":v}}))??S("td",null,[I(Le,{modelValue:h,indeterminate:x,"onUpdate:modelValue":v},null)])}return S("td",null,null)})])}}),cl=$({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),At=Symbol.for("vuetify:datatable:expanded");function dl(e){const l=j(()=>e.expandOnClick),t=oe(e,"expanded",e.expanded,o=>new Set(o),o=>[...o.values()]);function a(o,u){const c=new Set(t.value);u?c.add(o.value):c.delete(o.value),t.value=c}function n(o){return t.value.has(o.value)}function r(o){a(o,!n(o))}const i={expand:a,expanded:t,expandOnClick:l,isExpanded:n,toggleExpand:r};return be(At,i),i}function Ot(){const e=he(At);if(!e)throw new Error("foo");return e}const fl=$({index:Number,item:Object,cellProps:[Object,Function],onClick:Me(),onContextmenu:Me(),onDblclick:Me(),...Ue()},"VDataTableRow"),vl=le()({name:"VDataTableRow",props:fl(),setup(e,l){let{slots:t}=l;const{displayClasses:a,mobile:n}=ke(e,"v-data-table__tr"),{isSelected:r,toggleSelect:i,someSelected:o,allSelected:u,selectAll:c}=Ee(),{isExpanded:f,toggleExpand:y}=Ot(),{toggleSort:m,sortBy:b,isSorted:h}=Tt(),{columns:x}=Re();ue(()=>S("tr",{class:ce(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},a.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&x.value.map((v,V)=>{const s=e.item,T=`item.${v.key}`,A=`header.${v.key}`,P={index:e.index,item:s.raw,internalItem:s,value:_e(s.columns,v.key),column:v,isSelected:r,toggleSelect:i,isExpanded:f,toggleExpand:y},G={column:v,selectAll:c,isSorted:h,toggleSort:m,sortBy:b.value,someSelected:o.value,allSelected:u.value,getSortIcon:()=>""},K=typeof e.cellProps=="function"?e.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value,column:v}):e.cellProps,p=typeof v.cellProps=="function"?v.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value}):v.cellProps;return I(Be,E({align:v.align,class:{"v-data-table__td--expanded-row":v.key==="data-table-expand","v-data-table__td--select-row":v.key==="data-table-select"},fixed:v.fixed,fixedOffset:v.fixedOffset,fixedEndOffset:v.fixedEndOffset,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,maxWidth:n.value?void 0:v.maxWidth,noPadding:v.key==="data-table-select"||v.key==="data-table-expand",nowrap:v.nowrap,width:n.value?void 0:v.width},K,p),{default:()=>{var g,D,B,z;if(v.key==="data-table-select")return((g=t["item.data-table-select"])==null?void 0:g.call(t,{...P,props:{disabled:!s.selectable,modelValue:r([s]),onClick:Te(()=>i(s),["stop"])}}))??I(Le,{disabled:!s.selectable,modelValue:r([s]),onClick:Te(X=>i(s,e.index,X),["stop"])},null);if(v.key==="data-table-expand")return((D=t["item.data-table-expand"])==null?void 0:D.call(t,{...P,props:{icon:f(s)?"$collapse":"$expand",size:"small",variant:"text",onClick:Te(()=>y(s),["stop"])}}))??I(de,{icon:f(s)?"$collapse":"$expand",size:"small",variant:"text",onClick:Te(()=>y(s),["stop"])},null);if(t[T]&&!n.value)return t[T](P);const w=ba(P.value);return n.value?S(ae,null,[S("div",{class:"v-data-table__td-title"},[((B=t[A])==null?void 0:B.call(t,G))??v.title]),S("div",{class:"v-data-table__td-value"},[((z=t[T])==null?void 0:z.call(t,P))??w])]):w}})})]))}}),Lt=$({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Ue()},"VDataTableRows"),lt=le()({name:"VDataTableRows",inheritAttrs:!1,props:Lt(),setup(e,l){let{attrs:t,slots:a}=l;const{columns:n}=Re(),{expandOnClick:r,toggleExpand:i,isExpanded:o}=Ot(),{isSelected:u,toggleSelect:c}=Ee(),{toggleGroup:f,isGroupOpen:y}=Ct(),{t:m}=ge(),{mobile:b}=ke(e);return ue(()=>{var h,x;return e.loading&&(!e.items.length||a.loading)?S("tr",{class:"v-data-table-rows-loading",key:"loading"},[S("td",{colspan:n.value.length},[((h=a.loading)==null?void 0:h.call(a))??m(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?S("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[S("td",{colspan:n.value.length},[((x=a["no-data"])==null?void 0:x.call(a))??m(e.noDataText)])]):S(ae,null,[e.items.map((v,V)=>{var A;if(v.type==="group"){const P={index:V,item:v,columns:n.value,isExpanded:o,toggleExpand:i,isSelected:u,toggleSelect:c,toggleGroup:f,isGroupOpen:y};return a["group-header"]?a["group-header"](P):I(sl,E({key:`group-header_${v.id}`,item:v},Ze(t,":group-header",()=>P)),a)}const s={index:V,item:v.raw,internalItem:v,columns:n.value,isExpanded:o,toggleExpand:i,isSelected:u,toggleSelect:c},T={...s,props:E({key:`item_${v.key??v.index}`,onClick:r.value?()=>{i(v)}:void 0,index:V,item:v,cellProps:e.cellProps,mobile:b.value},Ze(t,":row",()=>s),typeof e.rowProps=="function"?e.rowProps({item:s.item,index:s.index,internalItem:s.internalItem}):e.rowProps)};return S(ae,{key:T.props.key},[a.item?a.item(T):I(vl,T.props,a),o(v)&&((A=a["expanded-row"])==null?void 0:A.call(a,s))])})])}),{}}}),Rt=$({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Oe(),...it(),...ot(),...ut()},"VTable"),nt=le()({name:"VTable",props:Rt(),setup(e,l){let{slots:t,emit:a}=l;const{themeClasses:n}=rt(e),{densityClasses:r}=ya(e);return ue(()=>{const i={VCheckboxBtn:{density:e.density}};return I(e.tag,{class:ce(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},n.value,r.value,e.class]),style:Ae(e.style)},{default:()=>{var o,u;return[(o=t.top)==null?void 0:o.call(t),I(ft,{defaults:i},{default:()=>{var c;return[t.default?S("div",{class:"v-table__wrapper",style:{height:q(e.height)}},[S("table",null,[t.default()])]):(c=t.wrapper)==null?void 0:c.call(t)]}}),(u=t.bottom)==null?void 0:u.call(t)]}})}),{}}}),ml=$({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function gl(e,l,t,a){const n=e.returnObject?l:fe(l,e.itemValue),r=fe(l,e.itemSelectable,!0),i=a.reduce((o,u)=>(u.key!=null&&(o[u.key]=fe(l,u.value)),o),{});return{type:"item",key:e.returnObject?fe(l,e.itemValue):n,index:t,value:n,selectable:r,columns:i,raw:l}}function hl(e,l,t){return l.map((a,n)=>gl(e,a,n,t))}function bl(e,l){return{items:F(()=>hl(e,e.items,l.value))}}function yl(e){let{page:l,itemsPerPage:t,sortBy:a,groupBy:n,search:r}=e;const i=Ge("VDataTable"),o=()=>({page:l.value,itemsPerPage:t.value,sortBy:a.value,groupBy:n.value,search:r.value});let u=null;re(o,c=>{we(u,c)||(u&&u.search!==c.search&&(l.value=1),i.emit("update:options",c),u=c)},{deep:!0,immediate:!0})}const xl=(e,l,t)=>{if(e==null||l==null)return-1;if(!l.length)return 0;e=e.toString().toLocaleLowerCase(),l=l.toString().toLocaleLowerCase();const a=[];let n=e.indexOf(l);for(;~n;)a.push([n,n+l.length]),n=e.indexOf(l,n+l.length);return a.length?a:-1};function Ne(e,l){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+l.length]]:Array.isArray(e[0])?e:[e]}const Sl=$({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Pl(e,l,t){var o;const a=[],n=(t==null?void 0:t.default)??xl,r=t!=null&&t.filterKeys?me(t.filterKeys):!1,i=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return a;e:for(let u=0;u0)&&!(t!=null&&t.noFilter)){if(typeof c=="object"){if(c.type==="divider"||c.type==="subheader")continue;const v=r||Object.keys(f);for(const V of v){const s=fe(f,V),T=(o=t==null?void 0:t.customKeyFilter)==null?void 0:o[V];if(b=T?T(s,l,c):n(s,l,c),b!==-1&&b!==!1)T?y[V]=Ne(b,l):m[V]=Ne(b,l);else if((t==null?void 0:t.filterMode)==="every")continue e}}else b=n(c,l,c),b!==-1&&b!==!1&&(m.title=Ne(b,l));const h=Object.keys(m).length,x=Object.keys(y).length;if(!h&&!x||(t==null?void 0:t.filterMode)==="union"&&x!==i&&!h||(t==null?void 0:t.filterMode)==="intersection"&&(x!==i||!h))continue}a.push({index:u,matches:{...m,...y}})}return a}function pl(e,l,t,a){const n=Z([]),r=Z(new Map),i=F(()=>a!=null&&a.transform?pe(l).map(u=>[u,a.transform(u)]):pe(l));Fe(()=>{const u=typeof t=="function"?t():pe(t),c=typeof u!="string"&&typeof u!="number"?"":String(u),f=Pl(i.value,c,{customKeyFilter:{...e.customKeyFilter,...pe(a==null?void 0:a.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),y=pe(l),m=[],b=new Map;f.forEach(h=>{let{index:x,matches:v}=h;const V=y[x];m.push(V),b.set(V.value,v)}),n.value=m,r.value=b});function o(u){return r.value.get(u.value)}return{filteredItems:n,filteredMatches:r,getMatches:o}}const wl=$({...Lt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...cl(),...ll(),...Ka(),...ml(),...Xa(),...Ja(),...Dt(),...Rt()},"DataTable"),kl=$({...Ea(),...wl(),...Sl(),...ht()},"VDataTable"),Cl=le()({name:"VDataTable",props:kl(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,l){let{attrs:t,slots:a}=l;const{groupBy:n}=nl(e),{sortBy:r,multiSort:i,mustSort:o}=Za(e),{page:u,itemsPerPage:c}=Ma(e),{disableSort:f}=xa(e),{columns:y,headers:m,sortFunctions:b,sortRawFunctions:h,filterFunctions:x}=qa(e,{groupBy:n,showSelect:j(()=>e.showSelect),showExpand:j(()=>e.showExpand)}),{items:v}=bl(e,y),V=j(()=>e.search),{filteredItems:s}=pl(e,v,V,{transform:L=>L.columns,customKeyFilter:x}),{toggleSort:T}=el({sortBy:r,multiSort:i,mustSort:o,page:u}),{sortByWithGroups:A,opened:P,extractRows:G,isGroupOpen:K,toggleGroup:p}=rl({groupBy:n,sortBy:r,disableSort:f}),{sortedItems:w}=tl(e,s,A,{transform:L=>({...L.raw,...L.columns}),sortFunctions:b,sortRawFunctions:h}),{flatItems:g}=ol(w,n,P),D=F(()=>g.value.length),{startIndex:B,stopIndex:z,pageCount:X,setItemsPerPage:ee}=$a({page:u,itemsPerPage:c,itemsLength:D}),{paginatedItems:U}=Ha({items:g,startIndex:B,stopIndex:z,itemsPerPage:c}),ne=F(()=>G(U.value)),{isSelected:ie,select:ye,selectAll:d,toggleSelect:k,someSelected:_,allSelected:N}=Ya(e,{allItems:v,currentPage:ne}),{isExpanded:W,toggleExpand:C}=dl(e);yl({page:u,itemsPerPage:c,sortBy:r,groupBy:n,search:V}),He({VDataTableRows:{hideNoData:j(()=>e.hideNoData),noDataText:j(()=>e.noDataText),loading:j(()=>e.loading),loadingText:j(()=>e.loadingText)}});const O=F(()=>({page:u.value,itemsPerPage:c.value,sortBy:r.value,pageCount:X.value,toggleSort:T,setItemsPerPage:ee,someSelected:_.value,allSelected:N.value,isSelected:ie,select:ye,selectAll:d,toggleSelect:k,isExpanded:W,toggleExpand:C,isGroupOpen:K,toggleGroup:p,items:ne.value.map(L=>L.raw),internalItems:ne.value,groupedItems:U.value,columns:y.value,headers:m.value}));return ue(()=>{const L=tt.filterProps(e),Y=at.filterProps(e),R=lt.filterProps(e),Q=nt.filterProps(e);return I(nt,E({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Q,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var M;return(M=a.top)==null?void 0:M.call(a,O.value)},default:()=>{var M,H,se,xe,Se,Pe;return a.default?a.default(O.value):S(ae,null,[(M=a.colgroup)==null?void 0:M.call(a,O.value),!e.hideDefaultHeader&&S("thead",{key:"thead"},[I(at,Y,a)]),(H=a.thead)==null?void 0:H.call(a,O.value),!e.hideDefaultBody&&S("tbody",null,[(se=a["body.prepend"])==null?void 0:se.call(a,O.value),a.body?a.body(O.value):I(lt,E(t,R,{items:U.value}),a),(xe=a["body.append"])==null?void 0:xe.call(a,O.value)]),(Se=a.tbody)==null?void 0:Se.call(a,O.value),(Pe=a.tfoot)==null?void 0:Pe.call(a,O.value)])},bottom:()=>a.bottom?a.bottom(O.value):!e.hideDefaultFooter&&S(ae,null,[I(dt,null,null),I(tt,L,{prepend:a["footer.prepend"]})])})}),{}}});export{Cl as V,nt as a,mt as b}; diff --git a/assets/VDataTable-DAMkWB1R.js b/assets/VDataTable-DAMkWB1R.js deleted file mode 100644 index 763b66f..0000000 --- a/assets/VDataTable-DAMkWB1R.js +++ /dev/null @@ -1 +0,0 @@ -import{bE as $t,W as Y,bF as Nt,g as le,p as $,S as oe,J as ge,aj as Ht,a7 as rt,aB as ke,X as Z,aV as He,bG as ze,K as F,a1 as Ve,Y as z,c as ue,d as I,i as S,y as de,E,e as ce,n as Ae,bH as Kt,ad as ut,m as ot,bI as jt,ae as zt,ah as Gt,aW as it,h as Oe,ai as Wt,M as te,bJ as qe,aO as De,Z as re,F as ae,a2 as Fe,bK as Ut,bk as st,bl as ve,bL as fe,bM as ct,bN as Ge,u as qt,bj as Qt,b7 as Xt,bO as Jt,L as q,f as Yt,bP as Zt,U as me,bQ as we,v as Ce,aq as ea,ar as Qe,bR as ta,au as dt,b0 as aa,at as la,bS as na,P as ft,t as Ke,aM as ra,aJ as ua,$ as oa,bT as ia,bU as Xe,bV as Je,bW as sa,bu as he,bz as be,bX as ca,bY as da,bZ as fa,b_ as _e,b$ as Ie,c0 as va,N as ma,c1 as ga,c2 as ha,br as We,b2 as Te,C as ba,Q as Me,aT as ya,c3 as pe,c4 as xa}from"./index-DmGr2YjE.js";import{h as Sa,V as Ye,i as Pa}from"./VTextField-C4kOar5O.js";import{V as pa}from"./VMenu-BNxvK6X3.js";import{V as Le}from"./VCheckboxBtn-vttsGEHT.js";import{V as vt}from"./VChip-Cb9zLh7n.js";function Ze(e,l,t){return Object.keys(e).filter(a=>$t(a)&&a.endsWith(l)).reduce((a,n)=>(a[n.slice(0,-l.length)]=r=>e[n](r,t(r)),a),{})}function wa(){const e=Y([]);Nt(()=>e.value=[]);function l(t,a){e.value[a]=t}return{refs:e,updateRef:l}}const ka=$({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:te,default:"$first"},prevIcon:{type:te,default:"$prev"},nextIcon:{type:te,default:"$next"},lastIcon:{type:te,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...Wt(),...Oe(),...it(),...Gt(),...zt(),...jt(),...ot({tag:"nav"}),...ut(),...Kt({variant:"text"})},"VPagination"),et=le()({name:"VPagination",props:ka(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,l){let{slots:t,emit:a}=l;const n=oe(e,"modelValue"),{t:r,n:i}=ge(),{isRtl:o}=Ht(),{themeClasses:u}=rt(e),{width:c}=ke(),f=Z(-1);He(void 0,{scoped:!0});const{resizeRef:y}=ze(p=>{if(!p.length)return;const{target:w,contentRect:g}=p[0],D=w.querySelector(".v-pagination__list > *");if(!D)return;const B=g.width,j=D.offsetWidth+parseFloat(getComputedStyle(D).marginRight)*2;f.value=x(B,j)}),m=F(()=>parseInt(e.length,10)),b=F(()=>parseInt(e.start,10)),h=F(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):f.value>=0?f.value:x(c.value,58));function x(p,w){const g=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((p-w*g)/w).toFixed(2))))}const v=F(()=>{if(m.value<=0||isNaN(m.value)||m.value>Number.MAX_SAFE_INTEGER)return[];if(h.value<=0)return[];if(h.value===1)return[n.value];if(m.value<=h.value)return Ve(m.value,b.value);const p=h.value%2===0,w=p?h.value/2:Math.floor(h.value/2),g=p?w:w+1,D=m.value-w;if(g-n.value>=0)return[...Ve(Math.max(1,h.value-1),b.value),e.ellipsis,m.value];if(n.value-D>=(p?1:0)){const B=h.value-1,j=m.value-B+b.value;return[b.value,e.ellipsis,...Ve(B,j)]}else{const B=Math.max(1,h.value-2),j=B===1?n.value:n.value-Math.ceil(B/2)+b.value;return[b.value,e.ellipsis,...Ve(B,j),e.ellipsis,m.value]}});function V(p,w,g){p.preventDefault(),n.value=w,g&&a(g,w)}const{refs:s,updateRef:T}=wa();He({VPaginationBtn:{color:z(()=>e.color),border:z(()=>e.border),density:z(()=>e.density),size:z(()=>e.size),variant:z(()=>e.variant),rounded:z(()=>e.rounded),elevation:z(()=>e.elevation)}});const A=F(()=>v.value.map((p,w)=>{const g=D=>T(D,w);if(typeof p=="string")return{isActive:!1,key:`ellipsis-${w}`,page:p,props:{ref:g,ellipsis:!0,icon:!0,disabled:!0}};{const D=p===n.value;return{isActive:D,key:p,page:i(p),props:{ref:g,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:D?e.activeColor:e.color,"aria-current":D,"aria-label":r(D?e.currentPageAriaLabel:e.pageAriaLabel,p),onClick:B=>V(B,p)}}}})),P=F(()=>{const p=!!e.disabled||n.value<=b.value,w=!!e.disabled||n.value>=b.value+m.value-1;return{first:e.showFirstLastPage?{icon:o.value?e.lastIcon:e.firstIcon,onClick:g=>V(g,b.value,"first"),disabled:p,"aria-label":r(e.firstAriaLabel),"aria-disabled":p}:void 0,prev:{icon:o.value?e.nextIcon:e.prevIcon,onClick:g=>V(g,n.value-1,"prev"),disabled:p,"aria-label":r(e.previousAriaLabel),"aria-disabled":p},next:{icon:o.value?e.prevIcon:e.nextIcon,onClick:g=>V(g,n.value+1,"next"),disabled:w,"aria-label":r(e.nextAriaLabel),"aria-disabled":w},last:e.showFirstLastPage?{icon:o.value?e.firstIcon:e.lastIcon,onClick:g=>V(g,b.value+m.value-1,"last"),disabled:w,"aria-label":r(e.lastAriaLabel),"aria-disabled":w}:void 0}});function G(){var w;const p=n.value-b.value;(w=s.value[p])==null||w.$el.focus()}function K(p){p.key===qe.left&&!e.disabled&&n.value>Number(e.start)?(n.value=n.value-1,De(G)):p.key===qe.right&&!e.disabled&&n.valueI(e.tag,{ref:y,class:ce(["v-pagination",u.value,e.class]),style:Ae(e.style),role:"navigation","aria-label":r(e.ariaLabel),onKeydown:K,"data-test":"v-pagination-root"},{default:()=>[S("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&S("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[t.first?t.first(P.value.first):I(de,E({_as:"VPaginationBtn"},P.value.first),null)]),S("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[t.prev?t.prev(P.value.prev):I(de,E({_as:"VPaginationBtn"},P.value.prev),null)]),A.value.map((p,w)=>S("li",{key:p.key,class:ce(["v-pagination__item",{"v-pagination__item--is-active":p.isActive}]),"data-test":"v-pagination-item"},[t.item?t.item(p):I(de,E({_as:"VPaginationBtn"},p.props),{default:()=>[p.page]})])),S("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[t.next?t.next(P.value.next):I(de,E({_as:"VPaginationBtn"},P.value.next),null)]),e.showFirstLastPage&&S("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[t.last?t.last(P.value.last):I(de,E({_as:"VPaginationBtn"},P.value.last),null)])])]})),{}}}),Va=$({renderless:Boolean,...Oe()},"VVirtualScrollItem"),Ia=le()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Va(),emits:{"update:height":e=>!0},setup(e,l){let{attrs:t,emit:a,slots:n}=l;const{resizeRef:r,contentRect:i}=ze(void 0,"border");re(()=>{var o;return(o=i.value)==null?void 0:o.height},o=>{o!=null&&a("update:height",o)}),ue(()=>{var o,u;return e.renderless?S(ae,null,[(o=n.default)==null?void 0:o.call(n,{itemRef:r})]):S("div",E({ref:r,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(u=n.default)==null?void 0:u.call(n)])})}}),Ta=-1,Da=1,$e=100,Fa=$({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Ca(e,l){const t=ke(),a=Z(0);Fe(()=>{a.value=parseFloat(e.itemHeight||0)});const n=Z(0),r=Z(Math.ceil((parseInt(e.height)||t.height.value)/(a.value||16))||1),i=Z(0),o=Z(0),u=Y(),c=Y();let f=0;const{resizeRef:y,contentRect:m}=ze();Fe(()=>{y.value=u.value});const b=F(()=>{var d;return u.value===document.documentElement?t.height.value:((d=m.value)==null?void 0:d.height)||parseInt(e.height)||0}),h=F(()=>!!(u.value&&c.value&&b.value&&a.value));let x=Array.from({length:l.value.length}),v=Array.from({length:l.value.length});const V=Z(0);let s=-1;function T(d){return x[d]||a.value}const A=Ut(()=>{const d=performance.now();v[0]=0;const k=l.value.length;for(let _=1;_<=k-1;_++)v[_]=(v[_-1]||0)+T(_-1);V.value=Math.max(V.value,performance.now()-d)},V),P=re(h,d=>{d&&(P(),f=c.value.offsetTop,A.immediate(),W(),~s&&De(()=>{ct&&window.requestAnimationFrame(()=>{ie(s),s=-1})}))});st(()=>{A.clear()});function G(d,k){const _=x[d],N=a.value;a.value=N?Math.min(a.value,k):k,(_!==k||N!==a.value)&&(x[d]=k,A())}function K(d){d=ve(d,0,l.value.length-1);const k=Math.floor(d),_=d%1,N=k+1,U=v[k]||0,C=v[N]||U;return U+(C-U)*_}function p(d){return _a(v,d)}let w=0,g=0,D=0;re(b,(d,k)=>{k&&(W(),d{g=0,W()}))});let B=-1;function j(){if(!u.value||!c.value)return;const d=u.value.scrollTop,k=performance.now();k-D>500?(g=Math.sign(d-w),f=c.value.offsetTop):g=d-w,w=d,D=k,window.clearTimeout(B),B=window.setTimeout(X,500),W()}function X(){!u.value||!c.value||(g=0,D=0,window.clearTimeout(B),W())}let ee=-1;function W(){cancelAnimationFrame(ee),ee=requestAnimationFrame(ne)}function ne(){if(!u.value||!b.value||!a.value)return;const d=w-f,k=Math.sign(g),_=Math.max(0,d-$e),N=ve(p(_),0,l.value.length),U=d+b.value+$e,C=ve(p(U)+1,N+1,l.value.length);if((k!==Ta||Nr.value)){const O=K(n.value)-K(N),L=K(C)-K(r.value);Math.max(O,L)>$e?(n.value=N,r.value=C):(N<=0&&(n.value=N),C>=l.value.length&&(r.value=C))}i.value=K(n.value),o.value=K(l.value.length)-K(r.value)}function ie(d){const k=K(d);!u.value||d&&!k?s=d:u.value.scrollTop=k}const ye=F(()=>l.value.slice(n.value,r.value).map((d,k)=>{const _=k+n.value;return{raw:d,index:_,key:fe(d,e.itemKey,_)}}));return re(l,()=>{x=Array.from({length:l.value.length}),v=Array.from({length:l.value.length}),A.immediate(),W()},{deep:1}),{calculateVisibleItems:W,containerRef:u,markerRef:c,computedItems:ye,paddingTop:i,paddingBottom:o,scrollToIndex:ie,handleScroll:j,handleScrollend:X,handleItemResize:G}}function _a(e,l){let t=e.length-1,a=0,n=0,r=null,i=-1;if(e[t]>1,r=e[n],r>l)t=n-1;else if(r[]},renderless:Boolean,...Fa(),...Oe(),...Yt()},"VVirtualScroll"),Aa=le()({name:"VVirtualScroll",props:Ba(),setup(e,l){let{slots:t}=l;const a=Ge("VVirtualScroll"),{dimensionStyles:n}=qt(e),{calculateVisibleItems:r,containerRef:i,markerRef:o,handleScroll:u,handleScrollend:c,handleItemResize:f,scrollToIndex:y,paddingTop:m,paddingBottom:b,computedItems:h}=Ca(e,z(()=>e.items));return Qt(()=>e.renderless,()=>{function x(){var s,T;const V=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";i.value===document.documentElement?(document[V]("scroll",u,{passive:!0}),document[V]("scrollend",c)):((s=i.value)==null||s[V]("scroll",u,{passive:!0}),(T=i.value)==null||T[V]("scrollend",c))}Xt(()=>{i.value=Jt(a.vnode.el,!0),x(!0)}),st(x)}),ue(()=>{const x=h.value.map(v=>I(Ia,{key:v.key,renderless:e.renderless,"onUpdate:height":V=>f(v.index,V)},{default:V=>{var s;return(s=t.default)==null?void 0:s.call(t,{item:v.raw,index:v.index,...V})}}));return e.renderless?S(ae,null,[S("div",{ref:o,class:"v-virtual-scroll__spacer",style:{paddingTop:q(m.value)}},null),x,S("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:q(b.value)}},null)]):S("div",{ref:i,class:ce(["v-virtual-scroll",e.class]),onScrollPassive:u,onScrollend:c,style:Ae([n.value,e.style])},[S("div",{ref:o,class:"v-virtual-scroll__container",style:{paddingTop:q(m.value),paddingBottom:q(b.value)}},[x])])}),{calculateVisibleItems:r,scrollToIndex:y}}});function Oa(e,l){const t=Z(!1);let a;function n(o){cancelAnimationFrame(a),t.value=!0,a=requestAnimationFrame(()=>{a=requestAnimationFrame(()=>{t.value=!1})})}async function r(){await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>{if(t.value){const u=re(t,()=>{u(),o()})}else o()})}async function i(o){var f,y;if(o.key==="Tab"&&((f=l.value)==null||f.focus()),!["PageDown","PageUp","Home","End"].includes(o.key))return;const u=(y=e.value)==null?void 0:y.$el;if(!u)return;(o.key==="Home"||o.key==="End")&&u.scrollTo({top:o.key==="Home"?0:u.scrollHeight,behavior:"smooth"}),await r();const c=u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(o.key==="PageDown"||o.key==="Home"){const m=u.getBoundingClientRect().top;for(const b of c)if(b.getBoundingClientRect().top>=m){b.focus();break}}else{const m=u.getBoundingClientRect().bottom;for(const b of[...c].reverse())if(b.getBoundingClientRect().bottom<=m){b.focus();break}}}return{onScrollPassive:n,onKeydown:i}}const La=$({chips:Boolean,closableChips:Boolean,closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"},eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:te,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...sa({itemChildren:!1})},"Select"),Ra=$({...La(),...oa(Pa({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...ua({transition:{component:ia}})},"VSelect"),mt=le()({name:"VSelect",props:Ra(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,l){let{slots:t}=l;const{t:a}=ge(),n=Y(),r=Y(),i=Y(),{items:o,transformIn:u,transformOut:c}=Zt(e),f=oe(e,"modelValue",[],d=>u(d===null?[null]:me(d)),d=>{const k=c(d);return e.multiple?k:k[0]??null}),y=F(()=>typeof e.counterValue=="function"?e.counterValue(f.value):typeof e.counterValue=="number"?e.counterValue:f.value.length),m=Sa(e),b=F(()=>f.value.map(d=>d.value)),h=Z(!1);let x="",v=-1,V;const s=F(()=>e.hideSelected?o.value.filter(d=>!f.value.some(k=>(e.valueComparator||we)(k,d))):o.value),T=F(()=>e.hideNoData&&!s.value.length||m.isReadonly.value||m.isDisabled.value),A=oe(e,"menu"),P=F({get:()=>A.value,set:d=>{var k;A.value&&!d&&((k=r.value)!=null&&k.ΨopenChildren.size)||d&&T.value||(A.value=d)}}),G=z(()=>P.value?e.closeText:e.openText),K=F(()=>{var d;return{...e.menuProps,activatorProps:{...((d=e.menuProps)==null?void 0:d.activatorProps)||{},"aria-haspopup":"listbox"}}}),p=Y(),w=Oa(p,n);function g(d){e.openOnClear&&(P.value=!0)}function D(){T.value||(P.value=!P.value)}function B(d){Xe(d)&&j(d)}function j(d){var R,Q,M;if(!d.key||m.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(d.key)&&d.preventDefault(),["Enter","ArrowDown"," "].includes(d.key)&&(P.value=!0),["Escape","Tab"].includes(d.key)&&(P.value=!1),d.key==="Home"?(R=p.value)==null||R.focus("first"):d.key==="End"&&((Q=p.value)==null||Q.focus("last"));const k=1e3;if(!Xe(d))return;const _=performance.now();_-V>k&&(x="",v=-1),x+=d.key.toLowerCase(),V=_;const N=s.value;function U(){let H=C();return H||x.at(-1)===x.at(-2)&&(x=x.slice(0,-1),H=C(),H)||(v=-1,H=C(),H)?H:(x=d.key.toLowerCase(),C())}function C(){for(let H=v+1;H1&&arguments[1]!==void 0?arguments[1]:!0;if(!d.props.disabled)if(e.multiple){const _=f.value.findIndex(U=>(e.valueComparator||we)(U.value,d.value)),N=k??!~_;if(~_){const U=N?[...f.value,d]:[...f.value];U.splice(_,1),f.value=U}else N&&(f.value=[...f.value,d])}else{const _=k!==!1;f.value=_?[d]:[],De(()=>{P.value=!1})}}function ee(d){var k;(k=p.value)!=null&&k.$el.contains(d.relatedTarget)||(P.value=!1)}function W(){var d;e.eager&&((d=i.value)==null||d.calculateVisibleItems())}function ne(){var d;h.value&&((d=n.value)==null||d.focus())}function ie(d){h.value=!0}function ye(d){if(d==null)f.value=[];else if(Je(n.value,":autofill")||Je(n.value,":-webkit-autofill")){const k=o.value.find(_=>_.title===d);k&&X(k)}else n.value&&(n.value.value="")}return re(P,()=>{if(!e.hideSelected&&P.value&&f.value.length){const d=s.value.findIndex(k=>f.value.some(_=>(e.valueComparator||we)(_.value,k.value)));ct&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var k;d>=0&&((k=i.value)==null||k.scrollToIndex(d))})}}),re(()=>e.items,(d,k)=>{P.value||h.value&&e.hideNoData&&!k.length&&d.length&&(P.value=!0)}),ue(()=>{const d=!!(e.chips||t.chip),k=!!(!e.hideNoData||s.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),_=f.value.length>0,N=Ye.filterProps(e),U=_||!h.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return I(Ye,E({ref:n},N,{modelValue:f.value.map(C=>C.props.title).join(", "),"onUpdate:modelValue":ye,focused:h.value,"onUpdate:focused":C=>h.value=C,validationValue:f.externalValue,counterValue:y.value,dirty:_,class:["v-select",{"v-select--active-menu":P.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":f.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:U,"onClick:clear":g,"onMousedown:control":D,onBlur:ee,onKeydown:j,"aria-label":a(G.value),title:a(G.value)}),{...t,default:()=>S(ae,null,[I(pa,E({ref:r,modelValue:P.value,"onUpdate:modelValue":C=>P.value=C,activator:"parent",contentClass:"v-select__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:W,onAfterLeave:ne},K.value),{default:()=>[k&&I(ea,E({ref:p,selected:b.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:C=>C.preventDefault(),onKeydown:B,onFocusin:ie,tabindex:"-1","aria-live":"polite","aria-label":`${e.label}-list`,color:e.itemColor??e.color},w,e.listProps),{default:()=>{var C,O,L;return[(C=t["prepend-item"])==null?void 0:C.call(t),!s.value.length&&!e.hideNoData&&(((O=t["no-data"])==null?void 0:O.call(t))??I(Qe,{key:"no-data",title:a(e.noDataText)},null)),I(Aa,{ref:i,renderless:!0,items:s.value,itemKey:"value"},{default:J=>{var xe,Se,Pe;let{item:R,index:Q,itemRef:M}=J;const H=ta(R.props),se=E(R.props,{ref:M,key:R.value,onClick:()=>X(R,null)});return R.type==="divider"?((xe=t.divider)==null?void 0:xe.call(t,{props:R.raw,index:Q}))??I(dt,E(R.props,{key:`divider-${Q}`}),null):R.type==="subheader"?((Se=t.subheader)==null?void 0:Se.call(t,{props:R.raw,index:Q}))??I(aa,E(R.props,{key:`subheader-${Q}`}),null):((Pe=t.item)==null?void 0:Pe.call(t,{item:R,index:Q,props:se}))??I(Qe,E(se,{role:"option"}),{prepend:Et=>{let{isSelected:Mt}=Et;return S(ae,null,[e.multiple&&!e.hideSelected?I(Le,{key:R.value,modelValue:Mt,ripple:!1,tabindex:"-1"},null):void 0,H.prependAvatar&&I(la,{image:H.prependAvatar},null),H.prependIcon&&I(Ce,{icon:H.prependIcon},null)])}})}}),(L=t["append-item"])==null?void 0:L.call(t)]}})]}),f.value.map((C,O)=>{function L(M){M.stopPropagation(),M.preventDefault(),X(C,!1)}const J={"onClick:close":L,onKeydown(M){M.key!=="Enter"&&M.key!==" "||(M.preventDefault(),M.stopPropagation(),L(M))},onMousedown(M){M.preventDefault(),M.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},R=d?!!t.chip:!!t.selection,Q=R?na(d?t.chip({item:C,index:O,props:J}):t.selection({item:C,index:O})):void 0;if(!(R&&!Q))return S("div",{key:C.value,class:"v-select__selection"},[d?t.chip?I(ft,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:C.title}}},{default:()=>[Q]}):I(vt,E({key:"chip",closable:e.closableChips,size:"small",text:C.title,disabled:C.props.disabled},J),null):Q??S("span",{class:"v-select__selection-text"},[C.title,e.multiple&&ONumber(a??1)),t=oe(e,"itemsPerPage",void 0,a=>Number(a??10));return{page:l,itemsPerPage:t}}function $a(e){const{page:l,itemsPerPage:t,itemsLength:a}=e,n=F(()=>t.value===-1?0:t.value*(l.value-1)),r=F(()=>t.value===-1?a.value:Math.min(a.value,n.value+t.value)),i=F(()=>t.value===-1||a.value===0?1:Math.ceil(a.value/t.value));re([l,i],()=>{l.value>i.value&&(l.value=i.value)});function o(m){t.value=m,l.value=1}function u(){l.value=ve(l.value+1,1,i.value)}function c(){l.value=ve(l.value-1,1,i.value)}function f(m){l.value=ve(m,1,i.value)}const y={page:l,itemsPerPage:t,startIndex:n,stopIndex:r,pageCount:i,itemsLength:a,nextPage:u,prevPage:c,setPage:f,setItemsPerPage:o};return be(gt,y),y}function Na(){const e=he(gt);if(!e)throw new Error("Missing pagination!");return e}function Ha(e){const l=Ge("usePaginatedItems"),{items:t,startIndex:a,stopIndex:n,itemsPerPage:r}=e,i=F(()=>r.value<=0?t.value:t.value.slice(a.value,n.value));return re(i,o=>{l.emit("update:currentItems",o)},{immediate:!0}),{paginatedItems:i}}const ht=$({prevIcon:{type:te,default:"$prev"},nextIcon:{type:te,default:"$next"},firstIcon:{type:te,default:"$first"},lastIcon:{type:te,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),tt=le()({name:"VDataTableFooter",props:ht(),setup(e,l){let{slots:t}=l;const{t:a}=ge(),{page:n,pageCount:r,startIndex:i,stopIndex:o,itemsLength:u,itemsPerPage:c,setItemsPerPage:f}=Na(),y=F(()=>e.itemsPerPageOptions.map(m=>typeof m=="number"?{value:m,title:m===-1?a("$vuetify.dataFooter.itemsPerPageAll"):String(m)}:{...m,title:isNaN(Number(m.title))?a(m.title):m.title}));return ue(()=>{var b;const m=et.filterProps(e);return S("div",{class:"v-data-table-footer"},[(b=t.prepend)==null?void 0:b.call(t),S("div",{class:"v-data-table-footer__items-per-page"},[S("span",{"aria-label":a(e.itemsPerPageText)},[a(e.itemsPerPageText)]),I(mt,{items:y.value,modelValue:c.value,"onUpdate:modelValue":h=>f(Number(h)),density:"compact",variant:"outlined",hideDetails:!0},null)]),S("div",{class:"v-data-table-footer__info"},[S("div",null,[a(e.pageText,u.value?i.value+1:0,o.value,u.value)])]),S("div",{class:"v-data-table-footer__pagination"},[I(et,E({modelValue:n.value,"onUpdate:modelValue":h=>n.value=h,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},m),null)])])}),{}}}),Be=ca({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,l)=>{let{slots:t}=l;const a=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return I(a,{class:ce(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap},`v-data-table-column--align-${e.align}`]),style:{height:q(e.height),width:q(e.width),maxWidth:q(e.maxWidth),left:n==="start"?q(e.fixedOffset||null):void 0,right:n==="end"?q(e.fixedEndOffset||null):void 0}},{default:()=>{var r;return[(r=t.default)==null?void 0:r.call(t)]}})}),Ka=$({headers:Array},"DataTable-header"),bt=Symbol.for("vuetify:data-table-headers"),yt={title:"",sortable:!1},ja={...yt,width:48};function za(){const l=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(t=>({element:t,priority:0}));return{enqueue:(t,a)=>{let n=!1;for(let r=0;ra){l.splice(r,0,{element:t,priority:a}),n=!0;break}n||l.push({element:t,priority:a})},size:()=>l.length,count:()=>{let t=0;if(!l.length)return 0;const a=Math.floor(l[0].priority);for(let n=0;nl.shift()}}function je(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)l.push(e);else for(const t of e.children)je(t,l);return l}function xt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const t of e)t.key&&l.add(t.key),t.children&&xt(t.children,l);return l}function Ga(e){if(e.key){if(e.key==="data-table-group")return yt;if(["data-table-expand","data-table-select"].includes(e.key))return ja}}function Ue(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(l,...e.children.map(t=>Ue(t,l+1))):l}function Wa(e){let l=!1;function t(r,i){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(o!=="none"&&(r.fixed=o),r.fixed===!0&&(r.fixed="start"),r.fixed===i)if(r.children)if(i==="start")for(let u=r.children.length-1;u>=0;u--)t(r.children[u],i,i);else for(let u=0;u=0;u--)t(r.children[u],i);else for(let u=0;u=0;r--)t(e[r],"start");for(let r=0;r=0;r--)n=Pt(e[r],n)}function St(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return l;if(e.children){e.fixedOffset=l;for(const t of e.children)l=St(t,l)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=l,l+=parseFloat(e.width||"0")||0);return l}function Pt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return l;if(e.children){e.fixedEndOffset=l;for(const t of e.children)l=Pt(t,l)}else e.fixed==="end"&&(e.fixedEndOffset=l,l+=parseFloat(e.width||"0")||0);return l}function Ua(e,l){const t=[];let a=0;const n=za(e);for(;n.size()>0;){let i=n.count();const o=[];let u=1;for(;i>0;){const{element:c,priority:f}=n.dequeue(),y=l-a-Ue(c);if(o.push({...c,rowspan:y??1,colspan:c.children?je(c).length:1}),c.children)for(const m of c.children){const b=f%1+u/Math.pow(10,a+2);n.enqueue(m,a+y+b)}u+=1,i-=1}a+=1,t.push(o)}return{columns:e.map(i=>je(i)).flat(),headers:t}}function pt(e){const l=[];for(const t of e){const a={...Ga(t),...t},n=a.key??(typeof a.value=="string"?a.value:null),r=a.value??n??null,i={...a,key:n,value:r,sortable:a.sortable??(a.key!=null||!!a.sort),children:a.children?pt(a.children):void 0};l.push(i)}return l}function qa(e,l){const t=Y([]),a=Y([]),n=Y({}),r=Y({}),i=Y({});Fe(()=>{var x,v,V;const c=(e.headers||Object.keys(e.items[0]??{}).map(s=>({key:s,title:da(s)}))).slice(),f=xt(c);(x=l==null?void 0:l.groupBy)!=null&&x.value.length&&!f.has("data-table-group")&&c.unshift({key:"data-table-group",title:"Group"}),(v=l==null?void 0:l.showSelect)!=null&&v.value&&!f.has("data-table-select")&&c.unshift({key:"data-table-select"}),(V=l==null?void 0:l.showExpand)!=null&&V.value&&!f.has("data-table-expand")&&c.push({key:"data-table-expand"});const y=pt(c);Wa(y);const m=Math.max(...y.map(s=>Ue(s)))+1,b=Ua(y,m);t.value=b.headers,a.value=b.columns;const h=b.headers.flat(1);for(const s of h)s.key&&(s.sortable&&(s.sort&&(n.value[s.key]=s.sort),s.sortRaw&&(r.value[s.key]=s.sortRaw)),s.filter&&(i.value[s.key]=s.filter))});const o={headers:t,columns:a,sortFunctions:n,sortRawFunctions:r,filterFunctions:i};return be(bt,o),o}function Re(){const e=he(bt);if(!e)throw new Error("Missing headers!");return e}const Qa={showSelectAll:!1,allSelected:()=>[],select:e=>{var a;let{items:l,value:t}=e;return new Set(t?[(a=l[0])==null?void 0:a.value]:[])},selectAll:e=>{let{selected:l}=e;return l}},wt={showSelectAll:!0,allSelected:e=>{let{currentPage:l}=e;return l},select:e=>{let{items:l,value:t,selected:a}=e;for(const n of l)t?a.add(n.value):a.delete(n.value);return a},selectAll:e=>{let{value:l,currentPage:t,selected:a}=e;return wt.select({items:t,value:l,selected:a})}},kt={showSelectAll:!0,allSelected:e=>{let{allItems:l}=e;return l},select:e=>{let{items:l,value:t,selected:a}=e;for(const n of l)t?a.add(n.value):a.delete(n.value);return a},selectAll:e=>{let{value:l,allItems:t,selected:a}=e;return kt.select({items:t,value:l,selected:a})}},Xa=$({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:we}},"DataTable-select"),Vt=Symbol.for("vuetify:data-table-selection");function Ja(e,l){let{allItems:t,currentPage:a}=l;const n=oe(e,"modelValue",e.modelValue,s=>new Set(me(s).map(T=>{var A;return((A=t.value.find(P=>e.valueComparator(T,P.value)))==null?void 0:A.value)??T})),s=>[...s.values()]),r=F(()=>t.value.filter(s=>s.selectable)),i=F(()=>a.value.filter(s=>s.selectable)),o=F(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Qa;case"all":return kt;case"page":default:return wt}}),u=Z(null);function c(s){return me(s).every(T=>n.value.has(T.value))}function f(s){return me(s).some(T=>n.value.has(T.value))}function y(s,T){const A=o.value.select({items:s,value:T,selected:new Set(n.value)});n.value=A}function m(s,T,A){const P=[];if(T=T??a.value.findIndex(G=>G.value===s.value),e.selectStrategy!=="single"&&(A!=null&&A.shiftKey)&&u.value!==null){const[G,K]=[u.value,T].sort((p,w)=>p-w);P.push(...a.value.slice(G,K+1).filter(p=>p.selectable))}else P.push(s),u.value=T;y(P,!c([s]))}function b(s){const T=o.value.selectAll({value:s,allItems:r.value,currentPage:i.value,selected:new Set(n.value)});n.value=T}const h=F(()=>n.value.size>0),x=F(()=>{const s=o.value.allSelected({allItems:r.value,currentPage:i.value});return!!s.length&&c(s)}),v=z(()=>o.value.showSelectAll),V={toggleSelect:m,select:y,selectAll:b,isSelected:c,isSomeSelected:f,someSelected:h,allSelected:x,showSelectAll:v,lastSelectedIndex:u,selectStrategy:o};return be(Vt,V),V}function Ee(){const e=he(Vt);if(!e)throw new Error("Missing selection!");return e}const Ya=$({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),It=Symbol.for("vuetify:data-table-sort");function Za(e){const l=oe(e,"sortBy"),t=z(()=>e.mustSort),a=z(()=>e.multiSort);return{sortBy:l,mustSort:t,multiSort:a}}function el(e){const{sortBy:l,mustSort:t,multiSort:a,page:n}=e,r=u=>{if(u.key==null)return;let c=l.value.map(y=>({...y}))??[];const f=c.find(y=>y.key===u.key);f?f.order==="desc"?t.value&&c.length===1?f.order="asc":c=c.filter(y=>y.key!==u.key):f.order="desc":a.value?c.push({key:u.key,order:"asc"}):c=[{key:u.key,order:"asc"}],l.value=c,n&&(n.value=1)};function i(u){return!!l.value.find(c=>c.key===u.key)}const o={sortBy:l,toggleSort:r,isSorted:i};return be(It,o),o}function Tt(){const e=he(It);if(!e)throw new Error("Missing sort!");return e}function tl(e,l,t,a){const n=ge();return{sortedItems:F(()=>{var i,o;return t.value.length?al(l.value,t.value,n.current.value,{transform:a==null?void 0:a.transform,sortFunctions:{...e.customKeySort,...(i=a==null?void 0:a.sortFunctions)==null?void 0:i.value},sortRawFunctions:(o=a==null?void 0:a.sortRawFunctions)==null?void 0:o.value}):l.value})}}function al(e,l,t,a){const n=new Intl.Collator(t,{sensitivity:"accent",usage:"sort"});return e.map(i=>[i,a!=null&&a.transform?a.transform(i):i]).sort((i,o)=>{var u,c;for(let f=0;fs!=null?s.toString().toLocaleLowerCase():s),h!==x))return Ie(h)&&Ie(x)?0:Ie(h)?-1:Ie(x)?1:!isNaN(h)&&!isNaN(x)?Number(h)-Number(x):n.compare(h,x)}return 0}).map(i=>{let[o]=i;return o})}const Dt=$({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:te,default:"$sortAsc"},sortDescIcon:{type:te,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...We(),...ha()},"VDataTableHeaders"),at=le()({name:"VDataTableHeaders",props:Dt(),setup(e,l){let{slots:t}=l;const{t:a}=ge(),{toggleSort:n,sortBy:r,isSorted:i}=Tt(),{someSelected:o,allSelected:u,selectAll:c,showSelectAll:f}=Ee(),{columns:y,headers:m}=Re(),{loaderClasses:b}=va(e);function h(w,g){if(!(e.sticky||e.fixedHeader)&&!w.fixed)return;const D=typeof w.fixed=="string"?w.fixed:w.fixed?"start":"none";return{position:"sticky",left:D==="start"?q(w.fixedOffset):void 0,right:D==="end"?q(w.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${g})`:void 0}}function x(w,g){w.key==="Enter"&&!e.disableSort&&n(g)}function v(w){const g=r.value.find(D=>D.key===w.key);return g?g.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:V,backgroundColorStyles:s}=ma(()=>e.color),{displayClasses:T,mobile:A}=ke(e),P=F(()=>({headers:m.value,columns:y.value,toggleSort:n,isSorted:i,sortBy:r.value,someSelected:o.value,allSelected:u.value,selectAll:c,getSortIcon:v})),G=F(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},T.value,b.value]),K=w=>{let{column:g,x:D,y:B}=w;const j=g.key==="data-table-select"||g.key==="data-table-expand",X=E(e.headerProps??{},g.headerProps??{});return I(Be,E({tag:"th",align:g.align,class:[{"v-data-table__th--sortable":g.sortable&&!e.disableSort,"v-data-table__th--sorted":i(g),"v-data-table__th--fixed":g.fixed},...G.value],style:{width:q(g.width),minWidth:q(g.minWidth),maxWidth:q(g.maxWidth),...h(g,B)},colspan:g.colspan,rowspan:g.rowspan,fixed:g.fixed,nowrap:g.nowrap,lastFixed:g.lastFixed,firstFixedEnd:g.firstFixedEnd,noPadding:j,tabindex:g.sortable?0:void 0,onClick:g.sortable?()=>n(g):void 0,onKeydown:g.sortable?ee=>x(ee,g):void 0},X),{default:()=>{var ne;const ee=`header.${g.key}`,W={column:g,selectAll:c,isSorted:i,toggleSort:n,sortBy:r.value,someSelected:o.value,allSelected:u.value,getSortIcon:v};return t[ee]?t[ee](W):g.key==="data-table-select"?((ne=t["header.data-table-select"])==null?void 0:ne.call(t,W))??(f.value&&I(Le,{modelValue:u.value,indeterminate:o.value&&!u.value,"onUpdate:modelValue":c},null)):S("div",{class:"v-data-table-header__content"},[S("span",null,[g.title]),g.sortable&&!e.disableSort&&I(Ce,{key:"icon",class:"v-data-table-header__sort-icon",icon:v(g)},null),e.multiSort&&i(g)&&S("div",{key:"badge",class:ce(["v-data-table-header__sort-badge",...V.value]),style:Ae(s.value)},[r.value.findIndex(ie=>ie.key===g.key)+1])])}})},p=()=>{const w=F(()=>y.value.filter(D=>(D==null?void 0:D.sortable)&&!e.disableSort)),g=F(()=>{if(y.value.find(B=>B.key==="data-table-select")!=null)return u.value?"$checkboxOn":o.value?"$checkboxIndeterminate":"$checkboxOff"});return I(Be,E({tag:"th",class:[...G.value],colspan:m.value.length+1},e.headerProps),{default:()=>[S("div",{class:"v-data-table-header__content"},[I(mt,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:w.value,label:a("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:g.value,"onClick:append":()=>c(!u.value)},{chip:D=>{var B;return I(vt,{onClick:(B=D.item.raw)!=null&&B.sortable?()=>n(D.item.raw):void 0,onMousedown:j=>{j.preventDefault(),j.stopPropagation()}},{default:()=>[D.item.title,I(Ce,{class:ce(["v-data-table__td-sort-icon",i(D.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:v(D.item.raw),size:"small"},null)]})}})])]})};ue(()=>A.value?S("tr",null,[I(p,null,null)]):S(ae,null,[t.headers?t.headers(P.value):m.value.map((w,g)=>S("tr",null,[w.map((D,B)=>I(K,{column:D,x:B,y:g},null))])),e.loading&&S("tr",{class:"v-data-table-progress"},[S("th",{colspan:y.value.length},[I(ga,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:t.loader})])])]))}}),ll=$({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Ft=Symbol.for("vuetify:data-table-group");function nl(e){return{groupBy:oe(e,"groupBy")}}function rl(e){const{disableSort:l,groupBy:t,sortBy:a}=e,n=Y(new Set),r=F(()=>t.value.map(f=>({...f,order:f.order??!1})).concat(l!=null&&l.value?[]:a.value));function i(f){return n.value.has(f.id)}function o(f){const y=new Set(n.value);i(f)?y.delete(f.id):y.add(f.id),n.value=y}function u(f){function y(m){const b=[];for(const h of m.items)"type"in h&&h.type==="group"?b.push(...y(h)):b.push(h);return[...new Set(b)]}return y({items:f})}const c={sortByWithGroups:r,toggleGroup:o,opened:n,groupBy:t,extractRows:u,isGroupOpen:i};return be(Ft,c),c}function Ct(){const e=he(Ft);if(!e)throw new Error("Missing group!");return e}function ul(e,l){if(!e.length)return[];const t=new Map;for(const a of e){const n=_e(a.raw,l);t.has(n)||t.set(n,[]),t.get(n).push(a)}return t}function _t(e,l){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!l.length)return[];const n=ul(e,l[0]),r=[],i=l.slice(1);return n.forEach((o,u)=>{const c=l[0],f=`${a}_${c}_${u}`;r.push({depth:t,id:f,key:c,value:u,items:i.length?_t(o,i,t+1,f):o,type:"group"})}),r}function Bt(e,l){const t=[];for(const a of e)"type"in a&&a.type==="group"?(a.value!=null&&t.push(a),(l.has(a.id)||a.value==null)&&t.push(...Bt(a.items,l))):t.push(a);return t}function ol(e,l,t){return{flatItems:F(()=>{if(!l.value.length)return e.value;const n=_t(e.value,l.value.map(r=>r.key));return Bt(n,t.value)})}}const il=$({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),sl=le()({name:"VDataTableGroupHeaderRow",props:il(),setup(e,l){let{slots:t}=l;const{isGroupOpen:a,toggleGroup:n,extractRows:r}=Ct(),{isSelected:i,isSomeSelected:o,select:u}=Ee(),{columns:c}=Re(),f=F(()=>r([e.item]));return()=>S("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[c.value.map(y=>{var m,b;if(y.key==="data-table-group"){const h=a(e.item)?"$expand":"$next",x=()=>n(e.item);return((m=t["data-table-group"])==null?void 0:m.call(t,{item:e.item,count:f.value.length,props:{icon:h,onClick:x}}))??I(Be,{class:"v-data-table-group-header-row__column"},{default:()=>[I(de,{size:"small",variant:"text",icon:h,onClick:x},null),S("span",null,[e.item.value]),S("span",null,[Ke("("),f.value.length,Ke(")")])]})}if(y.key==="data-table-select"){const h=i(f.value),x=o(f.value)&&!h,v=V=>u(f.value,V);return((b=t["data-table-select"])==null?void 0:b.call(t,{props:{modelValue:h,indeterminate:x,"onUpdate:modelValue":v}}))??S("td",null,[I(Le,{modelValue:h,indeterminate:x,"onUpdate:modelValue":v},null)])}return S("td",null,null)})])}}),cl=$({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),At=Symbol.for("vuetify:datatable:expanded");function dl(e){const l=z(()=>e.expandOnClick),t=oe(e,"expanded",e.expanded,o=>new Set(o),o=>[...o.values()]);function a(o,u){const c=new Set(t.value);u?c.add(o.value):c.delete(o.value),t.value=c}function n(o){return t.value.has(o.value)}function r(o){a(o,!n(o))}const i={expand:a,expanded:t,expandOnClick:l,isExpanded:n,toggleExpand:r};return be(At,i),i}function Ot(){const e=he(At);if(!e)throw new Error("foo");return e}const fl=$({index:Number,item:Object,cellProps:[Object,Function],onClick:Me(),onContextmenu:Me(),onDblclick:Me(),...We()},"VDataTableRow"),vl=le()({name:"VDataTableRow",props:fl(),setup(e,l){let{slots:t}=l;const{displayClasses:a,mobile:n}=ke(e,"v-data-table__tr"),{isSelected:r,toggleSelect:i,someSelected:o,allSelected:u,selectAll:c}=Ee(),{isExpanded:f,toggleExpand:y}=Ot(),{toggleSort:m,sortBy:b,isSorted:h}=Tt(),{columns:x}=Re();ue(()=>S("tr",{class:ce(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},a.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&x.value.map((v,V)=>{const s=e.item,T=`item.${v.key}`,A=`header.${v.key}`,P={index:e.index,item:s.raw,internalItem:s,value:_e(s.columns,v.key),column:v,isSelected:r,toggleSelect:i,isExpanded:f,toggleExpand:y},G={column:v,selectAll:c,isSorted:h,toggleSort:m,sortBy:b.value,someSelected:o.value,allSelected:u.value,getSortIcon:()=>""},K=typeof e.cellProps=="function"?e.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value,column:v}):e.cellProps,p=typeof v.cellProps=="function"?v.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value}):v.cellProps;return I(Be,E({align:v.align,class:{"v-data-table__td--expanded-row":v.key==="data-table-expand","v-data-table__td--select-row":v.key==="data-table-select"},fixed:v.fixed,fixedOffset:v.fixedOffset,fixedEndOffset:v.fixedEndOffset,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,maxWidth:n.value?void 0:v.maxWidth,noPadding:v.key==="data-table-select"||v.key==="data-table-expand",nowrap:v.nowrap,width:n.value?void 0:v.width},K,p),{default:()=>{var g,D,B,j;if(v.key==="data-table-select")return((g=t["item.data-table-select"])==null?void 0:g.call(t,{...P,props:{disabled:!s.selectable,modelValue:r([s]),onClick:Te(()=>i(s),["stop"])}}))??I(Le,{disabled:!s.selectable,modelValue:r([s]),onClick:Te(X=>i(s,e.index,X),["stop"])},null);if(v.key==="data-table-expand")return((D=t["item.data-table-expand"])==null?void 0:D.call(t,{...P,props:{icon:f(s)?"$collapse":"$expand",size:"small",variant:"text",onClick:Te(()=>y(s),["stop"])}}))??I(de,{icon:f(s)?"$collapse":"$expand",size:"small",variant:"text",onClick:Te(()=>y(s),["stop"])},null);if(t[T]&&!n.value)return t[T](P);const w=ba(P.value);return n.value?S(ae,null,[S("div",{class:"v-data-table__td-title"},[((B=t[A])==null?void 0:B.call(t,G))??v.title]),S("div",{class:"v-data-table__td-value"},[((j=t[T])==null?void 0:j.call(t,P))??w])]):w}})})]))}}),Lt=$({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...We()},"VDataTableRows"),lt=le()({name:"VDataTableRows",inheritAttrs:!1,props:Lt(),setup(e,l){let{attrs:t,slots:a}=l;const{columns:n}=Re(),{expandOnClick:r,toggleExpand:i,isExpanded:o}=Ot(),{isSelected:u,toggleSelect:c}=Ee(),{toggleGroup:f,isGroupOpen:y}=Ct(),{t:m}=ge(),{mobile:b}=ke(e);return ue(()=>{var h,x;return e.loading&&(!e.items.length||a.loading)?S("tr",{class:"v-data-table-rows-loading",key:"loading"},[S("td",{colspan:n.value.length},[((h=a.loading)==null?void 0:h.call(a))??m(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?S("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[S("td",{colspan:n.value.length},[((x=a["no-data"])==null?void 0:x.call(a))??m(e.noDataText)])]):S(ae,null,[e.items.map((v,V)=>{var A;if(v.type==="group"){const P={index:V,item:v,columns:n.value,isExpanded:o,toggleExpand:i,isSelected:u,toggleSelect:c,toggleGroup:f,isGroupOpen:y};return a["group-header"]?a["group-header"](P):I(sl,E({key:`group-header_${v.id}`,item:v},Ze(t,":group-header",()=>P)),a)}const s={index:V,item:v.raw,internalItem:v,columns:n.value,isExpanded:o,toggleExpand:i,isSelected:u,toggleSelect:c},T={...s,props:E({key:`item_${v.key??v.index}`,onClick:r.value?()=>{i(v)}:void 0,index:V,item:v,cellProps:e.cellProps,mobile:b.value},Ze(t,":row",()=>s),typeof e.rowProps=="function"?e.rowProps({item:s.item,index:s.index,internalItem:s.internalItem}):e.rowProps)};return S(ae,{key:T.props.key},[a.item?a.item(T):I(vl,T.props,a),o(v)&&((A=a["expanded-row"])==null?void 0:A.call(a,s))])})])}),{}}}),Rt=$({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Oe(),...it(),...ot(),...ut()},"VTable"),nt=le()({name:"VTable",props:Rt(),setup(e,l){let{slots:t,emit:a}=l;const{themeClasses:n}=rt(e),{densityClasses:r}=ya(e);return ue(()=>{const i={VCheckboxBtn:{density:e.density}};return I(e.tag,{class:ce(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},n.value,r.value,e.class]),style:Ae(e.style)},{default:()=>{var o,u;return[(o=t.top)==null?void 0:o.call(t),I(ft,{defaults:i},{default:()=>{var c;return[t.default?S("div",{class:"v-table__wrapper",style:{height:q(e.height)}},[S("table",null,[t.default()])]):(c=t.wrapper)==null?void 0:c.call(t)]}}),(u=t.bottom)==null?void 0:u.call(t)]}})}),{}}}),ml=$({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function gl(e,l,t,a){const n=e.returnObject?l:fe(l,e.itemValue),r=fe(l,e.itemSelectable,!0),i=a.reduce((o,u)=>(u.key!=null&&(o[u.key]=fe(l,u.value)),o),{});return{type:"item",key:e.returnObject?fe(l,e.itemValue):n,index:t,value:n,selectable:r,columns:i,raw:l}}function hl(e,l,t){return l.map((a,n)=>gl(e,a,n,t))}function bl(e,l){return{items:F(()=>hl(e,e.items,l.value))}}function yl(e){let{page:l,itemsPerPage:t,sortBy:a,groupBy:n,search:r}=e;const i=Ge("VDataTable"),o=()=>({page:l.value,itemsPerPage:t.value,sortBy:a.value,groupBy:n.value,search:r.value});let u=null;re(o,c=>{we(u,c)||(u&&u.search!==c.search&&(l.value=1),i.emit("update:options",c),u=c)},{deep:!0,immediate:!0})}const xl=(e,l,t)=>{if(e==null||l==null)return-1;if(!l.length)return 0;e=e.toString().toLocaleLowerCase(),l=l.toString().toLocaleLowerCase();const a=[];let n=e.indexOf(l);for(;~n;)a.push([n,n+l.length]),n=e.indexOf(l,n+l.length);return a.length?a:-1};function Ne(e,l){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+l.length]]:Array.isArray(e[0])?e:[e]}const Sl=$({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Pl(e,l,t){var o;const a=[],n=(t==null?void 0:t.default)??xl,r=t!=null&&t.filterKeys?me(t.filterKeys):!1,i=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return a;e:for(let u=0;u0)&&!(t!=null&&t.noFilter)){if(typeof c=="object"){if(c.type==="divider"||c.type==="subheader")continue;const v=r||Object.keys(f);for(const V of v){const s=fe(f,V),T=(o=t==null?void 0:t.customKeyFilter)==null?void 0:o[V];if(b=T?T(s,l,c):n(s,l,c),b!==-1&&b!==!1)T?y[V]=Ne(b,l):m[V]=Ne(b,l);else if((t==null?void 0:t.filterMode)==="every")continue e}}else b=n(c,l,c),b!==-1&&b!==!1&&(m.title=Ne(b,l));const h=Object.keys(m).length,x=Object.keys(y).length;if(!h&&!x||(t==null?void 0:t.filterMode)==="union"&&x!==i&&!h||(t==null?void 0:t.filterMode)==="intersection"&&(x!==i||!h))continue}a.push({index:u,matches:{...m,...y}})}return a}function pl(e,l,t,a){const n=Z([]),r=Z(new Map),i=F(()=>a!=null&&a.transform?pe(l).map(u=>[u,a.transform(u)]):pe(l));Fe(()=>{const u=typeof t=="function"?t():pe(t),c=typeof u!="string"&&typeof u!="number"?"":String(u),f=Pl(i.value,c,{customKeyFilter:{...e.customKeyFilter,...pe(a==null?void 0:a.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),y=pe(l),m=[],b=new Map;f.forEach(h=>{let{index:x,matches:v}=h;const V=y[x];m.push(V),b.set(V.value,v)}),n.value=m,r.value=b});function o(u){return r.value.get(u.value)}return{filteredItems:n,filteredMatches:r,getMatches:o}}const wl=$({...Lt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...cl(),...ll(),...Ka(),...ml(),...Xa(),...Ya(),...Dt(),...Rt()},"DataTable"),kl=$({...Ea(),...wl(),...Sl(),...ht()},"VDataTable"),Cl=le()({name:"VDataTable",props:kl(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,l){let{attrs:t,slots:a}=l;const{groupBy:n}=nl(e),{sortBy:r,multiSort:i,mustSort:o}=Za(e),{page:u,itemsPerPage:c}=Ma(e),{disableSort:f}=xa(e),{columns:y,headers:m,sortFunctions:b,sortRawFunctions:h,filterFunctions:x}=qa(e,{groupBy:n,showSelect:z(()=>e.showSelect),showExpand:z(()=>e.showExpand)}),{items:v}=bl(e,y),V=z(()=>e.search),{filteredItems:s}=pl(e,v,V,{transform:L=>L.columns,customKeyFilter:x}),{toggleSort:T}=el({sortBy:r,multiSort:i,mustSort:o,page:u}),{sortByWithGroups:A,opened:P,extractRows:G,isGroupOpen:K,toggleGroup:p}=rl({groupBy:n,sortBy:r,disableSort:f}),{sortedItems:w}=tl(e,s,A,{transform:L=>({...L.raw,...L.columns}),sortFunctions:b,sortRawFunctions:h}),{flatItems:g}=ol(w,n,P),D=F(()=>g.value.length),{startIndex:B,stopIndex:j,pageCount:X,setItemsPerPage:ee}=$a({page:u,itemsPerPage:c,itemsLength:D}),{paginatedItems:W}=Ha({items:g,startIndex:B,stopIndex:j,itemsPerPage:c}),ne=F(()=>G(W.value)),{isSelected:ie,select:ye,selectAll:d,toggleSelect:k,someSelected:_,allSelected:N}=Ja(e,{allItems:v,currentPage:ne}),{isExpanded:U,toggleExpand:C}=dl(e);yl({page:u,itemsPerPage:c,sortBy:r,groupBy:n,search:V}),He({VDataTableRows:{hideNoData:z(()=>e.hideNoData),noDataText:z(()=>e.noDataText),loading:z(()=>e.loading),loadingText:z(()=>e.loadingText)}});const O=F(()=>({page:u.value,itemsPerPage:c.value,sortBy:r.value,pageCount:X.value,toggleSort:T,setItemsPerPage:ee,someSelected:_.value,allSelected:N.value,isSelected:ie,select:ye,selectAll:d,toggleSelect:k,isExpanded:U,toggleExpand:C,isGroupOpen:K,toggleGroup:p,items:ne.value.map(L=>L.raw),internalItems:ne.value,groupedItems:W.value,columns:y.value,headers:m.value}));return ue(()=>{const L=tt.filterProps(e),J=at.filterProps(e),R=lt.filterProps(e),Q=nt.filterProps(e);return I(nt,E({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Q,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var M;return(M=a.top)==null?void 0:M.call(a,O.value)},default:()=>{var M,H,se,xe,Se,Pe;return a.default?a.default(O.value):S(ae,null,[(M=a.colgroup)==null?void 0:M.call(a,O.value),!e.hideDefaultHeader&&S("thead",{key:"thead"},[I(at,J,a)]),(H=a.thead)==null?void 0:H.call(a,O.value),!e.hideDefaultBody&&S("tbody",null,[(se=a["body.prepend"])==null?void 0:se.call(a,O.value),a.body?a.body(O.value):I(lt,E(t,R,{items:W.value}),a),(xe=a["body.append"])==null?void 0:xe.call(a,O.value)]),(Se=a.tbody)==null?void 0:Se.call(a,O.value),(Pe=a.tfoot)==null?void 0:Pe.call(a,O.value)])},bottom:()=>a.bottom?a.bottom(O.value):!e.hideDefaultFooter&&S(ae,null,[I(dt,null,null),I(tt,L,{prepend:a["footer.prepend"]})])})}),{}}});export{Cl as V,nt as a,mt as b}; diff --git a/assets/VDatePicker-DebS4W0V.css b/assets/VDatePicker-DebS4W0V.css new file mode 100644 index 0000000..174e7bd --- /dev/null +++ b/assets/VDatePicker-DebS4W0V.css @@ -0,0 +1 @@ +.v-date-picker{overflow:hidden;width:328px}.v-date-picker--show-week{width:368px}.v-date-picker-controls{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;height:var(--v-date-picker-controls-height, 56px);padding-top:4px;padding-bottom:4px;padding-inline-start:6px;padding-inline-end:12px;flex:1}.v-date-picker-controls>.v-btn:first-child{text-transform:none;font-weight:400;line-height:initial;letter-spacing:initial}.v-date-picker-controls--variant-classic{padding-inline-start:12px}.v-date-picker-controls--variant-modern .v-date-picker__title:not(:hover){opacity:.7}.v-date-picker--month .v-date-picker-controls--variant-modern .v-date-picker__title{cursor:pointer}.v-date-picker--year .v-date-picker-controls--variant-modern .v-date-picker__title{opacity:1}.v-date-picker-controls .v-btn:last-child{margin-inline-start:4px}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn{transform:rotate(180deg)}.v-date-picker-controls__date{margin-inline-end:4px}.v-date-picker-controls--variant-classic .v-date-picker-controls__date{margin:auto;text-align:center}.v-date-picker-controls__month{display:flex}.v-locale--is-rtl.v-date-picker-controls__month,.v-locale--is-rtl .v-date-picker-controls__month{flex-direction:row-reverse}.v-date-picker-controls--variant-classic .v-date-picker-controls__month{flex:1 0 auto}.v-date-picker__title{display:inline-block}.v-date-picker-header{align-items:flex-end;height:70px;display:grid;grid-template-areas:"prepend content append";grid-template-columns:min-content minmax(0,1fr) min-content;overflow:hidden;padding-inline:24px 12px;padding-bottom:12px}.v-date-picker-header__append{grid-area:append}.v-date-picker-header__prepend{grid-area:prepend;padding-inline-start:8px}.v-date-picker-header__content{align-items:center;display:inline-flex;font-size:32px;line-height:40px;grid-area:content;justify-content:space-between}.v-date-picker-header--clickable .v-date-picker-header__content{cursor:pointer}.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover){opacity:.7}.date-picker-header-transition-enter-active,.date-picker-header-reverse-transition-enter-active,.date-picker-header-transition-leave-active,.date-picker-header-reverse-transition-leave-active{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.date-picker-header-transition-enter-from{transform:translateY(100%)}.date-picker-header-transition-leave-to{opacity:0;transform:translateY(-100%)}.date-picker-header-reverse-transition-enter-from{transform:translateY(-100%)}.date-picker-header-reverse-transition-leave-to{opacity:0;transform:translateY(100%)}.v-date-picker-month{display:flex;justify-content:center;padding:0 12px 8px;--v-date-picker-month-day-diff: 4px}.v-date-picker-month__weeks{display:flex;flex-direction:column;column-gap:4px;font-size:.875rem}.v-date-picker-month__weekday{font-size:.875rem}.v-date-picker-month__days{display:grid;grid-template-columns:repeat(var(--v-date-picker-days-in-week),min-content);column-gap:4px}.v-date-picker-month__day{align-items:center;display:flex;justify-content:center;position:relative;height:40px;width:40px}.v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn{--v-btn-height: 24px;--v-btn-size: .875rem}.v-date-picker-month__day--week{font-size:var(--v-btn-size)}.v-date-picker-month__day--adjacent{opacity:.5}.v-date-picker-month__day--hide-adjacent{opacity:0}.v-date-picker-months{height:288px}.v-date-picker-months__content{align-items:center;display:grid;flex:1 1;height:inherit;justify-content:space-around;grid-template-columns:repeat(2,1fr);grid-gap:0px 24px;padding-inline-start:36px;padding-inline-end:36px}.v-date-picker-months__content .v-btn{text-transform:none;padding-inline-start:8px;padding-inline-end:8px}.v-date-picker-years{height:288px;overflow-y:scroll}.v-date-picker-years__content{display:grid;flex:1 1;justify-content:space-around;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding-inline:32px}.v-date-picker-years__content .v-btn{padding-inline:8px}.v-picker.v-sheet{display:grid;grid-auto-rows:min-content;grid-template-areas:"title" "header" "body";grid-template-columns:minmax(0,1fr);overflow:hidden}.v-picker.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-picker.v-sheet{border-radius:4px}.v-picker.v-sheet.v-picker--with-actions{grid-template-areas:"title" "header" "body" "actions"}.v-picker__body{grid-area:body;overflow:hidden;position:relative;display:flex;justify-content:center;flex-wrap:wrap}.v-picker__header{grid-area:header}.v-picker__actions{grid-area:actions;padding:0 12px 12px;display:flex;align-items:center;justify-content:flex-end}.v-picker__actions .v-btn{min-width:48px}.v-picker__actions .v-btn:not(:last-child){margin-inline-end:8px}.v-picker--divided .v-picker__header{border-bottom-color:rgba(var(--v-border-color),var(--v-border-opacity));border-bottom-style:solid;border-bottom-width:thin}.v-picker--landscape{grid-template-areas:"title" "header body" "header body"}.v-picker--landscape.v-picker--with-actions{grid-template-areas:"title" "header body" "header actions"}.v-picker-title{text-transform:uppercase;font-size:.75rem;grid-area:title;padding-inline:24px 12px;padding-top:16px;padding-bottom:16px;font-weight:400;letter-spacing:.1666666667em}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-sheet{display:block}.v-sheet{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-sheet--border{border-width:thin;box-shadow:none}.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-sheet--absolute{position:absolute}.v-sheet--fixed{position:fixed}.v-sheet--relative{position:relative}.v-sheet--sticky{position:sticky}.v-sheet{border-radius:0}.v-sheet{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-sheet--rounded{border-radius:4px} diff --git a/assets/VDatePicker-Jh1kvgOm.js b/assets/VDatePicker-Jh1kvgOm.js new file mode 100644 index 0000000..55f6de1 --- /dev/null +++ b/assets/VDatePicker-Jh1kvgOm.js @@ -0,0 +1 @@ +import{g as W,p as O,a7 as Z,al as w,c as N,i as P,d as D,y as I,x as xe,aC as G,e as $,ai as K,a5 as p,ac as ve,aQ as ee,n as ae,aR as _e,aS as J,aj as Y,ak as q,an as Ae,ap as Q,ao as X,aq as fe,t as Ye,av as z,aT as Oe,aM as ke,aU as me,E as A,aV as le,aW as Ie,K as We,aX as Ne,aY as Be,aZ as Te,u as $e,a_ as Re,aa as He,a$ as Le,a6 as je,af as Fe,m as Ue,ag as Ee,b0 as ze,ah as Je,b1 as Ke,f as qe,h as Qe,b2 as Xe,b3 as Ze,b4 as Ge,F as pe}from"./index-B01HL2YE.js";const he=O({active:{type:[String,Array],default:void 0},controlHeight:[Number,String],disabled:{type:[Boolean,String,Array],default:null},nextIcon:{type:K,default:"$next"},prevIcon:{type:K,default:"$prev"},modeIcon:{type:K,default:"$subgroup"},text:String,viewMode:{type:String,default:"month"}},"VDatePickerControls"),re=W()({name:"VDatePickerControls",props:he(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:text":()=>!0},setup(e,t){let{emit:f}=t;const{t:l}=Z(),a=w(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),c=w(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),V=w(()=>Array.isArray(e.disabled)?e.disabled.includes("prev"):!!e.disabled),r=w(()=>Array.isArray(e.disabled)?e.disabled.includes("next"):!!e.disabled);function i(){f("click:prev")}function h(){f("click:next")}function n(){f("click:year")}function v(){f("click:month")}return N(()=>P("div",{class:$(["v-date-picker-controls"]),style:{"--v-date-picker-controls-height":G(e.controlHeight)}},[D(I,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",disabled:a.value,text:e.text,variant:"text",rounded:!0,onClick:v},null),D(I,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:c.value,density:"comfortable",icon:e.modeIcon,variant:"text","aria-label":l("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),D(xe,null,null),P("div",{class:"v-date-picker-controls__month"},[D(I,{"data-testid":"prev-month",disabled:V.value,density:"comfortable",icon:e.prevIcon,variant:"text","aria-label":l("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:i},null),D(I,{"data-testid":"next-month",disabled:r.value,icon:e.nextIcon,density:"comfortable",variant:"text","aria-label":l("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:h},null)])])),{}}}),ea=O({appendIcon:K,color:String,header:String,transition:String,onClick:_e()},"VDatePickerHeader"),ie=W()({name:"VDatePickerHeader",props:ea(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:f,slots:l}=t;const{backgroundColorClasses:a,backgroundColorStyles:c}=p(()=>e.color);function V(){f("click")}function r(){f("click:append")}return N(()=>{const i=!!(l.default||e.header),h=!!(l.append||e.appendIcon);return P("div",{class:$(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:ae(c.value),onClick:V},[l.prepend&&P("div",{key:"prepend",class:"v-date-picker-header__prepend"},[l.prepend()]),i&&D(ve,{key:"content",name:e.transition},{default:()=>{var n;return[P("div",{key:e.header,class:"v-date-picker-header__content"},[((n=l.default)==null?void 0:n.call(l))??e.header])]}}),h&&P("div",{class:"v-date-picker-header__append"},[l.append?D(ee,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var n;return[(n=l.append)==null?void 0:n.call(l)]}}):D(I,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:r},null)])])}),{}}}),aa=O({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function ta(e){const t=J(),f=Y(e,"modelValue",[],s=>q(s).map(o=>t.date(o))),l=w(()=>e.displayValue?t.date(e.displayValue):f.value.length>0?t.date(f.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=Y(e,"year",void 0,s=>{const o=s!=null?Number(s):t.getYear(l.value);return t.startOfYear(t.setYear(t.date(),o))},s=>t.getYear(s)),c=Y(e,"month",void 0,s=>{const o=s!=null?Number(s):t.getMonth(l.value),k=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(k,o)},s=>t.getMonth(s)),V=w(()=>{const s=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((o,k)=>e.weekdays.includes((k+s)%7))}),r=w(()=>{const s=t.getWeekArray(c.value,e.firstDayOfWeek),o=s.flat(),k=6*7;if(e.weeksInMonth==="static"&&o.lengthe.weekdays.includes(t.toJsDate(k).getDay())).map((k,g)=>{const _=t.toISO(k),x=!t.isSameMonth(k,c.value),L=t.isSameDay(k,t.startOfMonth(c.value)),y=t.isSameDay(k,t.endOfMonth(c.value)),u=t.isSameDay(k,c.value),C=e.weekdays.length;return{date:k,formatted:t.format(k,"keyboardDate"),isAdjacent:x,isDisabled:b(k),isEnd:y,isHidden:x&&!e.showAdjacentMonths,isSame:u,isSelected:f.value.some(R=>t.isSameDay(k,R)),isStart:L,isToday:t.isSameDay(k,o),isWeekEnd:g%C===C-1,isWeekStart:g%C===0,isoDate:_,localized:t.format(k,"dayOfMonth"),month:t.getMonth(k),year:t.getYear(k)}})}const h=w(()=>{const s=t.startOfWeek(l.value,e.firstDayOfWeek),o=[];for(let g=0;g<=6;g++)o.push(t.addDays(s,g));const k=t.date();return i(o,k)}),n=w(()=>{const s=r.value.flat(),o=t.date();return i(s,o)}),v=w(()=>r.value.map(s=>s.length?t.getWeek(s[0],e.firstDayOfWeek):null));function b(s){if(e.disabled)return!0;const o=t.date(s);return e.min&&t.isBefore(t.endOfDay(o),t.date(e.min))||e.max&&t.isAfter(o,t.date(e.max))?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(k=>t.isSameDay(t.date(k),o)):typeof e.allowedDates=="function"?!e.allowedDates(o):!1}return{displayValue:l,daysInMonth:n,daysInWeek:h,genDays:i,model:f,weeksInMonth:r,weekdayLabels:V,weekNumbers:v}}const ye=O({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},...z(aa(),["displayValue"])},"VDatePickerMonth"),se=W()({name:"VDatePickerMonth",props:ye(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=Ae(),{t:c}=Z(),{daysInMonth:V,model:r,weekNumbers:i,weekdayLabels:h}=ta(e),n=J(),v=Q(),b=Q(),s=Q(!1),o=X(()=>s.value?e.reverseTransition:e.transition);e.multiple==="range"&&r.value.length>0&&(v.value=r.value[0],r.value.length>1&&(b.value=r.value[r.value.length-1]));const k=w(()=>{const y=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return r.value.length>=y});fe(V,(y,u)=>{u&&(s.value=n.isBefore(y[0].date,u[0].date))});function g(y){const u=n.startOfDay(y);if(r.value.length===0?v.value=void 0:r.value.length===1&&(v.value=r.value[0],b.value=void 0),!v.value)v.value=u,r.value=[v.value];else if(b.value)v.value=y,b.value=void 0,r.value=[v.value];else{if(n.isSameDay(u,v.value)){v.value=void 0,r.value=[];return}else n.isBefore(u,v.value)?(b.value=n.endOfDay(v.value),v.value=u):b.value=n.endOfDay(u);r.value=Oe(n,v.value,b.value)}}function _(y){const u=n.format(y.date,"fullDateWithWeekday"),C=y.isToday?"currentDate":"selectDate";return c(`$vuetify.datePicker.ariaLabel.${C}`,u)}function x(y){const u=r.value.findIndex(C=>n.isSameDay(C,y));if(u===-1)r.value=[...r.value,y];else{const C=[...r.value];C.splice(u,1),r.value=C}}function L(y){e.multiple==="range"?g(y):e.multiple?x(y):r.value=[y]}N(()=>P("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&P("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&P("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[Ye(" ")]),i.value.map(y=>P("div",{class:$(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[y]))]),D(ve,{name:o.value},{default:()=>{var y;return[P("div",{ref:a,key:(y=V.value[0].date)==null?void 0:y.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&h.value.map(u=>P("div",{class:$(["v-date-picker-month__day","v-date-picker-month__weekday"])},[u])),V.value.map((u,C)=>{var j;const R={props:{class:"v-date-picker-month__day-btn",color:u.isSelected||u.isToday?e.color:void 0,disabled:u.isDisabled,icon:!0,ripple:!1,text:u.localized,variant:u.isSelected?"flat":u.isToday?"outlined":"text","aria-label":_(u),"aria-current":u.isToday?"date":void 0,onClick:()=>L(u.date)},item:u,i:C};return k.value&&!u.isSelected&&(u.isDisabled=!0),P("div",{class:$(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":u.isAdjacent,"v-date-picker-month__day--hide-adjacent":u.isHidden,"v-date-picker-month__day--selected":u.isSelected,"v-date-picker-month__day--week-end":u.isWeekEnd,"v-date-picker-month__day--week-start":u.isWeekStart}]),"data-v-date":u.isDisabled?void 0:u.isoDate},[(e.showAdjacentMonths||!u.isAdjacent)&&(((j=l.day)==null?void 0:j.call(l,R))??D(I,R.props,null))])})])]}})]))}}),ge=O({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),de=W()({name:"VDatePickerMonths",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),c=Y(e,"modelValue"),V=w(()=>{let i=a.startOfYear(a.date());return e.year&&(i=a.setYear(i,e.year)),ke(12).map(h=>{const n=a.format(i,"monthShort"),v=a.format(i,"month"),b=!!(!r(h)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),i)||e.max&&a.isAfter(i,a.startOfMonth(a.date(e.max))));return i=a.getNextMonth(i),{isDisabled:b,text:n,label:v,value:h}})});me(()=>{c.value=c.value??a.getMonth(a.date())});function r(i){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(i):typeof e.allowedMonths=="function"?e.allowedMonths(i):!0}return N(()=>P("div",{class:"v-date-picker-months",style:{height:G(e.height)}},[P("div",{class:"v-date-picker-months__content"},[V.value.map((i,h)=>{var b;const n={active:c.value===h,ariaLabel:i.label,color:c.value===h?e.color:void 0,disabled:i.isDisabled,rounded:!0,text:i.text,variant:c.value===i.value?"flat":"text",onClick:()=>v(h)};function v(s){if(c.value===s){f("update:modelValue",c.value);return}c.value=s}return((b=l.month)==null?void 0:b.call(l,{month:i,i:h,props:n}))??D(I,A({key:"month"},n),null)})])])),{}}}),De=O({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),oe=W()({name:"VDatePickerYears",props:De(),directives:{vIntersect:le},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),c=Y(e,"modelValue"),V=w(()=>{const n=a.getYear(a.date());let v=n-100,b=n+52;e.min&&(v=a.getYear(a.date(e.min))),e.max&&(b=a.getYear(a.date(e.max)));let s=a.startOfYear(a.date());return s=a.setYear(s,v),ke(b-v+1,v).map(o=>{const k=a.format(s,"year");return s=a.setYear(s,a.getYear(s)+1),{text:k,value:o,isDisabled:!h(o)}})});me(()=>{c.value=c.value??a.getYear(a.date())});const r=Ie();function i(){var n,v;(n=r.el)==null||n.focus(),(v=r.el)==null||v.scrollIntoView({block:"center"})}function h(n){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(n):typeof e.allowedYears=="function"?e.allowedYears(n):!0}return N(()=>We(P("div",{class:"v-date-picker-years",style:{height:G(e.height)}},[P("div",{class:"v-date-picker-years__content"},[V.value.map((n,v)=>{var s;const b={ref:c.value===n.value?r:void 0,active:c.value===n.value,color:c.value===n.value?e.color:void 0,rounded:!0,text:n.text,disabled:n.isDisabled,variant:c.value===n.value?"flat":"text",onClick:()=>{if(c.value===n.value){f("update:modelValue",c.value);return}c.value=n.value}};return((s=l.year)==null?void 0:s.call(l,{year:n,i:v,props:b}))??D(I,A({key:"month"},b),null)})])]),[[le,{handler:i},null,{once:!0}]])),{}}}),na=Ne("v-picker-title"),be=O({color:String,...Xe(),...Qe(),...qe(),...Ke(),...Je(),...ze(),...Ee(),...Ue(),...Fe()},"VSheet"),ue=W()({name:"VSheet",props:be(),setup(e,t){let{slots:f}=t;const{themeClasses:l}=Be(e),{backgroundColorClasses:a,backgroundColorStyles:c}=p(()=>e.color),{borderClasses:V}=Te(e),{dimensionStyles:r}=$e(e),{elevationClasses:i}=Re(e),{locationStyles:h}=He(e),{positionClasses:n}=Le(e),{roundedClasses:v}=je(e);return N(()=>D(e.tag,{class:$(["v-sheet",l.value,a.value,V.value,i.value,n.value,v.value,e.class]),style:ae([c.value,r.value,h.value,e.style])},f)),{}}}),we=O({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,...be()},"VPicker"),ce=W()({name:"VPicker",props:we(),setup(e,t){let{slots:f}=t;const{backgroundColorClasses:l,backgroundColorStyles:a}=p(()=>e.color);return N(()=>{const c=ue.filterProps(e),V=!!(e.title||f.title);return D(ue,A(c,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!f.actions},e.class],style:e.style}),{default:()=>{var r;return[!e.hideHeader&&P("div",{key:"header",class:$([l.value]),style:ae([a.value])},[V&&D(na,{key:"picker-title"},{default:()=>{var i;return[((i=f.title)==null?void 0:i.call(f))??e.title]}}),f.header&&P("div",{class:"v-picker__header"},[f.header()])]),P("div",{class:"v-picker__body"},[(r=f.default)==null?void 0:r.call(f)]),f.actions&&D(ee,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[P("div",{class:"v-picker__actions"},[f.actions()])]})]}})}),{}}}),la=O({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,...he(),...ye({weeksInMonth:"static"}),...z(ge(),["modelValue"]),...z(De(),["modelValue"]),...we({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),ia=W()({name:"VDatePicker",props:la(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),{t:c}=Z(),{rtlClasses:V}=Ze(),r=Y(e,"modelValue",void 0,d=>q(d).map(m=>a.date(m)),d=>e.multiple?d:d[0]),i=Y(e,"viewMode"),h=w(()=>{const d=a.date(e.min);return e.min&&a.isValid(d)?d:null}),n=w(()=>{const d=a.date(e.max);return e.max&&a.isValid(d)?d:null}),v=w(()=>{var S;const d=a.date();let m=d;return(S=r.value)!=null&&S[0]?m=a.date(r.value[0]):h.value&&a.isBefore(d,h.value)?m=h.value:n.value&&a.isAfter(d,n.value)&&(m=n.value),m&&a.isValid(m)?m:d}),b=X(()=>e.headerColor??e.color),s=Y(e,"month"),o=w({get:()=>Number(s.value??a.getMonth(a.startOfMonth(v.value))),set:d=>s.value=d}),k=Y(e,"year"),g=w({get:()=>Number(k.value??a.getYear(a.startOfYear(a.setMonth(v.value,o.value)))),set:d=>k.value=d}),_=Q(!1),x=w(()=>e.multiple&&r.value.length>1?c("$vuetify.datePicker.itemsSelected",r.value.length):r.value[0]&&a.isValid(r.value[0])?a.format(a.date(r.value[0]),"normalDateWithWeekday"):c(e.header)),L=w(()=>{let d=a.date();return d=a.setDate(d,1),d=a.setMonth(d,o.value),d=a.setYear(d,g.value),a.format(d,"monthAndYear")}),y=X(()=>`date-picker-header${_.value?"-reverse":""}-transition`),u=w(()=>{if(e.disabled)return!0;const d=[];if(i.value!=="month")d.push("prev","next");else{let m=a.date();if(m=a.startOfMonth(m),m=a.setMonth(m,o.value),m=a.setYear(m,g.value),h.value){const S=a.addDays(a.startOfMonth(m),-1);a.isAfter(h.value,S)&&d.push("prev")}if(n.value){const S=a.addDays(a.endOfMonth(m),1);a.isAfter(S,n.value)&&d.push("next")}}return d}),C=w(()=>e.allowedYears||Pe),R=w(()=>e.allowedMonths||Ve);function j(d,m){const S=e.allowedDates;if(typeof S!="function")return!0;const B=a.getDiff(m,d,"days");for(let T=0;T0?o.value--:(g.value--,o.value=11,U()),F()}function Ce(){i.value="month"}function te(){i.value=i.value==="months"?"month":"months"}function ne(){i.value=i.value==="year"?"month":"year"}function F(){i.value==="months"&&te()}function U(){i.value==="year"&&ne()}return fe(r,(d,m)=>{const S=q(m),B=q(d);if(!B.length)return;const T=a.date(S[S.length-1]),E=a.date(B[B.length-1]),H=a.getMonth(E),M=a.getYear(E);H!==o.value&&(o.value=H,F()),M!==g.value&&(g.value=M,U()),_.value=a.isBefore(T,E)}),N(()=>{const d=ce.filterProps(e),m=re.filterProps(e),S=ie.filterProps(e),B=se.filterProps(e),T=z(de.filterProps(e),["modelValue"]),E=z(oe.filterProps(e),["modelValue"]),H={color:b.value,header:x.value,transition:y.value};return D(ce,A(d,{color:b.value,class:["v-date-picker",`v-date-picker--${i.value}`,{"v-date-picker--show-week":e.showWeek},V.value,e.class],style:e.style}),{title:()=>{var M;return((M=l.title)==null?void 0:M.call(l))??P("div",{class:"v-date-picker__title"},[c(e.title)])},header:()=>l.header?D(ee,{defaults:{VDatePickerHeader:{...H}}},{default:()=>{var M;return[(M=l.header)==null?void 0:M.call(l,H)]}}):D(ie,A({key:"header"},S,H,{onClick:i.value!=="month"?Ce:void 0}),{prepend:l.prepend,append:l.append}),default:()=>P(pe,null,[D(re,A(m,{disabled:u.value,text:L.value,"onClick:next":Me,"onClick:prev":Se,"onClick:month":te,"onClick:year":ne}),null),D(Ge,{hideOnLeave:!0},{default:()=>[i.value==="months"?D(de,A({key:"date-picker-months"},T,{modelValue:o.value,"onUpdate:modelValue":[M=>o.value=M,F],min:h.value,max:n.value,year:g.value,allowedMonths:R.value}),{month:l.month}):i.value==="year"?D(oe,A({key:"date-picker-years"},E,{modelValue:g.value,"onUpdate:modelValue":[M=>g.value=M,U],min:h.value,max:n.value,allowedYears:C.value}),{year:l.year}):D(se,A({key:"date-picker-month"},B,{modelValue:r.value,"onUpdate:modelValue":M=>r.value=M,month:o.value,"onUpdate:month":[M=>o.value=M,F],year:g.value,"onUpdate:year":[M=>g.value=M,U],min:h.value,max:n.value}),{day:l.day})]})]),actions:l.actions})}),{}}});export{ia as V,ce as a,we as m}; diff --git a/assets/VExpansionPanels-B9rY3beZ.js b/assets/VExpansionPanels-B9rY3beZ.js new file mode 100644 index 0000000..f996431 --- /dev/null +++ b/assets/VExpansionPanels-B9rY3beZ.js @@ -0,0 +1 @@ +import{g as m,p as y,bv as w,bw as N,c as V,d as c,K as A,ad as O,i as r,n as g,e as p,aO as F,bx as K,h as k,R as I,a5 as _,u as Q,al as P,ao as l,v as Y,aQ as D,f as q,ai as h,by as H,a_ as J,a6 as M,m as R,ag as U,bz as W,b1 as X,bA as Z,bB as ee,aY as ae,aB as ne,af as le,bC as te,bD as se}from"./index-B01HL2YE.js";const f=Symbol.for("vuetify:v-expansion-panel"),z=y({...k(),...K()},"VExpansionPanelText"),T=m()({name:"VExpansionPanelText",props:z(),setup(e,d){let{slots:n}=d;const a=w(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:u}=N(e,a.isSelected);return V(()=>c(F,{onAfterLeave:u},{default:()=>{var o;return[A(r("div",{class:p(["v-expansion-panel-text",e.class]),style:g(e.style)},[n.default&&s.value&&r("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[O,a.isSelected.value]])]}})),{}}}),G=y({color:String,expandIcon:{type:h,default:"$expand"},collapseIcon:{type:h,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k(),...q()},"VExpansionPanelTitle"),B=m()({name:"VExpansionPanelTitle",directives:{vRipple:I},props:G(),setup(e,d){let{slots:n}=d;const a=w(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:u}=_(()=>e.color),{dimensionStyles:o}=Q(e),v=P(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),E=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return V(()=>{var x;return A(r("button",{class:p(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:g([u.value,o.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[r("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,v.value),!e.hideActions&&c(D,{defaults:{VIcon:{icon:E.value}}},{default:()=>{var b;return[r("span",{class:"v-expansion-panel-title__icon"},[((b=n.actions)==null?void 0:b.call(n,v.value))??c(Y,null,null)])]}})]),[[I,e.ripple]])}),{}}}),L=y({title:String,text:String,bgColor:String,...X(),...W(),...U(),...R(),...G(),...z()},"VExpansionPanel"),de=m()({name:"VExpansionPanel",props:L(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=H(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=_(()=>e.bgColor),{elevationClasses:o}=J(e),{roundedClasses:v}=M(e),E=l(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=P(()=>a.group.items.value.reduce((i,t,S)=>(a.group.selected.value.includes(t.id)&&i.push(S),i),[])),b=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===1)}),$=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===-1)});return Z(f,a),V(()=>{const i=!!(n.text||e.text),t=!!(n.title||e.title),S=B.filterProps(e),j=T.filterProps(e);return c(e.tag,{class:p(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":b.value,"v-expansion-panel--after-active":$.value,"v-expansion-panel--disabled":E.value},v.value,s.value,e.class]),style:g([u.value,e.style])},{default:()=>[r("div",{class:p(["v-expansion-panel__shadow",...o.value])},null),c(D,{defaults:{VExpansionPanelTitle:{...S},VExpansionPanelText:{...j}}},{default:()=>{var C;return[t&&c(B,{key:"title"},{default:()=>[n.title?n.title():e.title]}),i&&c(T,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(C=n.default)==null?void 0:C.call(n)]}})]})}),{groupItem:a}}}),oe=["default","accordion","inset","popout"],ie=y({flat:Boolean,...se(),...te(L(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...le(),...k(),...R(),variant:{type:String,default:"default",validator:e=>oe.includes(e)}},"VExpansionPanels"),ue=m()({name:"VExpansionPanels",props:ie(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:s}=ee(e,f),{themeClasses:u}=ae(e),o=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ne({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),V(()=>c(e.tag,{class:p(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class]),style:g(e.style)},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:s,next:a})]}})),{next:a,prev:s}}});export{ue as V,de as a,B as b,T as c}; diff --git a/assets/VExpansionPanels-D9y3oi3n.js b/assets/VExpansionPanels-D9y3oi3n.js deleted file mode 100644 index aa49335..0000000 --- a/assets/VExpansionPanels-D9y3oi3n.js +++ /dev/null @@ -1 +0,0 @@ -import{g as m,p as y,bu as B,bv as j,c as V,d as c,a5 as A,aI as F,i as r,n as g,e as p,be as K,bw as M,h as k,am as I,N as _,u as O,K as P,Y as l,v as Y,P as D,f as q,M as h,bx as H,a9 as J,ac as Q,m as R,ae as U,by as W,ah as X,bz as Z,bA as ee,a7 as ae,aV as ne,ad as le,bB as te,bC as se}from"./index-DmGr2YjE.js";const f=Symbol.for("vuetify:v-expansion-panel"),z=y({...k(),...M()},"VExpansionPanelText"),T=m()({name:"VExpansionPanelText",props:z(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:u}=j(e,a.isSelected);return V(()=>c(K,{onAfterLeave:u},{default:()=>{var o;return[A(r("div",{class:p(["v-expansion-panel-text",e.class]),style:g(e.style)},[n.default&&s.value&&r("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[F,a.isSelected.value]])]}})),{}}}),G=y({color:String,expandIcon:{type:h,default:"$expand"},collapseIcon:{type:h,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k(),...q()},"VExpansionPanelTitle"),w=m()({name:"VExpansionPanelTitle",directives:{vRipple:I},props:G(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:u}=_(()=>e.color),{dimensionStyles:o}=O(e),v=P(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),E=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return V(()=>{var x;return A(r("button",{class:p(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:g([u.value,o.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[r("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,v.value),!e.hideActions&&c(D,{defaults:{VIcon:{icon:E.value}}},{default:()=>{var b;return[r("span",{class:"v-expansion-panel-title__icon"},[((b=n.actions)==null?void 0:b.call(n,v.value))??c(Y,null,null)])]}})]),[[I,e.ripple]])}),{}}}),L=y({title:String,text:String,bgColor:String,...X(),...W(),...U(),...R(),...G(),...z()},"VExpansionPanel"),de=m()({name:"VExpansionPanel",props:L(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=H(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=_(()=>e.bgColor),{elevationClasses:o}=J(e),{roundedClasses:v}=Q(e),E=l(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=P(()=>a.group.items.value.reduce((i,t,S)=>(a.group.selected.value.includes(t.id)&&i.push(S),i),[])),b=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===1)}),N=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===-1)});return Z(f,a),V(()=>{const i=!!(n.text||e.text),t=!!(n.title||e.title),S=w.filterProps(e),$=T.filterProps(e);return c(e.tag,{class:p(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":b.value,"v-expansion-panel--after-active":N.value,"v-expansion-panel--disabled":E.value},v.value,s.value,e.class]),style:g([u.value,e.style])},{default:()=>[r("div",{class:p(["v-expansion-panel__shadow",...o.value])},null),c(D,{defaults:{VExpansionPanelTitle:{...S},VExpansionPanelText:{...$}}},{default:()=>{var C;return[t&&c(w,{key:"title"},{default:()=>[n.title?n.title():e.title]}),i&&c(T,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(C=n.default)==null?void 0:C.call(n)]}})]})}),{groupItem:a}}}),oe=["default","accordion","inset","popout"],ie=y({flat:Boolean,...se(),...te(L(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...le(),...k(),...R(),variant:{type:String,default:"default",validator:e=>oe.includes(e)}},"VExpansionPanels"),ue=m()({name:"VExpansionPanels",props:ie(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:s}=ee(e,f),{themeClasses:u}=ae(e),o=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ne({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),V(()=>c(e.tag,{class:p(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class]),style:g(e.style)},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:s,next:a})]}})),{next:a,prev:s}}});export{ue as V,de as a,w as b,T as c}; diff --git a/assets/VMenu-3aVeBIH6.js b/assets/VMenu-3aVeBIH6.js new file mode 100644 index 0000000..3323d57 --- /dev/null +++ b/assets/VMenu-3aVeBIH6.js @@ -0,0 +1 @@ +import{g as p,p as M,aj as L,aA as S,b3 as O,aG as K,ao as B,an as F,bv as U,c5 as w,ap as N,bi as j,c6 as H,at as q,c7 as E,aq as z,bM as A,al as G,E as k,c as Q,a4 as V,d as P,aQ as W,as as $,av as J,b5 as X,bT as Y,c8 as b,c9 as Z,bA as _,ca as ee}from"./index-B01HL2YE.js";const te=M({id:String,submenu:Boolean,disableInitialFocus:Boolean,...J(X({closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:Y}}),["absolute"])},"VMenu"),ne=p()({name:"VMenu",props:te(),emits:{"update:modelValue":t=>!0},setup(t,h){let{slots:c}=h;const s=L(t,"modelValue"),{scopeId:C}=S(),{isRtl:f}=O(),v=K(),m=B(()=>t.id||`v-menu-${v}`),o=F(),n=U(w,null),d=N(new Set);_(w,{register(){d.value.add(v)},unregister(){d.value.delete(v)},closeParents(e){setTimeout(()=>{var a;!d.value.size&&!t.persistent&&(e==null||(a=o.value)!=null&&a.contentEl&&!ee(e,o.value.contentEl))&&(s.value=!1,n==null||n.closeParents())},40)}}),j(()=>{n==null||n.unregister(),document.removeEventListener("focusin",g)}),H(()=>s.value=!1);async function g(e){var u,i,r;const a=e.relatedTarget,l=e.target;await q(),s.value&&a!==l&&((u=o.value)!=null&&u.contentEl)&&((i=o.value)!=null&&i.globalTop)&&![document,o.value.contentEl].includes(l)&&!o.value.contentEl.contains(l)&&((r=E(o.value.contentEl)[0])==null||r.focus())}z(s,e=>{e?(n==null||n.register(),A&&!t.disableInitialFocus&&document.addEventListener("focusin",g,{once:!0})):(n==null||n.unregister(),A&&document.removeEventListener("focusin",g))},{immediate:!0});function D(e){n==null||n.closeParents(e)}function I(e){var a,l,u,i,r;if(!t.disabled)if(e.key==="Tab"||e.key==="Enter"&&!t.closeOnContentClick){if(e.key==="Enter"&&(e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLInputElement&&e.target.closest("form")))return;e.key==="Enter"&&e.preventDefault(),Z(E((a=o.value)==null?void 0:a.contentEl,!1),e.shiftKey?"prev":"next",x=>x.tabIndex>=0)||(s.value=!1,(u=(l=o.value)==null?void 0:l.activatorEl)==null||u.focus())}else t.submenu&&e.key===(f.value?"ArrowRight":"ArrowLeft")&&(s.value=!1,(r=(i=o.value)==null?void 0:i.activatorEl)==null||r.focus())}function y(e){var l;if(t.disabled)return;const a=(l=o.value)==null?void 0:l.contentEl;a&&s.value?e.key==="ArrowDown"?(e.preventDefault(),e.stopImmediatePropagation(),b(a,"next")):e.key==="ArrowUp"?(e.preventDefault(),e.stopImmediatePropagation(),b(a,"prev")):t.submenu&&(e.key===(f.value?"ArrowRight":"ArrowLeft")?s.value=!1:e.key===(f.value?"ArrowLeft":"ArrowRight")&&(e.preventDefault(),b(a,"first"))):(t.submenu?e.key===(f.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(e.key))&&(s.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>y(e))))}const R=G(()=>k({"aria-haspopup":"menu","aria-expanded":String(s.value),"aria-controls":m.value,onKeydown:y},t.activatorProps));return Q(()=>{const e=V.filterProps(t);return P(V,k({ref:o,id:m.value,class:["v-menu",t.class],style:t.style},e,{modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,absolute:!0,activatorProps:R.value,location:t.location??(t.submenu?"end":"bottom"),"onClick:outside":D,onKeydown:I},C),{activator:c.activator,default:function(){for(var a=arguments.length,l=new Array(a),u=0;u{var i;return[(i=c.default)==null?void 0:i.call(c,...l)]}})}})}),$({id:m,ΨopenChildren:d},o)}});export{ne as V}; diff --git a/assets/VMenu-BNxvK6X3.js b/assets/VMenu-BNxvK6X3.js deleted file mode 100644 index 0652845..0000000 --- a/assets/VMenu-BNxvK6X3.js +++ /dev/null @@ -1 +0,0 @@ -import{g as M,p,S as L,aU as S,aj as K,aK as O,Y as U,W as B,bu as F,c5 as E,X as N,bh as j,c6 as z,aO as H,c7 as w,Z as W,bM as k,K as Z,E as A,c as $,aE as P,d as V,P as X,aM as Y,$ as q,aZ as G,bT as J,c8 as y,c9 as Q,bz as _,ca as ee}from"./index-DmGr2YjE.js";const te=p({id:String,submenu:Boolean,disableInitialFocus:Boolean,...q(G({closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:J}}),["absolute"])},"VMenu"),ne=M()({name:"VMenu",props:te(),emits:{"update:modelValue":t=>!0},setup(t,h){let{slots:c}=h;const s=L(t,"modelValue"),{scopeId:C}=S(),{isRtl:f}=K(),v=O(),m=U(()=>t.id||`v-menu-${v}`),o=B(),n=F(E,null),d=N(new Set);_(E,{register(){d.value.add(v)},unregister(){d.value.delete(v)},closeParents(e){setTimeout(()=>{var a;!d.value.size&&!t.persistent&&(e==null||(a=o.value)!=null&&a.contentEl&&!ee(e,o.value.contentEl))&&(s.value=!1,n==null||n.closeParents())},40)}}),j(()=>{n==null||n.unregister(),document.removeEventListener("focusin",g)}),z(()=>s.value=!1);async function g(e){var u,i,r;const a=e.relatedTarget,l=e.target;await H(),s.value&&a!==l&&((u=o.value)!=null&&u.contentEl)&&((i=o.value)!=null&&i.globalTop)&&![document,o.value.contentEl].includes(l)&&!o.value.contentEl.contains(l)&&((r=w(o.value.contentEl)[0])==null||r.focus())}W(s,e=>{e?(n==null||n.register(),k&&!t.disableInitialFocus&&document.addEventListener("focusin",g,{once:!0})):(n==null||n.unregister(),k&&document.removeEventListener("focusin",g))},{immediate:!0});function D(e){n==null||n.closeParents(e)}function I(e){var a,l,u,i,r;if(!t.disabled)if(e.key==="Tab"||e.key==="Enter"&&!t.closeOnContentClick){if(e.key==="Enter"&&(e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLInputElement&&e.target.closest("form")))return;e.key==="Enter"&&e.preventDefault(),Q(w((a=o.value)==null?void 0:a.contentEl,!1),e.shiftKey?"prev":"next",x=>x.tabIndex>=0)||(s.value=!1,(u=(l=o.value)==null?void 0:l.activatorEl)==null||u.focus())}else t.submenu&&e.key===(f.value?"ArrowRight":"ArrowLeft")&&(s.value=!1,(r=(i=o.value)==null?void 0:i.activatorEl)==null||r.focus())}function b(e){var l;if(t.disabled)return;const a=(l=o.value)==null?void 0:l.contentEl;a&&s.value?e.key==="ArrowDown"?(e.preventDefault(),e.stopImmediatePropagation(),y(a,"next")):e.key==="ArrowUp"?(e.preventDefault(),e.stopImmediatePropagation(),y(a,"prev")):t.submenu&&(e.key===(f.value?"ArrowRight":"ArrowLeft")?s.value=!1:e.key===(f.value?"ArrowLeft":"ArrowRight")&&(e.preventDefault(),y(a,"first"))):(t.submenu?e.key===(f.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(e.key))&&(s.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>b(e))))}const R=Z(()=>A({"aria-haspopup":"menu","aria-expanded":String(s.value),"aria-controls":m.value,onKeydown:b},t.activatorProps));return $(()=>{const e=P.filterProps(t);return V(P,A({ref:o,id:m.value,class:["v-menu",t.class],style:t.style},e,{modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,absolute:!0,activatorProps:R.value,location:t.location??(t.submenu?"end":"bottom"),"onClick:outside":D,onKeydown:I},C),{activator:c.activator,default:function(){for(var a=arguments.length,l=new Array(a),u=0;u{var i;return[(i=c.default)==null?void 0:i.call(c,...l)]}})}})}),Y({id:m,ΨopenChildren:d},o)}});export{ne as V}; diff --git a/assets/VRow-2V1J5F3c.js b/assets/VRow-2V1J5F3c.js deleted file mode 100644 index 32b21af..0000000 --- a/assets/VRow-2V1J5F3c.js +++ /dev/null @@ -1 +0,0 @@ -import{g as C,p as S,K as b,cd as k,m as N,h as j,ce as i,bY as u}from"./index-DmGr2YjE.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function G(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const _=["auto","start","end","center","baseline","stretch"],I=S({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>_.includes(e)},...j(),...N()},"VCol"),x=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=G(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return k(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],h=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],$=e=>R.includes(e),w=d("align",()=>({type:String,default:null,validator:$})),T=[...f,...h],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...h,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys(w),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function K(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const M=S({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:$},...w,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),Y=C()({name:"VRow",props:M(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=K(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return k(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{x as V,Y as a}; diff --git a/assets/VRow-CmZZJImz.js b/assets/VRow-CmZZJImz.js new file mode 100644 index 0000000..0159244 --- /dev/null +++ b/assets/VRow-CmZZJImz.js @@ -0,0 +1 @@ +import{g as C,p as S,al as b,cd as k,m as N,h as j,ce as i,bY as u}from"./index-B01HL2YE.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function G(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const _=["auto","start","end","center","baseline","stretch"],I=S({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>_.includes(e)},...j(),...N()},"VCol"),x=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=G(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return k(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],h=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],$=e=>R.includes(e),w=d("align",()=>({type:String,default:null,validator:$})),T=[...f,...h],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...h,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys(w),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const F=S({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:$},...w,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),Y=C()({name:"VRow",props:F(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return k(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{x as V,Y as a}; diff --git a/assets/VSkeletonLoader-CuMOQJqJ.js b/assets/VSkeletonLoader-CuMOQJqJ.js deleted file mode 100644 index fa61c8e..0000000 --- a/assets/VSkeletonLoader-CuMOQJqJ.js +++ /dev/null @@ -1 +0,0 @@ -import{g as h,p as f,N as k,u as x,a9 as y,a7 as S,J as C,K as L,U as w,c as B,i as l,E as P,ad as V,ah as T,f as _,e as A}from"./index-DmGr2YjE.js";const E={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function D(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return l("div",{class:A(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[t])}function o(e){const[t,a]=e.split("@");return Array.from({length:a}).map(()=>i(t))}function i(e){let t=[];if(!e)return t;const a=E[e];if(e!==a){if(e.includes(","))return s(e);if(e.includes("@"))return o(e);a.includes(",")?t=s(a):a.includes("@")?t=o(a):a&&t.push(i(a))}return[D(e,t)]}function s(e){return e.replace(/\s/g,"").split(",").map(i)}const N=f({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},..._(),...T(),...V()},"VSkeletonLoader"),j=h()({name:"VSkeletonLoader",props:N(),setup(e,t){let{slots:a}=t;const{backgroundColorClasses:d,backgroundColorStyles:c}=k(()=>e.color),{dimensionStyles:u}=x(e),{elevationClasses:g}=y(e),{themeClasses:m}=S(e),{t:v}=C(),p=L(()=>i(w(e.type).join(",")));return B(()=>{var r;const n=!a.default||e.loading,b=e.boilerplate||!n?{}:{ariaLive:"polite",ariaLabel:v(e.loadingText),role:"alert"};return l("div",P({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},m.value,d.value,g.value],style:[c.value,n?u.value:{}]},b),[n?p.value:(r=a.default)==null?void 0:r.call(a)])}),{}}});export{j as V}; diff --git a/assets/VSkeletonLoader-sErXiQwV.js b/assets/VSkeletonLoader-sErXiQwV.js new file mode 100644 index 0000000..79d9a79 --- /dev/null +++ b/assets/VSkeletonLoader-sErXiQwV.js @@ -0,0 +1 @@ +import{g as h,p as f,a5 as k,u as x,a_ as y,aY as S,a7 as C,al as L,ak as w,c as B,i as l,E as P,af as V,b1 as T,f as _,e as A}from"./index-B01HL2YE.js";const E={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function D(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return l("div",{class:A(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[t])}function o(e){const[t,a]=e.split("@");return Array.from({length:a}).map(()=>i(t))}function i(e){let t=[];if(!e)return t;const a=E[e];if(e!==a){if(e.includes(","))return s(e);if(e.includes("@"))return o(e);a.includes(",")?t=s(a):a.includes("@")?t=o(a):a&&t.push(i(a))}return[D(e,t)]}function s(e){return e.replace(/\s/g,"").split(",").map(i)}const $=f({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},..._(),...T(),...V()},"VSkeletonLoader"),z=h()({name:"VSkeletonLoader",props:$(),setup(e,t){let{slots:a}=t;const{backgroundColorClasses:d,backgroundColorStyles:c}=k(()=>e.color),{dimensionStyles:u}=x(e),{elevationClasses:g}=y(e),{themeClasses:m}=S(e),{t:v}=C(),p=L(()=>i(w(e.type).join(",")));return B(()=>{var r;const n=!a.default||e.loading,b=e.boilerplate||!n?{}:{ariaLive:"polite",ariaLabel:v(e.loadingText),role:"alert"};return l("div",P({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},m.value,d.value,g.value],style:[c.value,n?u.value:{}]},b),[n?p.value:(r=a.default)==null?void 0:r.call(a)])}),{}}});export{z as V}; diff --git a/assets/VSwitch-Cqv0EiRW.js b/assets/VSwitch-Cqv0EiRW.js deleted file mode 100644 index 7e8fad4..0000000 --- a/assets/VSwitch-Cqv0EiRW.js +++ /dev/null @@ -1 +0,0 @@ -import{g as $,p as j,S as w,c0 as q,W as y,bM as G,Y as C,aK as H,c as J,aL as Q,d as l,E as b,i as n,n as S,e as P,P as X,cf as Z,v as ee,c1 as ae,cg as te,F as le,aM as se}from"./index-DmGr2YjE.js";import{u as oe,a as _,m as ne}from"./VTextField-C4kOar5O.js";import{a as I,b as ie}from"./VCheckboxBtn-vttsGEHT.js";const re=j({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ne(),...ie()},"VSwitch"),fe=$()({name:"VSwitch",inheritAttrs:!1,props:re(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,B){let{attrs:F,slots:a}=B;const i=w(e,"indeterminate"),s=w(e,"modelValue"),{loaderClasses:R}=q(e),{isFocused:x,focus:A,blur:p}=oe(e),h=y(),k=y(),V=G&&window.matchMedia("(forced-colors: active)").matches,z=C(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),M=H(),N=C(()=>e.id||`switch-${M}`);function D(){i.value&&(i.value=!1)}function L(r){var c,u;r.stopPropagation(),r.preventDefault(),(u=(c=h.value)==null?void 0:c.input)==null||u.click()}return J(()=>{const[r,c]=Q(F),u=_.filterProps(e),E=I.filterProps(e);return l(_,b({ref:k,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":i.value},R.value,e.class]},r,u,{modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,id:N.value,focused:x.value,style:e.style}),{...a,default:d=>{let{id:T,messagesId:U,isDisabled:W,isReadonly:K,isValid:g}=d;const f={model:s,isValid:g};return l(I,b({ref:h},E,{modelValue:s.value,"onUpdate:modelValue":[o=>s.value=o,D],id:T.value,"aria-describedby":U.value,type:"checkbox","aria-checked":i.value?"mixed":void 0,disabled:W.value,readonly:K.value,onFocus:A,onBlur:p},c),{...a,default:o=>{let{backgroundColorClasses:v,backgroundColorStyles:t}=o;return n("div",{class:P(["v-switch__track",V?void 0:v.value]),style:S(t.value),onClick:L},[a["track-true"]&&n("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](f)]),a["track-false"]&&n("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](f)])])},input:o=>{let{inputNode:v,icon:t,backgroundColorClasses:O,backgroundColorStyles:Y}=o;return n(le,null,[v,n("div",{class:P(["v-switch__thumb",{"v-switch__thumb--filled":t||e.loading},e.inset||V?void 0:O.value]),style:S(e.inset?void 0:Y.value)},[a.thumb?l(X,{defaults:{VIcon:{icon:t,size:"x-small"}}},{default:()=>[a.thumb({...f,icon:t})]}):l(Z,null,{default:()=>[e.loading?l(ae,{name:"v-switch",active:!0,color:g.value===!1?void 0:z.value},{default:m=>a.loader?a.loader(m):l(te,{active:m.isActive,color:m.color,indeterminate:!0,size:"16",width:"2"},null)}):t&&l(ee,{key:String(t),icon:t,size:"x-small"},null)]})])])}})}})}),se({},k)}});export{fe as V}; diff --git a/assets/VSwitch-uLPjXKnU.js b/assets/VSwitch-uLPjXKnU.js new file mode 100644 index 0000000..3f4542c --- /dev/null +++ b/assets/VSwitch-uLPjXKnU.js @@ -0,0 +1 @@ +import{g as W,p as $,aj as w,c0 as q,an as y,bM as H,ao as C,aG as J,c as K,ar as X,d as l,E as b,i as n,n as S,e as P,aQ as Y,cf as Z,v as ee,c1 as ae,cg as te,F as le,as as se}from"./index-B01HL2YE.js";import{u as oe,a as _,d as ne}from"./VTextField-DDMIr0_j.js";import{V as I,m as ie}from"./VCheckboxBtn-DzDw8U-d.js";const re=$({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ne(),...ie()},"VSwitch"),fe=W()({name:"VSwitch",inheritAttrs:!1,props:re(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,B){let{attrs:F,slots:a}=B;const i=w(e,"indeterminate"),s=w(e,"modelValue"),{loaderClasses:R}=q(e),{isFocused:x,focus:A,blur:p}=oe(e),h=y(),V=y(),k=H&&window.matchMedia("(forced-colors: active)").matches,z=C(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),M=J(),N=C(()=>e.id||`switch-${M}`);function D(){i.value&&(i.value=!1)}function E(r){var c,u;r.stopPropagation(),r.preventDefault(),(u=(c=h.value)==null?void 0:c.input)==null||u.click()}return K(()=>{const[r,c]=X(F),u=_.filterProps(e),L=I.filterProps(e);return l(_,b({ref:V,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":i.value},R.value,e.class]},r,u,{modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,id:N.value,focused:x.value,style:e.style}),{...a,default:d=>{let{id:T,messagesId:U,isDisabled:j,isReadonly:G,isValid:g}=d;const f={model:s,isValid:g};return l(I,b({ref:h},L,{modelValue:s.value,"onUpdate:modelValue":[o=>s.value=o,D],id:T.value,"aria-describedby":U.value,type:"checkbox","aria-checked":i.value?"mixed":void 0,disabled:j.value,readonly:G.value,onFocus:A,onBlur:p},c),{...a,default:o=>{let{backgroundColorClasses:v,backgroundColorStyles:t}=o;return n("div",{class:P(["v-switch__track",k?void 0:v.value]),style:S(t.value),onClick:E},[a["track-true"]&&n("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](f)]),a["track-false"]&&n("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](f)])])},input:o=>{let{inputNode:v,icon:t,backgroundColorClasses:O,backgroundColorStyles:Q}=o;return n(le,null,[v,n("div",{class:P(["v-switch__thumb",{"v-switch__thumb--filled":t||e.loading},e.inset||k?void 0:O.value]),style:S(e.inset?void 0:Q.value)},[a.thumb?l(Y,{defaults:{VIcon:{icon:t,size:"x-small"}}},{default:()=>[a.thumb({...f,icon:t})]}):l(Z,null,{default:()=>[e.loading?l(ae,{name:"v-switch",active:!0,color:g.value===!1?void 0:z.value},{default:m=>a.loader?a.loader(m):l(te,{active:m.isActive,color:m.color,indeterminate:!0,size:"16",width:"2"},null)}):t&&l(ee,{key:String(t),icon:t,size:"x-small"},null)]})])])}})}})}),se({},V)}});export{fe as V}; diff --git a/assets/VTabsWindowItem-BbeSXQBC.js b/assets/VTabsWindowItem-BbeSXQBC.js new file mode 100644 index 0000000..de9fc52 --- /dev/null +++ b/assets/VTabsWindowItem-BbeSXQBC.js @@ -0,0 +1 @@ +import{c as X,d as p}from"./VCheckboxBtn-DzDw8U-d.js";import{u as ee,a as H,d as te}from"./VTextField-DDMIr0_j.js";import{bE as z,g as T,p as x,aj as G,an as S,aG as ne,c as I,ar as oe,d as m,E as B,as as se,av as O,aY as ae,b3 as ie,a7 as ue,bB as le,al as h,ap as E,aq as ce,ao as $,i as V,y as L,K as U,e as A,n as D,af as re,m as de,h as q,bA as ve,bv as K,by as fe,b as he,bw as me,ad as be,ac as ge,bx as we,bz as ye,at as Ve,aC as M}from"./index-B01HL2YE.js";const Te=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:a}=e,i=.5,s=16;e.offsetX=t-o,e.offsetY=a-n,Math.abs(e.offsetY)o+s&&e.right(e)),Math.abs(e.offsetX)n+s&&e.down(e))};function xe(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function Ie(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),Te(o)}function ke(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function Ce(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>xe(t,o),touchend:t=>Ie(t,o),touchmove:t=>ke(t,o)}}function Pe(e,o){var l;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,a=(t==null?void 0:t.options)??{passive:!0},i=(l=o.instance)==null?void 0:l.$.uid;if(!n||!i)return;const s=Ce(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[i]=s,z(s).forEach(r=>{n.addEventListener(r,s[r],a)})}function Be(e,o){var i,s;const t=(i=o.value)!=null&&i.parent?e.parentElement:e,n=(s=o.instance)==null?void 0:s.$.uid;if(!(t!=null&&t._touchHandlers)||!n)return;const a=t._touchHandlers[n];z(a).forEach(l=>{t.removeEventListener(l,a[l])}),delete t._touchHandlers[n]}const R={mounted:Pe,unmounted:Be},We=x({...te(),...O(p(),["inline"])},"VCheckbox"),Xe=T()({name:"VCheckbox",inheritAttrs:!1,props:We(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,o){let{attrs:t,slots:n}=o;const a=G(e,"modelValue"),{isFocused:i,focus:s,blur:l}=ee(e),r=S(),v=ne();return I(()=>{const[g,y]=oe(t),w=H.filterProps(e),b=X.filterProps(e);return m(H,B({ref:r,class:["v-checkbox",e.class]},g,w,{modelValue:a.value,"onUpdate:modelValue":c=>a.value=c,id:e.id||`checkbox-${v}`,focused:i.value,style:e.style}),{...n,default:c=>{let{id:k,messagesId:C,isDisabled:P,isReadonly:W,isValid:_}=c;return m(X,B(b,{id:k.value,"aria-describedby":C.value,disabled:P.value,readonly:W.value},y,{error:_.value===!1,modelValue:a.value,"onUpdate:modelValue":u=>a.value=u,onFocus:s,onBlur:l}),n)}})}),se({},r)}}),_e=Symbol.for("vuetify:v-tabs"),J=Symbol.for("vuetify:v-window"),N=Symbol.for("vuetify:v-window-group"),Q=x({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...q(),...de(),...re()},"VWindow"),F=T()({name:"VWindow",directives:{vTouch:R},props:Q(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=ae(e),{isRtl:a}=ie(),{t:i}=ue(),s=le(e,N),l=S(),r=h(()=>a.value?!e.reverse:e.reverse),v=E(!1),g=h(()=>{const u=e.direction==="vertical"?"y":"x",f=(r.value?!v.value:v.value)?"-reverse":"";return`v-window-${u}${f}-transition`}),y=E(0),w=S(void 0),b=h(()=>s.items.value.findIndex(u=>s.selected.value.includes(u.id)));ce(b,(u,d)=>{const f=s.items.value.length,Y=f-1;f<=2?v.value=ue.continuous||b.value!==0),k=$(()=>e.continuous||b.value!==s.items.value.length-1);function C(){c.value&&s.prev()}function P(){k.value&&s.next()}const W=h(()=>{const u=[],d={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${r.value?"right":"left"}`,onClick:s.prev,"aria-label":i("$vuetify.carousel.prev")};u.push(c.value?t.prev?t.prev({props:d}):m(L,d,null):V("div",null,null));const f={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${r.value?"left":"right"}`,onClick:s.next,"aria-label":i("$vuetify.carousel.next")};return u.push(k.value?t.next?t.next({props:f}):m(L,f,null):V("div",null,null)),u}),_=h(()=>e.touch===!1?e.touch:{...{left:()=>{r.value?C():P()},right:()=>{r.value?P():C()},start:d=>{let{originalEvent:f}=d;f.stopPropagation()}},...e.touch===!0?{}:e.touch});return I(()=>U(m(e.tag,{ref:l,class:A(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows},n.value,e.class]),style:D(e.style)},{default:()=>{var u,d;return[V("div",{class:"v-window__container",style:{height:w.value}},[(u=t.default)==null?void 0:u.call(t,{group:s}),e.showArrows!==!1&&V("div",{class:A(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[W.value])]),(d=t.additional)==null?void 0:d.call(t,{group:s})]}}),[[R,_.value]])),{group:s}}}),Se=x({...O(Q(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),He=T()({name:"VTabsWindow",props:Se(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const n=K(_e,null),a=G(e,"modelValue"),i=h({get(){var s;return a.value!=null||!n?a.value:(s=n.items.value.find(l=>n.selected.value.includes(l.id)))==null?void 0:s.value},set(s){a.value=s}});return I(()=>{const s=F.filterProps(e);return m(F,B({_as:"VTabsWindow"},s,{modelValue:i.value,"onUpdate:modelValue":l=>i.value=l,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),Z=x({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...q(),...ye(),...we()},"VWindowItem"),j=T()({name:"VWindowItem",directives:{vTouch:R},props:Z(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=K(J),a=fe(e,N),{isBooted:i}=he();if(!n||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=E(!1),l=h(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function r(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function v(){var c;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=M((c=n.rootRef.value)==null?void 0:c.clientHeight)),n.transitionCount.value+=1)}function g(){r()}function y(c){s.value&&Ve(()=>{!l.value||!s.value||!n||(n.transitionHeight.value=M(c.clientHeight))})}const w=h(()=>{const c=n.isReversed.value?e.reverseTransition:e.transition;return l.value?{name:typeof c!="string"?n.transition.value:c,onBeforeEnter:v,onAfterEnter:r,onEnterCancelled:g,onBeforeLeave:v,onAfterLeave:r,onLeaveCancelled:g,onEnter:y}:!1}),{hasContent:b}=me(e,a.isSelected);return I(()=>m(ge,{transition:w.value,disabled:!i.value},{default:()=>{var c;return[U(V("div",{class:A(["v-window-item",a.selectedClass.value,e.class]),style:D(e.style)},[b.value&&((c=t.default)==null?void 0:c.call(t))]),[[be,a.isSelected.value]])]}})),{groupItem:a}}}),Ee=x({...Z()},"VTabsWindowItem"),$e=T()({name:"VTabsWindowItem",props:Ee(),setup(e,o){let{slots:t}=o;return I(()=>{const n=j.filterProps(e);return m(j,B({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),t)}),{}}});export{_e as V,$e as a,He as b,F as c,j as d,Xe as e}; diff --git a/assets/VTabsWindowItem-CCT7n5JJ.css b/assets/VTabsWindowItem-CCT7n5JJ.css deleted file mode 100644 index d00ce72..0000000 --- a/assets/VTabsWindowItem-CCT7n5JJ.css +++ /dev/null @@ -1 +0,0 @@ -.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-window{overflow:hidden}.v-window__container{display:flex;flex-direction:column;height:inherit;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window__controls{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;pointer-events:none}.v-window__controls>*{pointer-events:auto}.v-window--show-arrows-on-hover{overflow:hidden}.v-window--show-arrows-on-hover .v-window__left{transform:translate(-200%)}:has(.v-window__controls--right).v-window--show-arrows-on-hover .v-window__left{transform:translate(200%)}.v-window--show-arrows-on-hover .v-window__right{transform:translate(200%)}:has(.v-window__controls--left).v-window--show-arrows-on-hover .v-window__right{transform:translate(-200%)}.v-window--show-arrows-on-hover:hover .v-window__left,.v-window--show-arrows-on-hover:hover .v-window__right{transform:translate(0)}.v-window--vertical-arrows .v-window__controls{flex-direction:column;justify-content:center;gap:12px}.v-window--vertical-arrows .v-window__controls--left{align-items:start}.v-window--vertical-arrows .v-window__controls--right{align-items:end}.v-window--vertical-arrows .v-window__controls .v-window__left .v-icon,.v-window--vertical-arrows .v-window__controls .v-window__right .v-icon{transform:rotate(90deg)}.v-window-x-transition-enter-active,.v-window-x-transition-leave-active,.v-window-x-reverse-transition-enter-active,.v-window-x-reverse-transition-leave-active,.v-window-y-transition-enter-active,.v-window-y-transition-leave-active,.v-window-y-reverse-transition-enter-active,.v-window-y-reverse-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window-x-transition-leave-from,.v-window-x-transition-leave-to,.v-window-x-reverse-transition-leave-from,.v-window-x-reverse-transition-leave-to,.v-window-y-transition-leave-from,.v-window-y-transition-leave-to,.v-window-y-reverse-transition-leave-from,.v-window-y-reverse-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-x-transition-enter-from{transform:translate(100%)}.v-window-x-transition-leave-to,.v-window-x-reverse-transition-enter-from{transform:translate(-100%)}.v-window-x-reverse-transition-leave-to{transform:translate(100%)}.v-window-y-transition-enter-from{transform:translateY(100%)}.v-window-y-transition-leave-to,.v-window-y-reverse-transition-enter-from{transform:translateY(-100%)}.v-window-y-reverse-transition-leave-to{transform:translateY(100%)} diff --git a/assets/VTabsWindowItem-C_NeCn4Z.css b/assets/VTabsWindowItem-C_NeCn4Z.css new file mode 100644 index 0000000..ac7affd --- /dev/null +++ b/assets/VTabsWindowItem-C_NeCn4Z.css @@ -0,0 +1 @@ +.v-checkbox.v-input{flex:0 1 auto}.v-checkbox .v-selection-control{min-height:var(--v-input-control-height)}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-window{overflow:hidden}.v-window__container{display:flex;flex-direction:column;height:inherit;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window__controls{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;pointer-events:none}.v-window__controls>*{pointer-events:auto}.v-window--show-arrows-on-hover{overflow:hidden}.v-window--show-arrows-on-hover .v-window__left{transform:translate(-200%)}:has(.v-window__controls--right).v-window--show-arrows-on-hover .v-window__left{transform:translate(200%)}.v-window--show-arrows-on-hover .v-window__right{transform:translate(200%)}:has(.v-window__controls--left).v-window--show-arrows-on-hover .v-window__right{transform:translate(-200%)}.v-window--show-arrows-on-hover:hover .v-window__left,.v-window--show-arrows-on-hover:hover .v-window__right{transform:translate(0)}.v-window--vertical-arrows .v-window__controls{flex-direction:column;justify-content:center;gap:12px}.v-window--vertical-arrows .v-window__controls--left{align-items:start}.v-window--vertical-arrows .v-window__controls--right{align-items:end}.v-window--vertical-arrows .v-window__controls .v-window__left .v-icon,.v-window--vertical-arrows .v-window__controls .v-window__right .v-icon{transform:rotate(90deg)}.v-window-x-transition-enter-active,.v-window-x-transition-leave-active,.v-window-x-reverse-transition-enter-active,.v-window-x-reverse-transition-leave-active,.v-window-y-transition-enter-active,.v-window-y-transition-leave-active,.v-window-y-reverse-transition-enter-active,.v-window-y-reverse-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window-x-transition-leave-from,.v-window-x-transition-leave-to,.v-window-x-reverse-transition-leave-from,.v-window-x-reverse-transition-leave-to,.v-window-y-transition-leave-from,.v-window-y-transition-leave-to,.v-window-y-reverse-transition-leave-from,.v-window-y-reverse-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-x-transition-enter-from{transform:translate(100%)}.v-window-x-transition-leave-to,.v-window-x-reverse-transition-enter-from{transform:translate(-100%)}.v-window-x-reverse-transition-leave-to{transform:translate(100%)}.v-window-y-transition-enter-from{transform:translateY(100%)}.v-window-y-transition-leave-to,.v-window-y-reverse-transition-enter-from{transform:translateY(-100%)}.v-window-y-reverse-transition-leave-to{transform:translateY(100%)} diff --git a/assets/VTabsWindowItem-CevZz8wf.js b/assets/VTabsWindowItem-CevZz8wf.js deleted file mode 100644 index 07e232b..0000000 --- a/assets/VTabsWindowItem-CevZz8wf.js +++ /dev/null @@ -1 +0,0 @@ -import{bD as $,g as T,p as V,a7 as Z,aj as q,J as N,bA as Q,W as X,K as h,X as x,Z as p,Y,d as m,i as w,y as k,c as I,a5 as L,e as S,n as M,ad as ee,m as te,h as O,bz as ne,bu as j,S as oe,E as z,$ as se,bx as ae,b as ie,bv as ue,aI as le,O as ce,bw as re,by as de,aO as ve,L as A}from"./index-DmGr2YjE.js";const fe=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:a}=e,i=.5,s=16;e.offsetX=t-o,e.offsetY=a-n,Math.abs(e.offsetY)o+s&&e.right(e)),Math.abs(e.offsetX)n+s&&e.down(e))};function he(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function me(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),fe(o)}function ge(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function we(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>he(t,o),touchend:t=>me(t,o),touchmove:t=>ge(t,o)}}function ye(e,o){var l;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,a=(t==null?void 0:t.options)??{passive:!0},i=(l=o.instance)==null?void 0:l.$.uid;if(!n||!i)return;const s=we(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[i]=s,$(s).forEach(d=>{n.addEventListener(d,s[d],a)})}function be(e,o){var i,s;const t=(i=o.value)!=null&&i.parent?e.parentElement:e,n=(s=o.instance)==null?void 0:s.$.uid;if(!(t!=null&&t._touchHandlers)||!n)return;const a=t._touchHandlers[n];$(a).forEach(l=>{t.removeEventListener(l,a[l])}),delete t._touchHandlers[n]}const _={mounted:ye,unmounted:be},Te=Symbol.for("vuetify:v-tabs"),G=Symbol.for("vuetify:v-window"),F=Symbol.for("vuetify:v-window-group"),D=V({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...O(),...te(),...ee()},"VWindow"),H=T()({name:"VWindow",directives:{vTouch:_},props:D(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=Z(e),{isRtl:a}=q(),{t:i}=N(),s=Q(e,F),l=X(),d=h(()=>a.value?!e.reverse:e.reverse),v=x(!1),y=h(()=>{const u=e.direction==="vertical"?"y":"x",f=(d.value?!v.value:v.value)?"-reverse":"";return`v-window-${u}${f}-transition`}),W=x(0),b=X(void 0),g=h(()=>s.items.value.findIndex(u=>s.selected.value.includes(u.id)));p(g,(u,r)=>{const f=s.items.value.length,E=f-1;f<=2?v.value=ue.continuous||g.value!==0),B=Y(()=>e.continuous||g.value!==s.items.value.length-1);function C(){c.value&&s.prev()}function P(){B.value&&s.next()}const J=h(()=>{const u=[],r={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${d.value?"right":"left"}`,onClick:s.prev,"aria-label":i("$vuetify.carousel.prev")};u.push(c.value?t.prev?t.prev({props:r}):m(k,r,null):w("div",null,null));const f={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${d.value?"left":"right"}`,onClick:s.next,"aria-label":i("$vuetify.carousel.next")};return u.push(B.value?t.next?t.next({props:f}):m(k,f,null):w("div",null,null)),u}),K=h(()=>e.touch===!1?e.touch:{...{left:()=>{d.value?C():P()},right:()=>{d.value?P():C()},start:r=>{let{originalEvent:f}=r;f.stopPropagation()}},...e.touch===!0?{}:e.touch});return I(()=>L(m(e.tag,{ref:l,class:S(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows},n.value,e.class]),style:M(e.style)},{default:()=>{var u,r;return[w("div",{class:"v-window__container",style:{height:b.value}},[(u=t.default)==null?void 0:u.call(t,{group:s}),e.showArrows!==!1&&w("div",{class:S(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[J.value])]),(r=t.additional)==null?void 0:r.call(t,{group:s})]}}),[[_,K.value]])),{group:s}}}),Ve=V({...se(D(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),xe=T()({name:"VTabsWindow",props:Ve(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const n=j(Te,null),a=oe(e,"modelValue"),i=h({get(){var s;return a.value!=null||!n?a.value:(s=n.items.value.find(l=>n.selected.value.includes(l.id)))==null?void 0:s.value},set(s){a.value=s}});return I(()=>{const s=H.filterProps(e);return m(H,z({_as:"VTabsWindow"},s,{modelValue:i.value,"onUpdate:modelValue":l=>i.value=l,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),U=V({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...O(),...de(),...re()},"VWindowItem"),R=T()({name:"VWindowItem",directives:{vTouch:_},props:U(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=j(G),a=ae(e,F),{isBooted:i}=ie();if(!n||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=x(!1),l=h(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function d(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function v(){var c;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=A((c=n.rootRef.value)==null?void 0:c.clientHeight)),n.transitionCount.value+=1)}function y(){d()}function W(c){s.value&&ve(()=>{!l.value||!s.value||!n||(n.transitionHeight.value=A(c.clientHeight))})}const b=h(()=>{const c=n.isReversed.value?e.reverseTransition:e.transition;return l.value?{name:typeof c!="string"?n.transition.value:c,onBeforeEnter:v,onAfterEnter:d,onEnterCancelled:y,onBeforeLeave:v,onAfterLeave:d,onLeaveCancelled:y,onEnter:W}:!1}),{hasContent:g}=ue(e,a.isSelected);return I(()=>m(ce,{transition:b.value,disabled:!i.value},{default:()=>{var c;return[L(w("div",{class:S(["v-window-item",a.selectedClass.value,e.class]),style:M(e.style)},[g.value&&((c=t.default)==null?void 0:c.call(t))]),[[le,a.isSelected.value]])]}})),{groupItem:a}}}),Ie=V({...U()},"VTabsWindowItem"),Se=T()({name:"VTabsWindowItem",props:Ie(),setup(e,o){let{slots:t}=o;return I(()=>{const n=R.filterProps(e);return m(R,z({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),t)}),{}}});export{Te as V,Se as a,xe as b,H as c,R as d}; diff --git a/assets/VTextField-C4kOar5O.js b/assets/VTextField-C4kOar5O.js deleted file mode 100644 index f49dcce..0000000 --- a/assets/VTextField-C4kOar5O.js +++ /dev/null @@ -1 +0,0 @@ -import{g as J,p as T,Y as w,c as X,d as b,a5 as oe,aI as ye,i as r,n as H,e as U,O as be,aJ as he,h as G,an as Ce,ad as re,Q as q,J as Le,E as ee,v as Te,aP as Ve,cn as xe,S as se,a7 as ke,c0 as Ne,ac as ze,aj as Ie,aK as de,K as g,W as N,N as Oe,aF as Se,Z,co as Ue,aR as je,aS as Ke,L as We,c1 as qe,P as He,cl as Je,F as ne,ae as Xe,c2 as Ye,M as ae,U as te,X as ue,bz as Qe,bu as _e,cp as Ze,bN as Ge,c3 as pe,cq as ea,bh as aa,b7 as la,bj as ve,aO as ie,aT as na,u as ta,bB as ia,aW as sa,f as ua,a3 as fe,aL as oa,$ as ra,cr as da,aM as ca}from"./index-DmGr2YjE.js";const va=T({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...G(),...he({transition:{component:Ce}})},"VCounter"),fa=J()({name:"VCounter",functional:!0,props:va(),setup(e,t){let{slots:u}=t;const n=w(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return X(()=>b(be,{transition:e.transition},{default:()=>[oe(r("div",{class:U(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:H(e.style)},[u.default?u.default({counter:n.value,max:e.max,value:e.value}):n.value]),[[ye,e.active]])]})),{}}}),ga=T({text:String,onClick:q(),...G(),...re()},"VLabel"),ma=J()({name:"VLabel",props:ga(),setup(e,t){let{slots:u}=t;return X(()=>{var n;return r("label",{class:U(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:H(e.style),onClick:e.onClick},[e.text,(n=u.default)==null?void 0:n.call(u)])}),{}}}),ya=T({floating:Boolean,...G()},"VFieldLabel"),le=J()({name:"VFieldLabel",props:ya(),setup(e,t){let{slots:u}=t;return X(()=>b(ma,{class:U(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:H(e.style)},u)),{}}});function Pe(e){const{t}=Le();function u(n){let{name:a,color:l,...m}=n;const y={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[a],h=e[`onClick:${a}`];function V(s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),s.stopPropagation(),Ve(h,new PointerEvent("click",s)))}const o=h&&y?t(`$vuetify.input.${y}`,e.label??""):void 0;return b(Te,ee({icon:e[`${a}Icon`],"aria-label":o,onClick:h,onKeydown:V,color:l},m),null)}return{InputIcon:u}}const Be=T({focused:Boolean,"onUpdate:focused":q()},"focus");function we(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe();const u=se(e,"focused"),n=w(()=>({[`${t}--focused`]:u.value}));function a(){u.value=!0}function l(){u.value=!1}return{focusClasses:n,isFocused:u,focus:a,blur:l}}const ba=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Fe=T({appendInnerIcon:ae,bgColor:String,clearable:Boolean,clearIcon:{type:ae,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,details:Boolean,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ae,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>ba.includes(e)},"onClick:clear":q(),"onClick:appendInner":q(),"onClick:prependInner":q(),...G(),...Ye(),...Xe(),...re()},"VField"),ge=J()({name:"VField",inheritAttrs:!1,props:{id:String,...Be(),...Fe()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:a}=t;const{themeClasses:l}=ke(e),{loaderClasses:m}=Ne(e),{focusClasses:y,isFocused:h,focus:V,blur:o}=we(e),{InputIcon:s}=Pe(e),{roundedClasses:c}=ze(e),{rtlClasses:v}=Ie(),C=w(()=>e.dirty||e.active),B=w(()=>!!(e.label||a.label)),x=w(()=>!e.singleLine&&B.value),L=de(),k=g(()=>e.id||`input-${L}`),_=w(()=>e.details?`${k.value}-messages`:void 0),i=N(),f=N(),d=N(),I=g(()=>["plain","underlined"].includes(e.variant)),S=g(()=>e.error||e.disabled?void 0:C.value&&h.value?e.color:e.baseColor),M=g(()=>{if(!(!e.iconColor||e.glow&&!h.value))return e.iconColor===!0?S.value:e.iconColor}),{backgroundColorClasses:p,backgroundColorStyles:z}=Oe(()=>e.bgColor),{textColorClasses:Y,textColorStyles:E}=Se(S);Z(C,D=>{if(x.value){const F=i.value.$el,R=f.value.$el;requestAnimationFrame(()=>{const $=Ue(F),A=R.getBoundingClientRect(),O=A.x-$.x,j=A.y-$.y-($.height/2-A.height/2),K=A.width/.75,W=Math.abs(K-$.width)>1?{maxWidth:We(K)}:void 0,Re=getComputedStyle(F),ce=getComputedStyle(R),$e=parseFloat(Re.transitionDuration)*1e3||150,Ae=parseFloat(ce.getPropertyValue("--v-field-label-scale")),Ee=ce.getPropertyValue("color");F.style.visibility="visible",R.style.visibility="hidden",je(F,{transform:`translate(${O}px, ${j}px) scale(${Ae})`,color:Ee,...W},{duration:$e,easing:Ke,direction:D?"normal":"reverse"}).finished.then(()=>{F.style.removeProperty("visibility"),R.style.removeProperty("visibility")})})}},{flush:"post"});const P=g(()=>({isActive:C,isFocused:h,controlRef:d,blur:o,focus:V}));function Q(D){D.target!==document.activeElement&&D.preventDefault()}return X(()=>{var O,j,K;const D=e.variant==="outlined",F=!!(a["prepend-inner"]||e.prependInnerIcon),R=!!(e.clearable||a.clear)&&!e.disabled,$=!!(a["append-inner"]||e.appendInnerIcon||R),A=()=>a.label?a.label({...P.value,label:e.label,props:{for:k.value}}):e.label;return r("div",ee({class:["v-field",{"v-field--active":C.value,"v-field--appended":$,"v-field--center-affix":e.centerAffix??!I.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":F,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!A(),[`v-field--variant-${e.variant}`]:!0},l.value,p.value,y.value,m.value,c.value,v.value,e.class],style:[z.value,e.style],onClick:Q},u),[r("div",{class:"v-field__overlay"},null),b(qe,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:a.loader}),F&&r("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&b(s,{key:"prepend-icon",name:"prependInner",color:M.value},null),(O=a["prepend-inner"])==null?void 0:O.call(a,P.value)]),r("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&x.value&&b(le,{key:"floating-label",ref:f,class:U([Y.value]),floating:!0,for:k.value,"aria-hidden":!C.value,style:H(E.value)},{default:()=>[A()]}),B.value&&b(le,{key:"label",ref:i,for:k.value},{default:()=>[A()]}),((j=a.default)==null?void 0:j.call(a,{...P.value,props:{id:k.value,class:"v-field__input","aria-describedby":_.value},focus:V,blur:o}))??r("div",{id:k.value,class:"v-field__input","aria-describedby":_.value},null)]),R&&b(Je,{key:"clear"},{default:()=>[oe(r("div",{class:"v-field__clearable",onMousedown:W=>{W.preventDefault(),W.stopPropagation()}},[b(He,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[a.clear?a.clear({...P.value,props:{onFocus:V,onBlur:o,onClick:e["onClick:clear"],tabindex:-1}}):b(s,{name:"clear",onFocus:V,onBlur:o,tabindex:-1},null)]})]),[[ye,e.dirty]])]}),$&&r("div",{key:"append",class:"v-field__append-inner"},[(K=a["append-inner"])==null?void 0:K.call(a,P.value),e.appendInnerIcon&&b(s,{key:"append-icon",name:"appendInner",color:M.value},null)]),r("div",{class:U(["v-field__outline",Y.value]),style:H(E.value)},[D&&r(ne,null,[r("div",{class:"v-field__outline__start"},null),x.value&&r("div",{class:"v-field__outline__notch"},[b(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!C.value},{default:()=>[A()]})]),r("div",{class:"v-field__outline__end"},null)]),I.value&&x.value&&b(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!C.value},{default:()=>[A()]})])])}),{controlRef:d,fieldIconColor:M}}}),ha=T({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...G(),...he({transition:{component:Ce,leaveAbsolute:!0,group:!0}})},"VMessages"),Ca=J()({name:"VMessages",props:ha(),setup(e,t){let{slots:u}=t;const n=g(()=>te(e.messages)),{textColorClasses:a,textColorStyles:l}=Se(()=>e.color);return X(()=>b(be,{transition:e.transition,tag:"div",class:U(["v-messages",a.value,e.class]),style:H([l.value,e.style])},{default:()=>[e.active&&n.value.map((m,y)=>r("div",{class:"v-messages__message",key:`${y}-${n.value}`},[u.message?u.message({message:m}):m]))]})),{}}}),Me=Symbol.for("vuetify:form"),Fa=T({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Ma(e){const t=se(e,"modelValue"),u=w(()=>e.disabled),n=w(()=>e.readonly),a=ue(!1),l=N([]),m=N([]);async function y(){const o=[];let s=!0;m.value=[],a.value=!0;for(const c of l.value){const v=await c.validate();if(v.length>0&&(s=!1,o.push({id:c.id,errorMessages:v})),!s&&e.fastFail)break}return m.value=o,a.value=!1,{valid:s,errors:m.value}}function h(){l.value.forEach(o=>o.reset())}function V(){l.value.forEach(o=>o.resetValidation())}return Z(l,()=>{let o=0,s=0;const c=[];for(const v of l.value)v.isValid===!1?(s++,c.push({id:v.id,errorMessages:v.errorMessages})):v.isValid===!0&&o++;m.value=c,t.value=s>0?!1:o===l.value.length?!0:null},{deep:!0,flush:"post"}),Qe(Me,{register:o=>{let{id:s,vm:c,validate:v,reset:C,resetValidation:B}=o;l.value.some(x=>x.id===s),l.value.push({id:s,validate:v,reset:C,resetValidation:B,vm:Ze(c),isValid:null,errorMessages:[]})},unregister:o=>{l.value=l.value.filter(s=>s.id!==o)},update:(o,s,c)=>{const v=l.value.find(C=>C.id===o);v&&(v.isValid=s,v.errorMessages=c)},isDisabled:u,isReadonly:n,isValidating:a,isValid:t,items:l,validateOn:w(()=>e.validateOn)}),{errors:m,isDisabled:u,isReadonly:n,isValidating:a,isValid:t,items:l,validate:y,reset:h,resetValidation:V}}function Va(e){const t=_e(Me,null);return{...t,isReadonly:g(()=>!!((e==null?void 0:e.readonly)??(t==null?void 0:t.isReadonly.value))),isDisabled:g(()=>!!((e==null?void 0:e.disabled)??(t==null?void 0:t.isDisabled.value)))}}const xa=Symbol.for("vuetify:rules");function ka(e){const t=_e(xa,null);if(!e){if(!t)throw new Error("Could not find Vuetify rules injection");return t.aliases}return(t==null?void 0:t.resolve(e))??w(e)}const Ia=T({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Be()},"validation");function Sa(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:de();const n=se(e,"modelValue"),a=g(()=>e.validationValue===void 0?n.value:e.validationValue),l=Va(e),m=ka(()=>e.rules),y=N([]),h=ue(!0),V=g(()=>!!(te(n.value===""?null:n.value).length||te(a.value===""?null:a.value).length)),o=g(()=>{var i;return(i=e.errorMessages)!=null&&i.length?te(e.errorMessages).concat(y.value).slice(0,Math.max(0,Number(e.maxErrors))):y.value}),s=g(()=>{var d;let i=(e.validateOn??((d=l.validateOn)==null?void 0:d.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const f=new Set((i==null?void 0:i.split(" "))??[]);return{input:f.has("input"),blur:f.has("blur")||f.has("input")||f.has("invalid-input"),invalidInput:f.has("invalid-input"),lazy:f.has("lazy"),eager:f.has("eager")}}),c=g(()=>{var i;return e.error||(i=e.errorMessages)!=null&&i.length?!1:e.rules.length?h.value?y.value.length||s.value.lazy?null:!0:!y.value.length:!0}),v=ue(!1),C=g(()=>({[`${t}--error`]:c.value===!1,[`${t}--dirty`]:V.value,[`${t}--disabled`]:l.isDisabled.value,[`${t}--readonly`]:l.isReadonly.value})),B=Ge("validation"),x=g(()=>e.name??pe(u));ea(()=>{var i;(i=l.register)==null||i.call(l,{id:x.value,vm:B,validate:_,reset:L,resetValidation:k})}),aa(()=>{var i;(i=l.unregister)==null||i.call(l,x.value)}),la(async()=>{var i;s.value.lazy||await _(!s.value.eager),(i=l.update)==null||i.call(l,x.value,c.value,o.value)}),ve(()=>s.value.input||s.value.invalidInput&&c.value===!1,()=>{Z(a,()=>{if(a.value!=null)_();else if(e.focused){const i=Z(()=>e.focused,f=>{f||_(),i()})}})}),ve(()=>s.value.blur,()=>{Z(()=>e.focused,i=>{i||_()})}),Z([c,o],()=>{var i;(i=l.update)==null||i.call(l,x.value,c.value,o.value)});async function L(){n.value=null,await ie(),await k()}async function k(){h.value=!0,s.value.lazy?y.value=[]:await _(!s.value.eager)}async function _(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const f=[];v.value=!0;for(const d of m.value){if(f.length>=Number(e.maxErrors??1))break;const S=await(typeof d=="function"?d:()=>d)(a.value);if(S!==!0){if(S!==!1&&typeof S!="string"){console.warn(`${S} is not a valid value. Rule functions must return boolean true or a string.`);continue}f.push(S||"")}}return y.value=f,v.value=!1,h.value=i,y.value}return{errorMessages:o,isDirty:V,isDisabled:l.isDisabled,isReadonly:l.isReadonly,isPristine:h,isValid:c,isValidating:v,reset:L,resetValidation:k,validate:_,validationClasses:C}}const De=T({id:String,appendIcon:ae,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:ae,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":q(),"onClick:append":q(),...G(),...sa(),...ia(ua(),["maxWidth","minWidth","width"]),...re(),...Ia()},"VInput"),me=J()({name:"VInput",props:{...De()},emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:u,slots:n,emit:a}=t;const{densityClasses:l}=na(e),{dimensionStyles:m}=ta(e),{themeClasses:y}=ke(e),{rtlClasses:h}=Ie(),{InputIcon:V}=Pe(e),o=de(),s=g(()=>e.id||`input-${o}`),{errorMessages:c,isDirty:v,isDisabled:C,isReadonly:B,isPristine:x,isValid:L,isValidating:k,reset:_,resetValidation:i,validate:f,validationClasses:d}=Sa(e,"v-input",s),I=g(()=>{var P;return(P=e.errorMessages)!=null&&P.length||!x.value&&c.value.length?c.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages}),S=w(()=>I.value.length>0),M=w(()=>!e.hideDetails||e.hideDetails==="auto"&&(S.value||!!n.details)),p=g(()=>M.value?`${s.value}-messages`:void 0),z=g(()=>({id:s,messagesId:p,isDirty:v,isDisabled:C,isReadonly:B,isPristine:x,isValid:L,isValidating:k,hasDetails:M,reset:_,resetValidation:i,validate:f})),Y=w(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),E=w(()=>{if(e.iconColor)return e.iconColor===!0?Y.value:e.iconColor});return X(()=>{var D,F,R,$;const P=!!(n.prepend||e.prependIcon),Q=!!(n.append||e.appendIcon);return r("div",{class:U(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},l.value,y.value,h.value,d.value,e.class]),style:H([m.value,e.style])},[P&&r("div",{key:"prepend",class:"v-input__prepend"},[(D=n.prepend)==null?void 0:D.call(n,z.value),e.prependIcon&&b(V,{key:"prepend-icon",name:"prepend",color:E.value},null)]),n.default&&r("div",{class:"v-input__control"},[(F=n.default)==null?void 0:F.call(n,z.value)]),Q&&r("div",{key:"append",class:"v-input__append"},[e.appendIcon&&b(V,{key:"append-icon",name:"append",color:E.value},null),(R=n.append)==null?void 0:R.call(n,z.value)]),M.value&&r("div",{id:p.value,class:"v-input__details",role:"alert","aria-live":"polite"},[b(Ca,{active:S.value,messages:I.value},{message:n.message}),($=n.details)==null?void 0:$.call(n,z.value)])])}),{reset:_,resetValidation:i,validate:f,isValid:L,errorMessages:c}}});function _a(e){function t(u,n){var a,l;!e.autofocus||!u||(l=(a=n[0].target)==null?void 0:a.focus)==null||l.call(a)}return{onIntersect:t}}const Pa=["color","file","time","date","datetime-local","week","month"],Ba=T({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...De(),...Fe()},"VTextField"),Da=J()({name:"VTextField",directives:{vIntersect:fe},inheritAttrs:!1,props:Ba(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:a}=t;const l=se(e,"modelValue"),{isFocused:m,focus:y,blur:h}=we(e),{onIntersect:V}=_a(e),o=g(()=>typeof e.counterValue=="function"?e.counterValue(l.value):typeof e.counterValue=="number"?e.counterValue:(l.value??"").toString().length),s=g(()=>{if(u.maxlength)return u.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),c=g(()=>["plain","underlined"].includes(e.variant)),v=N(),C=N(),B=N(),x=g(()=>Pa.includes(e.type)||e.persistentPlaceholder||m.value||e.active);function L(){m.value||y(),ie(()=>{var d;B.value!==document.activeElement&&((d=B.value)==null||d.focus())})}function k(d){n("mousedown:control",d),d.target!==B.value&&(L(),d.preventDefault())}function _(d){n("click:control",d)}function i(d,I){d.stopPropagation(),L(),ie(()=>{l.value=null,I(),Ve(e["onClick:clear"],d)})}function f(d){var S;const I=d.target;if(l.value=I.value,(S=e.modelModifiers)!=null&&S.trim&&["text","search","password","tel","url"].includes(e.type)){const M=[I.selectionStart,I.selectionEnd];ie(()=>{I.selectionStart=M[0],I.selectionEnd=M[1]})}}return X(()=>{const d=!!(a.counter||e.counter!==!1&&e.counter!=null),I=!!(d||a.details),[S,M]=oa(u),{modelValue:p,...z}=me.filterProps(e),Y=ge.filterProps(e);return b(me,ee({ref:v,modelValue:l.value,"onUpdate:modelValue":E=>l.value=E,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":c.value},e.class],style:e.style},S,z,{centerAffix:!c.value,focused:m.value}),{...a,default:E=>{let{id:P,isDisabled:Q,isDirty:D,isReadonly:F,isValid:R,hasDetails:$,reset:A}=E;return b(ge,ee({ref:C,onMousedown:k,onClick:_,"onClick:clear":O=>i(O,A),"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"],role:e.role},ra(Y,["onClick:clear"]),{id:P.value,active:x.value||D.value,dirty:D.value||e.dirty,disabled:Q.value,focused:m.value,details:$.value,error:R.value===!1}),{...a,default:O=>{let{props:{class:j,...K}}=O;const W=oe(r("input",ee({ref:B,value:l.value,onInput:f,autofocus:e.autofocus,readonly:F.value,disabled:Q.value,name:e.name,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:y,onBlur:h},K,M),null),[[fe,{handler:V},null,{once:!0}]]);return r(ne,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),a.default?r("div",{class:U(j),"data-no-activator":""},[a.default(),W]):da(W,{class:j}),e.suffix&&r("span",{class:"v-text-field__suffix"},[r("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:I?E=>{var P;return r(ne,null,[(P=a.details)==null?void 0:P.call(a,E),d&&r(ne,null,[r("span",null,null),b(fa,{active:e.persistentCounter||m.value,value:o.value,max:s.value,disabled:e.disabled},a.counter)])])}:void 0})}),ca({},v,C,B)}});export{Da as V,me as a,ge as b,fa as c,Fe as d,ma as e,Ma as f,Fa as g,Va as h,Ba as i,_a as j,De as m,we as u}; diff --git a/assets/VTextField-DDMIr0_j.js b/assets/VTextField-DDMIr0_j.js new file mode 100644 index 0000000..bc975cc --- /dev/null +++ b/assets/VTextField-DDMIr0_j.js @@ -0,0 +1 @@ +import{g as Y,p as T,ao as w,c as G,d as b,K as oe,ad as ye,i as r,n as H,e as U,ac as be,ae as he,h as Z,L as Ce,af as re,aR as q,a7 as Le,E as ee,v as Te,au as Ve,cn as xe,aj as se,aY as ke,c0 as ze,a6 as Ne,b3 as Ie,aG as de,al as g,an as z,a5 as Oe,a8 as Se,aq as J,co as Ue,ax as je,ay as Ke,aC as We,c1 as qe,aQ as He,cl as Ye,F as ne,ag as Ge,c2 as Qe,ai as ae,ak as te,ap as ue,bA as Xe,bv as _e,cp as Je,bN as Ze,c3 as pe,cq as ea,bi as aa,aL as la,bk as ve,at as ie,az as na,u as ta,bC as ia,aD as sa,f as ua,aV as fe,ar as oa,av as ra,cr as da,as as ca}from"./index-B01HL2YE.js";const va=T({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...Z(),...he({transition:{component:Ce}})},"VCounter"),fa=Y()({name:"VCounter",functional:!0,props:va(),setup(e,t){let{slots:u}=t;const n=w(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return G(()=>b(be,{transition:e.transition},{default:()=>[oe(r("div",{class:U(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:H(e.style)},[u.default?u.default({counter:n.value,max:e.max,value:e.value}):n.value]),[[ye,e.active]])]})),{}}}),ga=T({text:String,onClick:q(),...Z(),...re()},"VLabel"),ma=Y()({name:"VLabel",props:ga(),setup(e,t){let{slots:u}=t;return G(()=>{var n;return r("label",{class:U(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:H(e.style),onClick:e.onClick},[e.text,(n=u.default)==null?void 0:n.call(u)])}),{}}}),ya=T({floating:Boolean,...Z()},"VFieldLabel"),le=Y()({name:"VFieldLabel",props:ya(),setup(e,t){let{slots:u}=t;return G(()=>b(ma,{class:U(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:H(e.style)},u)),{}}});function Be(e){const{t}=Le();function u(n){let{name:a,color:l,...m}=n;const y={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[a],h=e[`onClick:${a}`];function V(s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),s.stopPropagation(),Ve(h,new PointerEvent("click",s)))}const o=h&&y?t(`$vuetify.input.${y}`,e.label??""):void 0;return b(Te,ee({icon:e[`${a}Icon`],"aria-label":o,onClick:h,onKeydown:V,color:l},m),null)}return{InputIcon:u}}const Pe=T({focused:Boolean,"onUpdate:focused":q()},"focus");function we(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe();const u=se(e,"focused"),n=w(()=>({[`${t}--focused`]:u.value}));function a(){u.value=!0}function l(){u.value=!1}return{focusClasses:n,isFocused:u,focus:a,blur:l}}const ba=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Fe=T({appendInnerIcon:ae,bgColor:String,clearable:Boolean,clearIcon:{type:ae,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,details:Boolean,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ae,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>ba.includes(e)},"onClick:clear":q(),"onClick:appendInner":q(),"onClick:prependInner":q(),...Z(),...Qe(),...Ge(),...re()},"VField"),ge=Y()({name:"VField",inheritAttrs:!1,props:{id:String,...Pe(),...Fe()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:a}=t;const{themeClasses:l}=ke(e),{loaderClasses:m}=ze(e),{focusClasses:y,isFocused:h,focus:V,blur:o}=we(e),{InputIcon:s}=Be(e),{roundedClasses:c}=Ne(e),{rtlClasses:v}=Ie(),C=w(()=>e.dirty||e.active),P=w(()=>!!(e.label||a.label)),x=w(()=>!e.singleLine&&P.value),L=de(),k=g(()=>e.id||`input-${L}`),_=w(()=>e.details?`${k.value}-messages`:void 0),i=z(),f=z(),d=z(),I=g(()=>["plain","underlined"].includes(e.variant)),S=g(()=>e.error||e.disabled?void 0:C.value&&h.value?e.color:e.baseColor),M=g(()=>{if(!(!e.iconColor||e.glow&&!h.value))return e.iconColor===!0?S.value:e.iconColor}),{backgroundColorClasses:p,backgroundColorStyles:N}=Oe(()=>e.bgColor),{textColorClasses:Q,textColorStyles:E}=Se(S);J(C,D=>{if(x.value){const F=i.value.$el,R=f.value.$el;requestAnimationFrame(()=>{const A=Ue(F),$=R.getBoundingClientRect(),O=$.x-A.x,j=$.y-A.y-(A.height/2-$.height/2),K=$.width/.75,W=Math.abs(K-A.width)>1?{maxWidth:We(K)}:void 0,Re=getComputedStyle(F),ce=getComputedStyle(R),Ae=parseFloat(Re.transitionDuration)*1e3||150,$e=parseFloat(ce.getPropertyValue("--v-field-label-scale")),Ee=ce.getPropertyValue("color");F.style.visibility="visible",R.style.visibility="hidden",je(F,{transform:`translate(${O}px, ${j}px) scale(${$e})`,color:Ee,...W},{duration:Ae,easing:Ke,direction:D?"normal":"reverse"}).finished.then(()=>{F.style.removeProperty("visibility"),R.style.removeProperty("visibility")})})}},{flush:"post"});const B=g(()=>({isActive:C,isFocused:h,controlRef:d,blur:o,focus:V}));function X(D){D.target!==document.activeElement&&D.preventDefault()}return G(()=>{var O,j,K;const D=e.variant==="outlined",F=!!(a["prepend-inner"]||e.prependInnerIcon),R=!!(e.clearable||a.clear)&&!e.disabled,A=!!(a["append-inner"]||e.appendInnerIcon||R),$=()=>a.label?a.label({...B.value,label:e.label,props:{for:k.value}}):e.label;return r("div",ee({class:["v-field",{"v-field--active":C.value,"v-field--appended":A,"v-field--center-affix":e.centerAffix??!I.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":F,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!$(),[`v-field--variant-${e.variant}`]:!0},l.value,p.value,y.value,m.value,c.value,v.value,e.class],style:[N.value,e.style],onClick:X},u),[r("div",{class:"v-field__overlay"},null),b(qe,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:a.loader}),F&&r("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&b(s,{key:"prepend-icon",name:"prependInner",color:M.value},null),(O=a["prepend-inner"])==null?void 0:O.call(a,B.value)]),r("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&x.value&&b(le,{key:"floating-label",ref:f,class:U([Q.value]),floating:!0,for:k.value,"aria-hidden":!C.value,style:H(E.value)},{default:()=>[$()]}),P.value&&b(le,{key:"label",ref:i,for:k.value},{default:()=>[$()]}),((j=a.default)==null?void 0:j.call(a,{...B.value,props:{id:k.value,class:"v-field__input","aria-describedby":_.value},focus:V,blur:o}))??r("div",{id:k.value,class:"v-field__input","aria-describedby":_.value},null)]),R&&b(Ye,{key:"clear"},{default:()=>[oe(r("div",{class:"v-field__clearable",onMousedown:W=>{W.preventDefault(),W.stopPropagation()}},[b(He,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[a.clear?a.clear({...B.value,props:{onFocus:V,onBlur:o,onClick:e["onClick:clear"],tabindex:-1}}):b(s,{name:"clear",onFocus:V,onBlur:o,tabindex:-1},null)]})]),[[ye,e.dirty]])]}),A&&r("div",{key:"append",class:"v-field__append-inner"},[(K=a["append-inner"])==null?void 0:K.call(a,B.value),e.appendInnerIcon&&b(s,{key:"append-icon",name:"appendInner",color:M.value},null)]),r("div",{class:U(["v-field__outline",Q.value]),style:H(E.value)},[D&&r(ne,null,[r("div",{class:"v-field__outline__start"},null),x.value&&r("div",{class:"v-field__outline__notch"},[b(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!C.value},{default:()=>[$()]})]),r("div",{class:"v-field__outline__end"},null)]),I.value&&x.value&&b(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!C.value},{default:()=>[$()]})])])}),{controlRef:d,fieldIconColor:M}}}),ha=T({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...Z(),...he({transition:{component:Ce,leaveAbsolute:!0,group:!0}})},"VMessages"),Ca=Y()({name:"VMessages",props:ha(),setup(e,t){let{slots:u}=t;const n=g(()=>te(e.messages)),{textColorClasses:a,textColorStyles:l}=Se(()=>e.color);return G(()=>b(be,{transition:e.transition,tag:"div",class:U(["v-messages",a.value,e.class]),style:H([l.value,e.style])},{default:()=>[e.active&&n.value.map((m,y)=>r("div",{class:"v-messages__message",key:`${y}-${n.value}`},[u.message?u.message({message:m}):m]))]})),{}}}),Me=Symbol.for("vuetify:form"),Fa=T({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Ma(e){const t=se(e,"modelValue"),u=w(()=>e.disabled),n=w(()=>e.readonly),a=ue(!1),l=z([]),m=z([]);async function y(){const o=[];let s=!0;m.value=[],a.value=!0;for(const c of l.value){const v=await c.validate();if(v.length>0&&(s=!1,o.push({id:c.id,errorMessages:v})),!s&&e.fastFail)break}return m.value=o,a.value=!1,{valid:s,errors:m.value}}function h(){l.value.forEach(o=>o.reset())}function V(){l.value.forEach(o=>o.resetValidation())}return J(l,()=>{let o=0,s=0;const c=[];for(const v of l.value)v.isValid===!1?(s++,c.push({id:v.id,errorMessages:v.errorMessages})):v.isValid===!0&&o++;m.value=c,t.value=s>0?!1:o===l.value.length?!0:null},{deep:!0,flush:"post"}),Xe(Me,{register:o=>{let{id:s,vm:c,validate:v,reset:C,resetValidation:P}=o;l.value.some(x=>x.id===s),l.value.push({id:s,validate:v,reset:C,resetValidation:P,vm:Je(c),isValid:null,errorMessages:[]})},unregister:o=>{l.value=l.value.filter(s=>s.id!==o)},update:(o,s,c)=>{const v=l.value.find(C=>C.id===o);v&&(v.isValid=s,v.errorMessages=c)},isDisabled:u,isReadonly:n,isValidating:a,isValid:t,items:l,validateOn:w(()=>e.validateOn)}),{errors:m,isDisabled:u,isReadonly:n,isValidating:a,isValid:t,items:l,validate:y,reset:h,resetValidation:V}}function Va(e){const t=_e(Me,null);return{...t,isReadonly:g(()=>!!((e==null?void 0:e.readonly)??(t==null?void 0:t.isReadonly.value))),isDisabled:g(()=>!!((e==null?void 0:e.disabled)??(t==null?void 0:t.isDisabled.value)))}}const xa=Symbol.for("vuetify:rules");function ka(e){const t=_e(xa,null);if(!e){if(!t)throw new Error("Could not find Vuetify rules injection");return t.aliases}return(t==null?void 0:t.resolve(e))??w(e)}const Ia=T({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Pe()},"validation");function Sa(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:de();const n=se(e,"modelValue"),a=g(()=>e.validationValue===void 0?n.value:e.validationValue),l=Va(e),m=ka(()=>e.rules),y=z([]),h=ue(!0),V=g(()=>!!(te(n.value===""?null:n.value).length||te(a.value===""?null:a.value).length)),o=g(()=>{var i;return(i=e.errorMessages)!=null&&i.length?te(e.errorMessages).concat(y.value).slice(0,Math.max(0,Number(e.maxErrors))):y.value}),s=g(()=>{var d;let i=(e.validateOn??((d=l.validateOn)==null?void 0:d.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const f=new Set((i==null?void 0:i.split(" "))??[]);return{input:f.has("input"),blur:f.has("blur")||f.has("input")||f.has("invalid-input"),invalidInput:f.has("invalid-input"),lazy:f.has("lazy"),eager:f.has("eager")}}),c=g(()=>{var i;return e.error||(i=e.errorMessages)!=null&&i.length?!1:e.rules.length?h.value?y.value.length||s.value.lazy?null:!0:!y.value.length:!0}),v=ue(!1),C=g(()=>({[`${t}--error`]:c.value===!1,[`${t}--dirty`]:V.value,[`${t}--disabled`]:l.isDisabled.value,[`${t}--readonly`]:l.isReadonly.value})),P=Ze("validation"),x=g(()=>e.name??pe(u));ea(()=>{var i;(i=l.register)==null||i.call(l,{id:x.value,vm:P,validate:_,reset:L,resetValidation:k})}),aa(()=>{var i;(i=l.unregister)==null||i.call(l,x.value)}),la(async()=>{var i;s.value.lazy||await _(!s.value.eager),(i=l.update)==null||i.call(l,x.value,c.value,o.value)}),ve(()=>s.value.input||s.value.invalidInput&&c.value===!1,()=>{J(a,()=>{if(a.value!=null)_();else if(e.focused){const i=J(()=>e.focused,f=>{f||_(),i()})}})}),ve(()=>s.value.blur,()=>{J(()=>e.focused,i=>{i||_()})}),J([c,o],()=>{var i;(i=l.update)==null||i.call(l,x.value,c.value,o.value)});async function L(){n.value=null,await ie(),await k()}async function k(){h.value=!0,s.value.lazy?y.value=[]:await _(!s.value.eager)}async function _(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const f=[];v.value=!0;for(const d of m.value){if(f.length>=Number(e.maxErrors??1))break;const S=await(typeof d=="function"?d:()=>d)(a.value);if(S!==!0){if(S!==!1&&typeof S!="string"){console.warn(`${S} is not a valid value. Rule functions must return boolean true or a string.`);continue}f.push(S||"")}}return y.value=f,v.value=!1,h.value=i,y.value}return{errorMessages:o,isDirty:V,isDisabled:l.isDisabled,isReadonly:l.isReadonly,isPristine:h,isValid:c,isValidating:v,reset:L,resetValidation:k,validate:_,validationClasses:C}}const De=T({id:String,appendIcon:ae,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:ae,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":q(),"onClick:append":q(),...Z(),...sa(),...ia(ua(),["maxWidth","minWidth","width"]),...re(),...Ia()},"VInput"),me=Y()({name:"VInput",props:{...De()},emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:u,slots:n,emit:a}=t;const{densityClasses:l}=na(e),{dimensionStyles:m}=ta(e),{themeClasses:y}=ke(e),{rtlClasses:h}=Ie(),{InputIcon:V}=Be(e),o=de(),s=g(()=>e.id||`input-${o}`),{errorMessages:c,isDirty:v,isDisabled:C,isReadonly:P,isPristine:x,isValid:L,isValidating:k,reset:_,resetValidation:i,validate:f,validationClasses:d}=Sa(e,"v-input",s),I=g(()=>{var B;return(B=e.errorMessages)!=null&&B.length||!x.value&&c.value.length?c.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages}),S=w(()=>I.value.length>0),M=w(()=>!e.hideDetails||e.hideDetails==="auto"&&(S.value||!!n.details)),p=g(()=>M.value?`${s.value}-messages`:void 0),N=g(()=>({id:s,messagesId:p,isDirty:v,isDisabled:C,isReadonly:P,isPristine:x,isValid:L,isValidating:k,hasDetails:M,reset:_,resetValidation:i,validate:f})),Q=w(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),E=w(()=>{if(e.iconColor)return e.iconColor===!0?Q.value:e.iconColor});return G(()=>{var D,F,R,A;const B=!!(n.prepend||e.prependIcon),X=!!(n.append||e.appendIcon);return r("div",{class:U(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},l.value,y.value,h.value,d.value,e.class]),style:H([m.value,e.style])},[B&&r("div",{key:"prepend",class:"v-input__prepend"},[(D=n.prepend)==null?void 0:D.call(n,N.value),e.prependIcon&&b(V,{key:"prepend-icon",name:"prepend",color:E.value},null)]),n.default&&r("div",{class:"v-input__control"},[(F=n.default)==null?void 0:F.call(n,N.value)]),X&&r("div",{key:"append",class:"v-input__append"},[e.appendIcon&&b(V,{key:"append-icon",name:"append",color:E.value},null),(R=n.append)==null?void 0:R.call(n,N.value)]),M.value&&r("div",{id:p.value,class:"v-input__details",role:"alert","aria-live":"polite"},[b(Ca,{active:S.value,messages:I.value},{message:n.message}),(A=n.details)==null?void 0:A.call(n,N.value)])])}),{reset:_,resetValidation:i,validate:f,isValid:L,errorMessages:c}}});function _a(e){function t(u,n){var a,l;!e.autofocus||!u||(l=(a=n[0].target)==null?void 0:a.focus)==null||l.call(a)}return{onIntersect:t}}const Ba=["color","file","time","date","datetime-local","week","month"],Pa=T({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...De(),...Fe()},"VTextField"),Da=Y()({name:"VTextField",directives:{vIntersect:fe},inheritAttrs:!1,props:Pa(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:a}=t;const l=se(e,"modelValue"),{isFocused:m,focus:y,blur:h}=we(e),{onIntersect:V}=_a(e),o=g(()=>typeof e.counterValue=="function"?e.counterValue(l.value):typeof e.counterValue=="number"?e.counterValue:(l.value??"").toString().length),s=g(()=>{if(u.maxlength)return u.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),c=g(()=>["plain","underlined"].includes(e.variant)),v=z(),C=z(),P=z(),x=g(()=>Ba.includes(e.type)||e.persistentPlaceholder||m.value||e.active);function L(){m.value||y(),ie(()=>{var d;P.value!==document.activeElement&&((d=P.value)==null||d.focus())})}function k(d){n("mousedown:control",d),d.target!==P.value&&(L(),d.preventDefault())}function _(d){n("click:control",d)}function i(d,I){d.stopPropagation(),L(),ie(()=>{l.value=null,I(),Ve(e["onClick:clear"],d)})}function f(d){var S;const I=d.target;if(l.value=I.value,(S=e.modelModifiers)!=null&&S.trim&&["text","search","password","tel","url"].includes(e.type)){const M=[I.selectionStart,I.selectionEnd];ie(()=>{I.selectionStart=M[0],I.selectionEnd=M[1]})}}return G(()=>{const d=!!(a.counter||e.counter!==!1&&e.counter!=null),I=!!(d||a.details),[S,M]=oa(u),{modelValue:p,...N}=me.filterProps(e),Q=ge.filterProps(e);return b(me,ee({ref:v,modelValue:l.value,"onUpdate:modelValue":E=>l.value=E,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":c.value},e.class],style:e.style},S,N,{centerAffix:!c.value,focused:m.value}),{...a,default:E=>{let{id:B,isDisabled:X,isDirty:D,isReadonly:F,isValid:R,hasDetails:A,reset:$}=E;return b(ge,ee({ref:C,onMousedown:k,onClick:_,"onClick:clear":O=>i(O,$),"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"],role:e.role},ra(Q,["onClick:clear"]),{id:B.value,active:x.value||D.value,dirty:D.value||e.dirty,disabled:X.value,focused:m.value,details:A.value,error:R.value===!1}),{...a,default:O=>{let{props:{class:j,...K}}=O;const W=oe(r("input",ee({ref:P,value:l.value,onInput:f,autofocus:e.autofocus,readonly:F.value,disabled:X.value,name:e.name,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:y,onBlur:h},K,M),null),[[fe,{handler:V},null,{once:!0}]]);return r(ne,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),a.default?r("div",{class:U(j),"data-no-activator":""},[a.default(),W]):da(W,{class:j}),e.suffix&&r("span",{class:"v-text-field__suffix"},[r("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:I?E=>{var B;return r(ne,null,[(B=a.details)==null?void 0:B.call(a,E),d&&r(ne,null,[r("span",null,null),b(fa,{active:e.persistentCounter||m.value,value:o.value,max:s.value,disabled:e.disabled},a.counter)])])}:void 0})}),ca({},v,C,P)}});export{Da as V,me as a,ge as b,fa as c,De as d,ma as e,Ma as f,Fa as g,Va as h,Pa as i,_a as j,Fe as m,we as u}; diff --git a/assets/VTextarea-BaoCeePe.js b/assets/VTextarea-BaoCeePe.js new file mode 100644 index 0000000..9a0f3c7 --- /dev/null +++ b/assets/VTextarea-BaoCeePe.js @@ -0,0 +1 @@ +import{g as ne,p as le,aV as E,aj as oe,al as y,an as x,ap as ue,aU as ie,aL as re,aq as f,bi as se,c as ce,ar as de,d as R,i as r,F as S,E as N,K as G,ch as fe,e as ve,as as me,at as B,aC as xe,bm as ge,au as he}from"./index-B01HL2YE.js";import{u as we,a as U,b as D,c as Ve,j as ye,m as Ce,d as Fe}from"./VTextField-DDMIr0_j.js";const Pe=le({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...Fe(),...Ce()},"VTextarea"),ke=ne()({name:"VTextarea",directives:{vIntersect:E},inheritAttrs:!1,props:Pe(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,j){let{attrs:C,emit:F,slots:l}=j;const a=oe(e,"modelValue"),{isFocused:v,focus:O,blur:$}=we(e),{onIntersect:q}=ye(e),K=y(()=>typeof e.counterValue=="function"?e.counterValue(a.value):(a.value||"").toString().length),L=y(()=>{if(C.maxlength)return C.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),M=x(),g=x(),z=ue(""),h=x(),p=y(()=>e.persistentPlaceholder||v.value||e.active);function P(){var t;h.value!==document.activeElement&&((t=h.value)==null||t.focus()),v.value||O()}function J(t){P(),F("click:control",t)}function Q(t){F("mousedown:control",t)}function W(t){t.stopPropagation(),P(),B(()=>{a.value="",he(e["onClick:clear"],t)})}function X(t){var u;const n=t.target;if(a.value=n.value,(u=e.modelModifiers)!=null&&u.trim){const d=[n.selectionStart,n.selectionEnd];B(()=>{n.selectionStart=d[0],n.selectionEnd=d[1]})}}const s=x(),m=x(Number(e.rows)),b=y(()=>["plain","underlined"].includes(e.variant));ie(()=>{e.autoGrow||(m.value=Number(e.rows))});function c(){e.autoGrow&&B(()=>{if(!s.value||!g.value)return;const t=getComputedStyle(s.value),n=getComputedStyle(g.value.$el),u=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),d=s.value.scrollHeight,w=parseFloat(t.lineHeight),I=Math.max(parseFloat(e.rows)*w+u,parseFloat(n.getPropertyValue("--v-input-control-height"))),k=parseFloat(e.maxRows)*w+u||1/0,i=ge(d??0,I,k);m.value=Math.floor((i-u)/w),z.value=xe(i)})}re(c),f(a,c),f(()=>e.rows,c),f(()=>e.maxRows,c),f(()=>e.density,c),f(m,t=>{F("update:rows",t)});let o;return f(s,t=>{t?(o=new ResizeObserver(c),o.observe(s.value)):o==null||o.disconnect()}),se(()=>{o==null||o.disconnect()}),ce(()=>{const t=!!(l.counter||e.counter||e.counterValue),n=!!(t||l.details),[u,d]=de(C),{modelValue:w,...I}=U.filterProps(e),k={...D.filterProps(e),"onClick:clear":W};return R(U,N({ref:M,modelValue:a.value,"onUpdate:modelValue":i=>a.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":b.value},e.class],style:e.style},u,I,{centerAffix:m.value===1&&!b.value,focused:v.value}),{...l,default:i=>{let{id:V,isDisabled:A,isDirty:H,isReadonly:Y,isValid:Z,hasDetails:ee}=i;return R(D,N({ref:g,style:{"--v-textarea-control-height":z.value},onClick:J,onMousedown:Q,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},k,{id:V.value,active:p.value||H.value,centerAffix:m.value===1&&!b.value,dirty:H.value||e.dirty,disabled:A.value,focused:v.value,details:ee.value,error:Z.value===!1}),{...l,default:te=>{let{props:{class:T,..._}}=te;return r(S,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),G(r("textarea",N({ref:h,class:T,value:a.value,onInput:X,autofocus:e.autofocus,readonly:Y.value,disabled:A.value,placeholder:e.placeholder,rows:e.rows,name:e.name,onFocus:P,onBlur:$},_,d),null),[[E,{handler:q},null,{once:!0}]]),e.autoGrow&&G(r("textarea",{class:ve([T,"v-textarea__sizer"]),id:`${_.id}-sizer`,"onUpdate:modelValue":ae=>a.value=ae,ref:s,readonly:!0,"aria-hidden":"true"},null),[[fe,a.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:n?i=>{var V;return r(S,null,[(V=l.details)==null?void 0:V.call(l,i),t&&r(S,null,[r("span",null,null),R(Ve,{active:e.persistentCounter||v.value,value:K.value,max:L.value,disabled:e.disabled},l.counter)])])}:void 0})}),me({},M,g,h)}});export{ke as V}; diff --git a/assets/VTextarea-GxradEKI.js b/assets/VTextarea-GxradEKI.js deleted file mode 100644 index 945513c..0000000 --- a/assets/VTextarea-GxradEKI.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ne,p as le,a3 as E,S as oe,K as y,W as x,X as ue,a2 as ie,b7 as re,Z as f,bh as se,c as ce,aL as de,d as R,i as r,F as S,E as N,a5 as G,ch as fe,e as ve,aM as me,aO as M,L as xe,bl as ge,aP as he}from"./index-DmGr2YjE.js";import{u as we,a as D,b as U,c as Ve,j as ye,d as Ce,m as Fe}from"./VTextField-C4kOar5O.js";const Pe=le({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...Fe(),...Ce()},"VTextarea"),ke=ne()({name:"VTextarea",directives:{vIntersect:E},inheritAttrs:!1,props:Pe(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,O){let{attrs:C,emit:F,slots:l}=O;const a=oe(e,"modelValue"),{isFocused:v,focus:j,blur:L}=we(e),{onIntersect:$}=ye(e),K=y(()=>typeof e.counterValue=="function"?e.counterValue(a.value):(a.value||"").toString().length),W=y(()=>{if(C.maxlength)return C.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),B=x(),g=x(),z=ue(""),h=x(),X=y(()=>e.persistentPlaceholder||v.value||e.active);function P(){var t;h.value!==document.activeElement&&((t=h.value)==null||t.focus()),v.value||j()}function Z(t){P(),F("click:control",t)}function q(t){F("mousedown:control",t)}function J(t){t.stopPropagation(),P(),M(()=>{a.value="",he(e["onClick:clear"],t)})}function Q(t){var u;const n=t.target;if(a.value=n.value,(u=e.modelModifiers)!=null&&u.trim){const d=[n.selectionStart,n.selectionEnd];M(()=>{n.selectionStart=d[0],n.selectionEnd=d[1]})}}const s=x(),m=x(Number(e.rows)),b=y(()=>["plain","underlined"].includes(e.variant));ie(()=>{e.autoGrow||(m.value=Number(e.rows))});function c(){e.autoGrow&&M(()=>{if(!s.value||!g.value)return;const t=getComputedStyle(s.value),n=getComputedStyle(g.value.$el),u=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),d=s.value.scrollHeight,w=parseFloat(t.lineHeight),I=Math.max(parseFloat(e.rows)*w+u,parseFloat(n.getPropertyValue("--v-input-control-height"))),k=parseFloat(e.maxRows)*w+u||1/0,i=ge(d??0,I,k);m.value=Math.floor((i-u)/w),z.value=xe(i)})}re(c),f(a,c),f(()=>e.rows,c),f(()=>e.maxRows,c),f(()=>e.density,c),f(m,t=>{F("update:rows",t)});let o;return f(s,t=>{t?(o=new ResizeObserver(c),o.observe(s.value)):o==null||o.disconnect()}),se(()=>{o==null||o.disconnect()}),ce(()=>{const t=!!(l.counter||e.counter||e.counterValue),n=!!(t||l.details),[u,d]=de(C),{modelValue:w,...I}=D.filterProps(e),k={...U.filterProps(e),"onClick:clear":J};return R(D,N({ref:B,modelValue:a.value,"onUpdate:modelValue":i=>a.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":b.value},e.class],style:e.style},u,I,{centerAffix:m.value===1&&!b.value,focused:v.value}),{...l,default:i=>{let{id:V,isDisabled:A,isDirty:H,isReadonly:Y,isValid:p,hasDetails:ee}=i;return R(U,N({ref:g,style:{"--v-textarea-control-height":z.value},onClick:Z,onMousedown:q,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},k,{id:V.value,active:X.value||H.value,centerAffix:m.value===1&&!b.value,dirty:H.value||e.dirty,disabled:A.value,focused:v.value,details:ee.value,error:p.value===!1}),{...l,default:te=>{let{props:{class:T,..._}}=te;return r(S,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),G(r("textarea",N({ref:h,class:T,value:a.value,onInput:Q,autofocus:e.autofocus,readonly:Y.value,disabled:A.value,placeholder:e.placeholder,rows:e.rows,name:e.name,onFocus:P,onBlur:L},_,d),null),[[E,{handler:$},null,{once:!0}]]),e.autoGrow&&G(r("textarea",{class:ve([T,"v-textarea__sizer"]),id:`${_.id}-sizer`,"onUpdate:modelValue":ae=>a.value=ae,ref:s,readonly:!0,"aria-hidden":"true"},null),[[fe,a.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:n?i=>{var V;return r(S,null,[(V=l.details)==null?void 0:V.call(l,i),t&&r(S,null,[r("span",null,null),R(Ve,{active:e.persistentCounter||v.value,value:K.value,max:W.value,disabled:e.disabled},l.counter)])])}:void 0})}),me({},B,g,h)}});export{ke as V}; diff --git a/assets/VTooltip-B8rVhLY6.js b/assets/VTooltip-B8rVhLY6.js new file mode 100644 index 0000000..7ed5d9c --- /dev/null +++ b/assets/VTooltip-B8rVhLY6.js @@ -0,0 +1 @@ +import{g as h,p as O,aj as x,aA as T,aG as p,ao as u,an as A,al as n,E as d,c as I,a4 as v,d as R,as as k,av as w,b5 as B}from"./index-B01HL2YE.js";const C=O({id:String,interactive:Boolean,text:String,...w(B({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","persistent"])},"VTooltip"),j=h()({name:"VTooltip",props:C(),emits:{"update:modelValue":t=>!0},setup(t,g){let{slots:e}=g;const i=x(t,"modelValue"),{scopeId:f}=T(),m=p(),r=u(()=>t.id||`v-tooltip-${m}`),l=A(),V=n(()=>t.location.split(" ").length>1?t.location:t.location+" center"),P=n(()=>t.origin==="auto"||t.origin==="overlap"||t.origin.split(" ").length>1||t.location.split(" ").length>1?t.origin:t.origin+" center"),y=u(()=>t.transition!=null?t.transition:i.value?"scale-transition":"fade-transition"),b=n(()=>d({"aria-describedby":r.value},t.activatorProps));return I(()=>{const S=v.filterProps(t);return R(v,d({ref:l,class:["v-tooltip",{"v-tooltip--interactive":t.interactive},t.class],style:t.style,id:r.value},S,{modelValue:i.value,"onUpdate:modelValue":a=>i.value=a,transition:y.value,absolute:!0,location:V.value,origin:P.value,persistent:!0,role:"tooltip",activatorProps:b.value,_disableGlobalStack:!0},f),{activator:e.activator,default:function(){var c;for(var a=arguments.length,s=new Array(a),o=0;o!0},setup(t,g){let{slots:e}=g;const i=x(t,"modelValue"),{scopeId:f}=T(),m=p(),r=u(()=>t.id||`v-tooltip-${m}`),l=I(),V=n(()=>t.location.split(" ").length>1?t.location:t.location+" center"),P=n(()=>t.origin==="auto"||t.origin==="overlap"||t.origin.split(" ").length>1||t.location.split(" ").length>1?t.origin:t.origin+" center"),y=u(()=>t.transition!=null?t.transition:i.value?"scale-transition":"fade-transition"),S=n(()=>d({"aria-describedby":r.value},t.activatorProps));return R(()=>{const b=v.filterProps(t);return k(v,d({ref:l,class:["v-tooltip",{"v-tooltip--interactive":t.interactive},t.class],style:t.style,id:r.value},b,{modelValue:i.value,"onUpdate:modelValue":a=>i.value=a,transition:y.value,absolute:!0,location:V.value,origin:P.value,persistent:!0,role:"tooltip",activatorProps:S.value,_disableGlobalStack:!0},f),{activator:e.activator,default:function(){var c;for(var a=arguments.length,s=new Array(a),o=0;oi(t.tag,{class:T(["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class]),style:U(t.style)},n)),{}}}),ee={data(){return{listId:null,list:null,items:[],originalItems:[],newItemName:"",sortSeed:"1",sortType:"default",isRandomSorted:!1,deleteDialog:{show:!1,title:"",text:"",itemId:null,action:null},isRenaming:!1,newListName:"",itemDialog:{show:!1,item:null,isEditing:!1,editedItem:null}}},computed:{sortedItems(){return this.sortType==="completed"?[...this.items].sort((t,e)=>t.completed===e.completed?0:t.completed?1:-1):this.items},hasCompletedItems(){return this.items.some(t=>t.completed)}},async created(){this.listId=this.$route.params.id,await Promise.all([this.loadListInfo(),this.loadItems()])},methods:{async loadListInfo(){try{const t=await I.loadData("classworks-list-info");t&&Array.isArray(t)&&(this.list=t.find(e=>e.id===this.listId)),this.list||this.$router.push("/list")}catch(t){console.error("Failed to load list info",t),this.$router.push("/list")}},startRenaming(){this.list&&(this.newListName=this.list.name,this.isRenaming=!0)},cancelRenaming(){this.isRenaming=!1,this.newListName=""},async saveListName(){if(this.newListName.trim())try{const t=await I.loadData("classworks-list-info");if(t&&Array.isArray(t)){const e=t.findIndex(n=>n.id===this.listId);e!==-1&&(t[e].name=this.newListName.trim(),await I.saveData("classworks-list-info",t),this.list.name=this.newListName.trim())}this.isRenaming=!1}catch(t){console.error("Failed to update list name",t)}},async loadItems(){try{let t=await I.loadData(`classworks-list-${this.listId}`);(!t||!Array.isArray(t))&&(t=[],await I.saveData(`classworks-list-${this.listId}`,t)),this.items=t.map(e=>typeof e.completed>"u"?{id:e.id||Date.now()+Math.floor(Math.random()*1e3),name:e.name,completed:!1,description:e.description||""}:{...e,description:e.description||""}),this.originalItems=JSON.parse(JSON.stringify(this.items))}catch(t){console.error("Failed to load items",t),this.items=[],this.originalItems=[]}},async addItem(){if(!this.newItemName)return;const t={id:Date.now().toString(),name:this.newItemName,completed:!1,description:""};this.items.push(t),this.originalItems.push(JSON.parse(JSON.stringify(t))),await this.saveItems(),this.newItemName=""},openItemDetails(t){this.itemDialog={show:!0,item:t,isEditing:!1,editedItem:null}},startEditingItem(){this.itemDialog.item&&(this.itemDialog.isEditing=!0,this.itemDialog.editedItem=JSON.parse(JSON.stringify(this.itemDialog.item)))},cancelEditingItem(){this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null},async saveItemChanges(){if(!this.itemDialog.editedItem)return;const t=this.items.findIndex(e=>e.id===this.itemDialog.item.id);if(t!==-1){this.items[t]={...this.itemDialog.editedItem};const e=this.originalItems.findIndex(n=>n.id===this.itemDialog.item.id);e!==-1&&(this.originalItems[e]=JSON.parse(JSON.stringify(this.items[t]))),await this.saveItems(),this.itemDialog.item=this.items[t],this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null}},confirmDeleteItem(t){var n;const e=this.items.find(g=>g.id===t);e&&(this.deleteDialog={show:!0,title:"删除确认",text:`确定要删除 "${e.name}" 吗?`,itemId:t,action:"deleteItem"},this.itemDialog.show&&((n=this.itemDialog.item)==null?void 0:n.id)===t&&(this.itemDialog.show=!1))},confirmDeleteCompleted(){const t=this.items.filter(e=>e.completed).length;this.deleteDialog={show:!0,title:"删除已完成项目",text:`确定要删除所有已完成的项目吗?(共 ${t} 项)`,action:"deleteCompleted"}},confirmDelete(){this.deleteDialog.action==="deleteItem"&&this.deleteDialog.itemId?this.deleteItem(this.deleteDialog.itemId):this.deleteDialog.action==="deleteCompleted"&&this.deleteCompletedItems(),this.deleteDialog.show=!1},async deleteItem(t){this.items=this.items.filter(e=>e.id!==t),this.originalItems=this.originalItems.filter(e=>e.id!==t),await this.saveItems()},async deleteCompletedItems(){this.items=this.items.filter(t=>!t.completed),this.originalItems=this.originalItems.filter(t=>!t.completed),await this.saveItems()},async updateItemStatus(t,e){const n=this.items.find(g=>g.id===t);if(n){n.completed=e;const g=this.originalItems.find(s=>s.id===t);g&&(g.completed=e),await this.saveItems()}},async saveItems(){try{await I.saveData(`classworks-list-${this.listId}`,this.items)}catch(t){console.error("Failed to save items",t)}},randomSort(){const t=this.items.map(e=>{const n=this.hashCode(e.id+this.sortSeed);return{...e,randomValue:this.seededRandom(n)}});t.sort((e,n)=>e.randomValue-n.randomValue),this.items=t.map(e=>{const n={...e};return delete n.randomValue,n}),this.isRandomSorted=!0,this.saveItems()},resetSort(){this.items=JSON.parse(JSON.stringify(this.originalItems)),this.isRandomSorted=!1,this.saveItems()},hashCode(t){let e=0;for(let n=0;n[i(r,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=a=>t.$router.push("/"))})]),default:l(()=>[s.list&&!s.isRenaming?(m(),p(E,{key:0,class:"text-h6"},{default:l(()=>[o(f(s.list.name),1)]),_:1})):(m(),p(E,{key:1,class:"text-h6"},{default:l(()=>[...e[14]||(e[14]=[o("列表",-1)])]),_:1}))]),_:1}),i(Q,null,{default:l(()=>[M("div",te,[i(r,{icon:"",class:"mr-2",to:"/list",border:""},{default:l(()=>[i(h,null,{default:l(()=>[...e[15]||(e[15]=[o("mdi-arrow-left",-1)])]),_:1})]),_:1}),s.list&&!s.isRenaming?(m(),u("h1",ie,[o(f(s.list.name)+" ",1),i(r,{icon:"",size:"small",onClick:d.startRenaming,border:""},{default:l(()=>[i(h,null,{default:l(()=>[...e[16]||(e[16]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"])])):s.list&&s.isRenaming?(m(),u("div",le,[i(x,{modelValue:s.newListName,"onUpdate:modelValue":e[1]||(e[1]=a=>s.newListName=a),label:"列表名称","hide-details":"",density:"compact",class:"mr-2",style:{"min-width":"200px"},autofocus:"",onKeyup:P(d.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),i(r,{color:"primary",size:"small",class:"mr-2",onClick:d.saveListName},{default:l(()=>[i(h,null,{default:l(()=>[...e[17]||(e[17]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),i(r,{color:"error",size:"small",onClick:d.cancelRenaming},{default:l(()=>[i(h,null,{default:l(()=>[...e[18]||(e[18]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])])):(m(),u("h1",se," 加载中... "))]),i(c,{class:"mb-5",border:"",rounded:"xl"},{default:l(()=>[i(D,{class:"d-flex align-center"},{default:l(()=>[e[21]||(e[21]=o(" 项目列表 ",-1)),i(y),i(K,{modelValue:s.sortType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.sortType=a),mandatory:""},{default:l(()=>[i(r,{value:"default"},{default:l(()=>[i(h,null,{default:l(()=>[...e[19]||(e[19]=[o("mdi-sort-alphabetical-ascending",-1)])]),_:1})]),_:1}),i(r,{value:"completed"},{default:l(()=>[i(h,null,{default:l(()=>[...e[20]||(e[20]=[o("mdi-check-circle-outline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.sortedItems.length===0?(m(),p(V,{key:0},{default:l(()=>[...e[22]||(e[22]=[o(" 暂无项目,请添加新项目 ",-1)])]),_:1})):(m(),p(R,{key:1,"select-strategy":"leaf"},{default:l(()=>[(m(!0),u(k,null,W(d.sortedItems,(a,w)=>(m(),p(C,{key:a.id,class:T({"text-decoration-line-through":a.completed}),onClick:L=>d.openItemDetails(a)},{prepend:l(()=>[i($,{start:""},{default:l(()=>[i(G,{"model-value":a.completed,"onUpdate:modelValue":L=>d.updateItemStatus(a.id,L),onClick:e[3]||(e[3]=j(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),append:l(()=>[o(f(w+1),1)]),default:l(()=>[o(" "+f(a.name)+" ",1),i(v,null,{default:l(()=>[o(f(a.description),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})),d.sortedItems.length>0?(m(),p(N,{key:2},{default:l(()=>[i(y),i(r,{color:"error","prepend-icon":"mdi-delete-sweep",onClick:d.confirmDeleteCompleted,disabled:!d.hasCompletedItems},{default:l(()=>[...e[23]||(e[23]=[o(" 删除已完成项目 ",-1)])]),_:1},8,["onClick","disabled"])]),_:1})):b("",!0)]),_:1}),i(c,{class:"mb-5",border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[24]||(e[24]=[o("添加新项目",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.newItemName,"onUpdate:modelValue":e[4]||(e[4]=a=>s.newItemName=a),label:"项目名称",rules:[a=>!!a||"名称不能为空"]},null,8,["modelValue","rules"]),i(r,{color:"primary",disabled:!s.newItemName,onClick:d.addItem},{default:l(()=>[...e[25]||(e[25]=[o(" 添加 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),i(c,{class:"mb-5",border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[26]||(e[26]=[o("列表排序",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.sortSeed,"onUpdate:modelValue":e[5]||(e[5]=a=>s.sortSeed=a),label:"排序种子 (任意数字或文本)",hint:"输入相同的种子值可以得到相同的排序结果","persistent-hint":"",class:"mb-3"},null,8,["modelValue"]),i(r,{color:"primary",class:"mr-2",onClick:d.randomSort},{default:l(()=>[...e[27]||(e[27]=[o(" 随机排序 ",-1)])]),_:1},8,["onClick"]),i(r,{variant:"text",onClick:d.resetSort},{default:l(()=>[...e[28]||(e[28]=[o(" 撤销 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),i(A,{modelValue:s.deleteDialog.show,"onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDialog.show=a),"max-width":"500"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[o(f(s.deleteDialog.title),1)]),_:1}),i(V,null,{default:l(()=>[o(f(s.deleteDialog.text),1)]),_:1}),i(N,null,{default:l(()=>[i(y),i(r,{color:"primary",variant:"text",onClick:e[6]||(e[6]=a=>s.deleteDialog.show=!1)},{default:l(()=>[...e[29]||(e[29]=[o(" 取消 ",-1)])]),_:1}),i(r,{color:"error",variant:"text",onClick:d.confirmDelete},{default:l(()=>[...e[30]||(e[30]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(A,{modelValue:s.itemDialog.show,"onUpdate:modelValue":e[13]||(e[13]=a=>s.itemDialog.show=a),"max-width":"600"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[s.itemDialog.isEditing?(m(),u("span",ae,"编辑项目")):(m(),u("span",oe,"项目详情"))]),_:1}),i(V,null,{default:l(()=>[!s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",ne,[i(R,null,{default:l(()=>[i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[o(f(s.itemDialog.item.name),1)]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.id),1)]),_:1})]),_:1}),i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[31]||(e[31]=[o("状态",-1)])]),_:1}),i(v,null,{default:l(()=>[i(H,{color:s.itemDialog.item.completed?"success":"warning",size:"small"},{default:l(()=>[o(f(s.itemDialog.item.completed?"已完成":"未完成"),1)]),_:1},8,["color"])]),_:1})]),_:1}),s.itemDialog.item.description?(m(),p(C,{key:0},{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[32]||(e[32]=[o("描述",-1)])]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.description),1)]),_:1})]),_:1})):b("",!0)]),_:1})])):s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",de,[i(x,{modelValue:s.itemDialog.editedItem.name,"onUpdate:modelValue":e[8]||(e[8]=a=>s.itemDialog.editedItem.name=a),label:"名称",variant:"outlined",class:"mb-3"},null,8,["modelValue"]),i(X,{modelValue:s.itemDialog.editedItem.description,"onUpdate:modelValue":e[9]||(e[9]=a=>s.itemDialog.editedItem.description=a),label:"描述",variant:"outlined",rows:"3",class:"mb-3"},null,8,["modelValue"]),i(Y,{modelValue:s.itemDialog.editedItem.completed,"onUpdate:modelValue":e[10]||(e[10]=a=>s.itemDialog.editedItem.completed=a),label:"已完成",color:"success","hide-details":""},null,8,["modelValue"])])):b("",!0)]),_:1}),i(N,null,{default:l(()=>[i(y),s.itemDialog.isEditing?(m(),u(k,{key:1},[i(r,{color:"success",variant:"text",onClick:d.saveItemChanges},{default:l(()=>[...e[36]||(e[36]=[o(" 保存 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"secondary",variant:"text",onClick:d.cancelEditingItem},{default:l(()=>[...e[37]||(e[37]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])],64)):(m(),u(k,{key:0},[i(r,{color:"primary",variant:"text",onClick:d.startEditingItem},{default:l(()=>[...e[33]||(e[33]=[o(" 编辑 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"error",variant:"text",onClick:e[11]||(e[11]=a=>{var w;return d.confirmDeleteItem((w=s.itemDialog.item)==null?void 0:w.id)})},{default:l(()=>[...e[34]||(e[34]=[o(" 删除 ",-1)])]),_:1}),i(r,{color:"secondary",variant:"text",onClick:e[12]||(e[12]=a=>s.itemDialog.show=!1)},{default:l(()=>[...e[35]||(e[35]=[o(" 关闭 ",-1)])]),_:1})],64))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const De=z(ee,[["render",me]]);export{De as default}; diff --git a/assets/_id_-DKZSKqNm.js b/assets/_id_-DKZSKqNm.js deleted file mode 100644 index 104a42f..0000000 --- a/assets/_id_-DKZSKqNm.js +++ /dev/null @@ -1 +0,0 @@ -import{g as _,p as B,c as U,d as i,n as J,e as T,m as O,h as F,_ as z,A as u,o as m,w as l,j as p,t as o,C as f,y as r,i as M,v as h,b1 as P,l as c,B as b,q as D,x as y,D as K,z as V,aq as R,F as k,G as q,ar as C,ax as v,b2 as j,av as N,H as A,aw as S,ao as I}from"./index-DmGr2YjE.js";import{V as E,a as G}from"./VAppBarTitle-caQbgffg.js";import{V as x}from"./VTextField-C4kOar5O.js";import{V as H}from"./VCheckboxBtn-vttsGEHT.js";import{V as W}from"./VChip-Cb9zLh7n.js";import{V as Q}from"./VTextarea-GxradEKI.js";import{V as X}from"./VSwitch-Cqv0EiRW.js";import{V as Y}from"./VContainer-D6AyJkGG.js";const Z=B({start:Boolean,end:Boolean,...F(),...O()},"VListItemAction"),$=_()({name:"VListItemAction",props:Z(),setup(t,e){let{slots:n}=e;return U(()=>i(t.tag,{class:T(["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class]),style:J(t.style)},n)),{}}}),ee={data(){return{listId:null,list:null,items:[],originalItems:[],newItemName:"",sortSeed:"1",sortType:"default",isRandomSorted:!1,deleteDialog:{show:!1,title:"",text:"",itemId:null,action:null},isRenaming:!1,newListName:"",itemDialog:{show:!1,item:null,isEditing:!1,editedItem:null}}},computed:{sortedItems(){return this.sortType==="completed"?[...this.items].sort((t,e)=>t.completed===e.completed?0:t.completed?1:-1):this.items},hasCompletedItems(){return this.items.some(t=>t.completed)}},async created(){this.listId=this.$route.params.id,await Promise.all([this.loadListInfo(),this.loadItems()])},methods:{async loadListInfo(){try{const t=await I.loadData("classworks-list-info");t&&Array.isArray(t)&&(this.list=t.find(e=>e.id===this.listId)),this.list||this.$router.push("/list")}catch(t){console.error("Failed to load list info",t),this.$router.push("/list")}},startRenaming(){this.list&&(this.newListName=this.list.name,this.isRenaming=!0)},cancelRenaming(){this.isRenaming=!1,this.newListName=""},async saveListName(){if(this.newListName.trim())try{const t=await I.loadData("classworks-list-info");if(t&&Array.isArray(t)){const e=t.findIndex(n=>n.id===this.listId);e!==-1&&(t[e].name=this.newListName.trim(),await I.saveData("classworks-list-info",t),this.list.name=this.newListName.trim())}this.isRenaming=!1}catch(t){console.error("Failed to update list name",t)}},async loadItems(){try{let t=await I.loadData(`classworks-list-${this.listId}`);(!t||!Array.isArray(t))&&(t=[],await I.saveData(`classworks-list-${this.listId}`,t)),this.items=t.map(e=>typeof e.completed>"u"?{id:e.id||Date.now()+Math.floor(Math.random()*1e3),name:e.name,completed:!1,description:e.description||""}:{...e,description:e.description||""}),this.originalItems=JSON.parse(JSON.stringify(this.items))}catch(t){console.error("Failed to load items",t),this.items=[],this.originalItems=[]}},async addItem(){if(!this.newItemName)return;const t={id:Date.now().toString(),name:this.newItemName,completed:!1,description:""};this.items.push(t),this.originalItems.push(JSON.parse(JSON.stringify(t))),await this.saveItems(),this.newItemName=""},openItemDetails(t){this.itemDialog={show:!0,item:t,isEditing:!1,editedItem:null}},startEditingItem(){this.itemDialog.item&&(this.itemDialog.isEditing=!0,this.itemDialog.editedItem=JSON.parse(JSON.stringify(this.itemDialog.item)))},cancelEditingItem(){this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null},async saveItemChanges(){if(!this.itemDialog.editedItem)return;const t=this.items.findIndex(e=>e.id===this.itemDialog.item.id);if(t!==-1){this.items[t]={...this.itemDialog.editedItem};const e=this.originalItems.findIndex(n=>n.id===this.itemDialog.item.id);e!==-1&&(this.originalItems[e]=JSON.parse(JSON.stringify(this.items[t]))),await this.saveItems(),this.itemDialog.item=this.items[t],this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null}},confirmDeleteItem(t){var n;const e=this.items.find(g=>g.id===t);e&&(this.deleteDialog={show:!0,title:"删除确认",text:`确定要删除 "${e.name}" 吗?`,itemId:t,action:"deleteItem"},this.itemDialog.show&&((n=this.itemDialog.item)==null?void 0:n.id)===t&&(this.itemDialog.show=!1))},confirmDeleteCompleted(){const t=this.items.filter(e=>e.completed).length;this.deleteDialog={show:!0,title:"删除已完成项目",text:`确定要删除所有已完成的项目吗?(共 ${t} 项)`,action:"deleteCompleted"}},confirmDelete(){this.deleteDialog.action==="deleteItem"&&this.deleteDialog.itemId?this.deleteItem(this.deleteDialog.itemId):this.deleteDialog.action==="deleteCompleted"&&this.deleteCompletedItems(),this.deleteDialog.show=!1},async deleteItem(t){this.items=this.items.filter(e=>e.id!==t),this.originalItems=this.originalItems.filter(e=>e.id!==t),await this.saveItems()},async deleteCompletedItems(){this.items=this.items.filter(t=>!t.completed),this.originalItems=this.originalItems.filter(t=>!t.completed),await this.saveItems()},async updateItemStatus(t,e){const n=this.items.find(g=>g.id===t);if(n){n.completed=e;const g=this.originalItems.find(s=>s.id===t);g&&(g.completed=e),await this.saveItems()}},async saveItems(){try{await I.saveData(`classworks-list-${this.listId}`,this.items)}catch(t){console.error("Failed to save items",t)}},randomSort(){const t=this.items.map(e=>{const n=this.hashCode(e.id+this.sortSeed);return{...e,randomValue:this.seededRandom(n)}});t.sort((e,n)=>e.randomValue-n.randomValue),this.items=t.map(e=>{const n={...e};return delete n.randomValue,n}),this.isRandomSorted=!0,this.saveItems()},resetSort(){this.items=JSON.parse(JSON.stringify(this.originalItems)),this.isRandomSorted=!1,this.saveItems()},hashCode(t){let e=0;for(let n=0;n[i(r,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=a=>t.$router.push("/"))})]),default:l(()=>[s.list&&!s.isRenaming?(m(),p(E,{key:0,class:"text-h6"},{default:l(()=>[o(f(s.list.name),1)]),_:1})):(m(),p(E,{key:1,class:"text-h6"},{default:l(()=>[...e[14]||(e[14]=[o("列表",-1)])]),_:1}))]),_:1}),i(Y,null,{default:l(()=>[M("div",te,[i(r,{icon:"",class:"mr-2",to:"/list",border:""},{default:l(()=>[i(h,null,{default:l(()=>[...e[15]||(e[15]=[o("mdi-arrow-left",-1)])]),_:1})]),_:1}),s.list&&!s.isRenaming?(m(),u("h1",ie,[o(f(s.list.name)+" ",1),i(r,{icon:"",size:"small",onClick:d.startRenaming,border:""},{default:l(()=>[i(h,null,{default:l(()=>[...e[16]||(e[16]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"])])):s.list&&s.isRenaming?(m(),u("div",le,[i(x,{modelValue:s.newListName,"onUpdate:modelValue":e[1]||(e[1]=a=>s.newListName=a),label:"列表名称","hide-details":"",density:"compact",class:"mr-2",style:{"min-width":"200px"},autofocus:"",onKeyup:P(d.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),i(r,{color:"primary",size:"small",class:"mr-2",onClick:d.saveListName},{default:l(()=>[i(h,null,{default:l(()=>[...e[17]||(e[17]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),i(r,{color:"error",size:"small",onClick:d.cancelRenaming},{default:l(()=>[i(h,null,{default:l(()=>[...e[18]||(e[18]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])])):(m(),u("h1",se," 加载中... "))]),i(c,{class:"mb-5",border:"",rounded:"xl"},{default:l(()=>[i(D,{class:"d-flex align-center"},{default:l(()=>[e[21]||(e[21]=o(" 项目列表 ",-1)),i(y),i(K,{modelValue:s.sortType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.sortType=a),mandatory:""},{default:l(()=>[i(r,{value:"default"},{default:l(()=>[i(h,null,{default:l(()=>[...e[19]||(e[19]=[o("mdi-sort-alphabetical-ascending",-1)])]),_:1})]),_:1}),i(r,{value:"completed"},{default:l(()=>[i(h,null,{default:l(()=>[...e[20]||(e[20]=[o("mdi-check-circle-outline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.sortedItems.length===0?(m(),p(V,{key:0},{default:l(()=>[...e[22]||(e[22]=[o(" 暂无项目,请添加新项目 ",-1)])]),_:1})):(m(),p(R,{key:1,"select-strategy":"leaf"},{default:l(()=>[(m(!0),u(k,null,q(d.sortedItems,(a,w)=>(m(),p(C,{key:a.id,class:T({"text-decoration-line-through":a.completed}),onClick:L=>d.openItemDetails(a)},{prepend:l(()=>[i($,{start:""},{default:l(()=>[i(H,{"model-value":a.completed,"onUpdate:modelValue":L=>d.updateItemStatus(a.id,L),onClick:e[3]||(e[3]=j(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),append:l(()=>[o(f(w+1),1)]),default:l(()=>[o(" "+f(a.name)+" ",1),i(v,null,{default:l(()=>[o(f(a.description),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})),d.sortedItems.length>0?(m(),p(N,{key:2},{default:l(()=>[i(y),i(r,{color:"error","prepend-icon":"mdi-delete-sweep",onClick:d.confirmDeleteCompleted,disabled:!d.hasCompletedItems},{default:l(()=>[...e[23]||(e[23]=[o(" 删除已完成项目 ",-1)])]),_:1},8,["onClick","disabled"])]),_:1})):b("",!0)]),_:1}),i(c,{class:"mb-5",border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[24]||(e[24]=[o("添加新项目",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.newItemName,"onUpdate:modelValue":e[4]||(e[4]=a=>s.newItemName=a),label:"项目名称",rules:[a=>!!a||"名称不能为空"]},null,8,["modelValue","rules"]),i(r,{color:"primary",disabled:!s.newItemName,onClick:d.addItem},{default:l(()=>[...e[25]||(e[25]=[o(" 添加 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),i(c,{class:"mb-5",border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[26]||(e[26]=[o("列表排序",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.sortSeed,"onUpdate:modelValue":e[5]||(e[5]=a=>s.sortSeed=a),label:"排序种子 (任意数字或文本)",hint:"输入相同的种子值可以得到相同的排序结果","persistent-hint":"",class:"mb-3"},null,8,["modelValue"]),i(r,{color:"primary",class:"mr-2",onClick:d.randomSort},{default:l(()=>[...e[27]||(e[27]=[o(" 随机排序 ",-1)])]),_:1},8,["onClick"]),i(r,{variant:"text",onClick:d.resetSort},{default:l(()=>[...e[28]||(e[28]=[o(" 撤销 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),i(A,{modelValue:s.deleteDialog.show,"onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDialog.show=a),"max-width":"500"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[o(f(s.deleteDialog.title),1)]),_:1}),i(V,null,{default:l(()=>[o(f(s.deleteDialog.text),1)]),_:1}),i(N,null,{default:l(()=>[i(y),i(r,{color:"primary",variant:"text",onClick:e[6]||(e[6]=a=>s.deleteDialog.show=!1)},{default:l(()=>[...e[29]||(e[29]=[o(" 取消 ",-1)])]),_:1}),i(r,{color:"error",variant:"text",onClick:d.confirmDelete},{default:l(()=>[...e[30]||(e[30]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(A,{modelValue:s.itemDialog.show,"onUpdate:modelValue":e[13]||(e[13]=a=>s.itemDialog.show=a),"max-width":"600"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[s.itemDialog.isEditing?(m(),u("span",ae,"编辑项目")):(m(),u("span",oe,"项目详情"))]),_:1}),i(V,null,{default:l(()=>[!s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",ne,[i(R,null,{default:l(()=>[i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[o(f(s.itemDialog.item.name),1)]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.id),1)]),_:1})]),_:1}),i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[31]||(e[31]=[o("状态",-1)])]),_:1}),i(v,null,{default:l(()=>[i(W,{color:s.itemDialog.item.completed?"success":"warning",size:"small"},{default:l(()=>[o(f(s.itemDialog.item.completed?"已完成":"未完成"),1)]),_:1},8,["color"])]),_:1})]),_:1}),s.itemDialog.item.description?(m(),p(C,{key:0},{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[32]||(e[32]=[o("描述",-1)])]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.description),1)]),_:1})]),_:1})):b("",!0)]),_:1})])):s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",de,[i(x,{modelValue:s.itemDialog.editedItem.name,"onUpdate:modelValue":e[8]||(e[8]=a=>s.itemDialog.editedItem.name=a),label:"名称",variant:"outlined",class:"mb-3"},null,8,["modelValue"]),i(Q,{modelValue:s.itemDialog.editedItem.description,"onUpdate:modelValue":e[9]||(e[9]=a=>s.itemDialog.editedItem.description=a),label:"描述",variant:"outlined",rows:"3",class:"mb-3"},null,8,["modelValue"]),i(X,{modelValue:s.itemDialog.editedItem.completed,"onUpdate:modelValue":e[10]||(e[10]=a=>s.itemDialog.editedItem.completed=a),label:"已完成",color:"success","hide-details":""},null,8,["modelValue"])])):b("",!0)]),_:1}),i(N,null,{default:l(()=>[i(y),s.itemDialog.isEditing?(m(),u(k,{key:1},[i(r,{color:"success",variant:"text",onClick:d.saveItemChanges},{default:l(()=>[...e[36]||(e[36]=[o(" 保存 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"secondary",variant:"text",onClick:d.cancelEditingItem},{default:l(()=>[...e[37]||(e[37]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])],64)):(m(),u(k,{key:0},[i(r,{color:"primary",variant:"text",onClick:d.startEditingItem},{default:l(()=>[...e[33]||(e[33]=[o(" 编辑 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"error",variant:"text",onClick:e[11]||(e[11]=a=>{var w;return d.confirmDeleteItem((w=s.itemDialog.item)==null?void 0:w.id)})},{default:l(()=>[...e[34]||(e[34]=[o(" 删除 ",-1)])]),_:1}),i(r,{color:"secondary",variant:"text",onClick:e[12]||(e[12]=a=>s.itemDialog.show=!1)},{default:l(()=>[...e[35]||(e[35]=[o(" 关闭 ",-1)])]),_:1})],64))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const De=z(ee,[["render",me]]);export{De as default}; diff --git a/assets/cses2wakeup-4B-2OEXD.css b/assets/cses2wakeup-4B-2OEXD.css new file mode 100644 index 0000000..3d51e2d --- /dev/null +++ b/assets/cses2wakeup-4B-2OEXD.css @@ -0,0 +1 @@ +.v-chip--selected[data-v-d6c2f846]{font-weight:700}.v-chip .v-badge[data-v-d6c2f846]{margin-left:4px}.time-chip[data-v-d6c2f846]{font-size:.75rem}.course-cell[data-v-d6c2f846]{padding:4px;font-size:.85rem;white-space:pre-line}.course-item[data-v-d6c2f846]{padding:2px 0;border-bottom:1px dashed rgba(0,0,0,.1)}.course-item[data-v-d6c2f846]:last-child{border-bottom:none}.week-type[data-v-d6c2f846]{font-size:.7rem;background-color:#0000000d;padding:1px 3px;border-radius:2px;margin-left:2px}.filter-chip[data-v-d6c2f846]{min-width:60px;justify-content:center;transition:all .2s ease}.filter-chip.v-chip--selected[data-v-d6c2f846]{transform:scale(1.05);font-weight:700}.v-data-table[data-v-d6c2f846]{border-radius:8px;overflow:hidden}.v-card[data-v-d6c2f846]{border-radius:12px;overflow:hidden}.v-btn[data-v-d6c2f846]{transition:transform .2s ease}.v-btn[data-v-d6c2f846]:not(:disabled):hover{transform:translateY(-2px)}.v-badge{display:inline-block;line-height:1}.v-badge__badge{align-items:center;display:inline-flex;border-radius:10px;font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;height:1.25rem;justify-content:center;min-width:20px;padding:4px 6px;pointer-events:auto;position:absolute;text-align:center;text-indent:0;transition:.225s cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-badge__badge{background:rgb(var(--v-theme-surface-variant));color:rgba(var(--v-theme-on-surface-variant),var(--v-high-emphasis-opacity))}.v-badge__badge:has(.v-icon){padding:4px 6px}.v-badge--bordered .v-badge__badge:after{border-radius:inherit;border-style:solid;border-width:2px;bottom:0;color:rgb(var(--v-theme-background));content:"";left:0;position:absolute;right:0;top:0;transform:scale(1.05)}.v-badge--dot .v-badge__badge{border-radius:4.5px;height:9px;min-width:0;padding:0;width:9px}.v-badge--dot .v-badge__badge:after{border-width:1.5px}.v-badge--inline .v-badge__badge{position:relative;vertical-align:middle}.v-badge__badge .v-icon{color:inherit;font-size:.75rem;margin:0 -2px}.v-badge__badge img,.v-badge__badge .v-img{height:100%;width:100%}.v-badge__wrapper{display:flex;position:relative}.v-badge--inline .v-badge__wrapper{align-items:center;display:inline-flex;justify-content:center;margin:0 4px}.v-file-input--hide.v-input .v-field,.v-file-input--hide.v-input .v-input__control,.v-file-input--hide.v-input .v-input__details{display:none}.v-file-input--hide.v-input .v-input__prepend{grid-area:control;margin:0 auto}.v-file-input--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-file-input .v-field__input{word-break:break-word}.v-file-input input[type=file]{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:0}.v-file-input--dragging input[type=file]{z-index:1}.v-file-input .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-file-input .v-input__details{padding-inline:0}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}} diff --git a/assets/cses2wakeup-7beuD_CI.js b/assets/cses2wakeup-7beuD_CI.js deleted file mode 100644 index 0d0b303..0000000 --- a/assets/cses2wakeup-7beuD_CI.js +++ /dev/null @@ -1,7 +0,0 @@ -import{g as Z,p as K,N as Ae,ac as Qe,J as Be,aF as Ee,aG as $e,aa as et,u as tt,c as Q,aH as st,d as i,i as h,O as lt,a5 as at,aI as rt,E as B,v as j,f as it,aJ as ot,ad as nt,m as Ne,ae as dt,ag as ut,h as ct,M as mt,S as fe,W as J,aK as ft,aL as Re,aM as he,$ as Me,U as Ie,K as L,aN as ve,Y as O,X as ht,Z as yt,F as D,e as We,aO as bt,aP as pt,y as W,n as gt,aQ as vt,aR as kt,aS as Tt,aT as xt,aU as Vt,aV as wt,L as Ct,aW as Dt,aX as St,_ as Pt,j as P,o as c,w as o,l as H,q as ue,t as u,ap as jt,z as te,B as V,A as v,C as k,D as At,G as M,aY as Bt,av as Et,x as Nt}from"./index-DmGr2YjE.js";import{a as ke,V as G}from"./VRow-2V1J5F3c.js";import{V as X}from"./VAlert-BGPbp463.js";import{V as ze,a as Rt,b as Mt,c as Te,d as ce}from"./VTabsWindowItem-CevZz8wf.js";import{V as z,a as xe,m as It,b as Wt}from"./VChip-Cb9zLh7n.js";import{V as me}from"./VTooltip-CQ-iFGD1.js";import{V as zt}from"./VTextarea-GxradEKI.js";import{u as Le,a as le,m as Fe,b as Ve,c as Lt,d as Ft,V as _t}from"./VTextField-C4kOar5O.js";import{V as we}from"./VSwitch-Cqv0EiRW.js";import{V as Ut}from"./VSkeletonLoader-CuMOQJqJ.js";import{V as Ot,a as Yt}from"./VDataTable-DAMkWB1R.js";import{V as Ce,m as Ht}from"./VCheckboxBtn-vttsGEHT.js";import{V as Gt}from"./VContainer-D6AyJkGG.js";import"./VMenu-BNxvK6X3.js";const Jt=K({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:mt,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...ct(),...ut({location:"top end"}),...dt(),...Ne(),...nt(),...ot({transition:"scale-rotate-transition"}),...it()},"VBadge"),De=Z()({name:"VBadge",inheritAttrs:!1,props:Jt(),setup(t,e){const{backgroundColorClasses:n,backgroundColorStyles:a}=Ae(()=>t.color),{roundedClasses:s}=Qe(t),{t:r}=Be(),{textColorClasses:l,textColorStyles:d}=Ee(()=>t.textColor),{themeClasses:m}=$e(),{locationStyles:y}=et(t,!0,b=>(t.floating?t.dot?2:4:t.dot?8:12)+(["top","bottom"].includes(b)?Number(t.offsetY??0):["left","right"].includes(b)?Number(t.offsetX??0):0)),{dimensionStyles:T}=tt(t);return Q(()=>{const b=Number(t.content),p=!t.max||isNaN(b)?t.content:b<=Number(t.max)?b:`${t.max}+`,[g,x]=st(e.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return i(t.tag,B({class:["v-badge",{"v-badge--bordered":t.bordered,"v-badge--dot":t.dot,"v-badge--floating":t.floating,"v-badge--inline":t.inline},t.class]},x,{style:t.style}),{default:()=>{var S,E;return[h("div",{class:"v-badge__wrapper"},[(E=(S=e.slots).default)==null?void 0:E.call(S),i(lt,{transition:t.transition},{default:()=>{var C,A;return[at(h("span",B({class:["v-badge__badge",m.value,n.value,s.value,l.value],style:[a.value,d.value,T.value,t.inline?{}:y.value],"aria-atomic":"true","aria-label":r(t.label,b),"aria-live":"polite",role:"status"},g),[t.dot?void 0:e.slots.badge?(A=(C=e.slots).badge)==null?void 0:A.call(C):t.icon?i(j,{icon:t.icon},null):p]),[[rt,t.modelValue]])]}})])]}})}),{}}}),qt=K({...Fe(),...Me(Ht(),["inline"])},"VCheckbox"),Xt=Z()({name:"VCheckbox",inheritAttrs:!1,props:qt(),emits:{"update:modelValue":t=>!0,"update:focused":t=>!0},setup(t,e){let{attrs:n,slots:a}=e;const s=fe(t,"modelValue"),{isFocused:r,focus:l,blur:d}=Le(t),m=J(),y=ft();return Q(()=>{const[T,b]=Re(n),p=le.filterProps(t),g=Ce.filterProps(t);return i(le,B({ref:m,class:["v-checkbox",t.class]},T,p,{modelValue:s.value,"onUpdate:modelValue":x=>s.value=x,id:t.id||`checkbox-${y}`,focused:r.value,style:t.style}),{...a,default:x=>{let{id:S,messagesId:E,isDisabled:C,isReadonly:A,isValid:N}=x;return i(Ce,B(g,{id:S.value,"aria-describedby":E.value,disabled:C.value,readonly:A.value},b,{error:N.value===!1,modelValue:s.value,"onUpdate:modelValue":R=>s.value=R,onFocus:l,onBlur:d}),a)}})}),he({},m)}});function Zt(){function t(n){var s,r;return[...((s=n.dataTransfer)==null?void 0:s.items)??[]].filter(l=>l.kind==="file").map(l=>l.webkitGetAsEntry()).filter(Boolean).length>0||[...((r=n.dataTransfer)==null?void 0:r.files)??[]].length>0}async function e(n){var r,l;const a=[],s=[...((r=n.dataTransfer)==null?void 0:r.items)??[]].filter(d=>d.kind==="file").map(d=>d.webkitGetAsEntry()).filter(Boolean);if(s.length)for(const d of s){const m=await _e(d,Ue(".",d));a.push(...m.map(y=>y.file))}else a.push(...((l=n.dataTransfer)==null?void 0:l.files)??[]);return a}return{handleDrop:e,hasFilesOrFolders:t}}function _e(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((n,a)=>{t.isFile?t.file(r=>n([{file:r,path:e}]),a):t.isDirectory&&t.createReader().readEntries(async r=>{const l=[];for(const d of r)l.push(...await _e(d,Ue(e,d)));n(l)})})}function Ue(t,e){return e.isDirectory?`${t}/${e.name}`:t}const Kt=K({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>typeof t=="boolean"||[1e3,1024].includes(Number(t))},...Fe({prependIcon:"$file"}),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>Ie(t).every(e=>e!=null&&typeof e=="object")},...Ft({clearable:!0})},"VFileInput"),Qt=Z()({name:"VFileInput",inheritAttrs:!1,props:Kt(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,e){let{attrs:n,emit:a,slots:s}=e;const{t:r}=Be(),l=fe(t,"modelValue",t.modelValue,f=>Ie(f),f=>!t.multiple&&Array.isArray(f)?f[0]:f),{isFocused:d,focus:m,blur:y}=Le(t),T=L(()=>typeof t.showSize!="boolean"?t.showSize:void 0),b=L(()=>(l.value??[]).reduce((f,w)=>{let{size:U=0}=w;return f+U},0)),p=L(()=>ve(b.value,T.value)),g=L(()=>(l.value??[]).map(f=>{const{name:w="",size:U=0}=f;return t.showSize?`${w} (${ve(U,T.value)})`:w})),x=L(()=>{var w;const f=((w=l.value)==null?void 0:w.length)??0;return t.showSize?r(t.counterSizeString,f,p.value):r(t.counterString,f)}),S=J(),E=J(),C=J(),A=O(()=>d.value||t.active),N=L(()=>["plain","underlined"].includes(t.variant)),R=ht(!1),{handleDrop:Y,hasFilesOrFolders:$}=Zt();function I(){var f;C.value!==document.activeElement&&((f=C.value)==null||f.focus()),d.value||m()}function ae(f){var w;(w=C.value)==null||w.click()}function re(f){a("mousedown:control",f)}function F(f){var w;(w=C.value)==null||w.click(),a("click:control",f)}function ie(f){f.stopPropagation(),I(),bt(()=>{l.value=[],pt(t["onClick:clear"],f)})}function ye(f){f.preventDefault(),f.stopImmediatePropagation(),R.value=!0}function oe(f){f.preventDefault(),R.value=!1}async function ne(f){if(f.preventDefault(),f.stopImmediatePropagation(),R.value=!1,!C.value||!$(f))return;const w=new DataTransfer;for(const U of await Y(f))w.items.add(U);C.value.files=w.files,C.value.dispatchEvent(new Event("change",{bubbles:!0}))}return yt(l,f=>{(!Array.isArray(f)||!f.length)&&C.value&&(C.value.value="")}),Q(()=>{const f=!!(s.counter||t.counter),w=!!(f||s.details),[U,Oe]=Re(n),{modelValue:gs,...Ye}=le.filterProps(t),He={...Ve.filterProps(t),"onClick:clear":ie};return i(le,B({ref:S,modelValue:t.multiple?l.value:l.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--dragging":R.value,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":N.value},t.class],style:t.style,"onClick:prepend":ae},U,Ye,{centerAffix:!N.value,focused:d.value}),{...s,default:de=>{let{id:ee,isDisabled:q,isDirty:be,isReadonly:pe,isValid:Ge,hasDetails:Je}=de;return i(Ve,B({ref:E,prependIcon:t.prependIcon,onMousedown:re,onClick:F,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},He,{id:ee.value,active:A.value||be.value,dirty:be.value||t.dirty,disabled:q.value,focused:d.value,details:Je.value,error:Ge.value===!1,onDragover:ye,onDrop:ne}),{...s,default:qe=>{var ge;let{props:{class:Xe,...Ze}}=qe;return h(D,null,[h("input",B({ref:C,type:"file",readonly:pe.value,disabled:q.value,multiple:t.multiple,name:t.name,onClick:_=>{_.stopPropagation(),pe.value&&_.preventDefault(),I()},onChange:_=>{if(!_.target)return;const Ke=_.target;l.value=[...Ke.files??[]]},onDragleave:oe,onFocus:I,onBlur:y},Ze,Oe),null),h("div",{class:We(Xe)},[!!((ge=l.value)!=null&&ge.length)&&!t.hideInput&&(s.selection?s.selection({fileNames:g.value,totalBytes:b.value,totalBytesReadable:p.value}):t.chips?g.value.map(_=>i(z,{key:_,size:"small",text:_},null)):g.value.join(", "))])])}})},details:w?de=>{var ee,q;return h(D,null,[(ee=s.details)==null?void 0:ee.call(s,de),f&&h(D,null,[h("span",null,null),i(Lt,{active:!!((q=l.value)!=null&&q.length),value:x.value,disabled:t.disabled},s.counter)])])}:void 0})}),he({},S,E,C)}}),$t=K({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...Me(vt({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),se=Z()({name:"VTab",props:$t(),setup(t,e){let{slots:n,attrs:a}=e;const{textColorClasses:s,textColorStyles:r}=Ee(()=>t.sliderColor),l=J(),d=J(),m=L(()=>t.direction==="horizontal"),y=L(()=>{var b,p;return((p=(b=l.value)==null?void 0:b.group)==null?void 0:p.isSelected.value)??!1});function T(b){var g,x;let{value:p}=b;if(p){const S=(x=(g=l.value)==null?void 0:g.$el.parentElement)==null?void 0:x.querySelector(".v-tab--selected .v-tab__slider"),E=d.value;if(!S||!E)return;const C=getComputedStyle(S).color,A=S.getBoundingClientRect(),N=E.getBoundingClientRect(),R=m.value?"x":"y",Y=m.value?"X":"Y",$=m.value?"right":"bottom",I=m.value?"width":"height",ae=A[R],re=N[R],F=ae>re?A[$]-N[$]:A[R]-N[R],ie=Math.sign(F)>0?m.value?"right":"bottom":Math.sign(F)<0?m.value?"left":"top":"center",oe=(Math.abs(F)+(Math.sign(F)<0?A[I]:N[I]))/Math.max(A[I],N[I])||0,ne=A[I]/N[I]||0,f=1.5;kt(E,{backgroundColor:[C,"currentcolor"],transform:[`translate${Y}(${F}px) scale${Y}(${ne})`,`translate${Y}(${F/f}px) scale${Y}(${(oe-1)/f+1})`,"none"],transformOrigin:Array(3).fill(ie)},{duration:225,easing:Tt})}}return Q(()=>{const b=W.filterProps(t);return i(W,B({symbol:ze,ref:l,class:["v-tab",t.class],style:t.style,tabindex:y.value?0:-1,role:"tab","aria-selected":String(y.value),active:!1},b,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":T}),{...n,default:()=>{var p;return h(D,null,[((p=n.default)==null?void 0:p.call(n))??t.text,!t.hideSlider&&h("div",{ref:d,class:We(["v-tab__slider",s.value]),style:gt(r.value)},null)])}})}),he({},l)}});function es(t){return t?t.map(e=>St(e)?e:{text:e,value:e}):[]}const ts=K({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...It({mandatory:"force",selectedClass:"v-tab-item--selected"}),...Dt(),...Ne()},"VTabs"),Se=Z()({name:"VTabs",props:ts(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:n,slots:a}=e;const s=fe(t,"modelValue"),r=L(()=>es(t.items)),{densityClasses:l}=xt(t),{backgroundColorClasses:d,backgroundColorStyles:m}=Ae(()=>t.bgColor),{scopeId:y}=Vt();return wt({VTab:{color:O(()=>t.color),direction:O(()=>t.direction),stacked:O(()=>t.stacked),fixed:O(()=>t.fixedTabs),sliderColor:O(()=>t.sliderColor),hideSlider:O(()=>t.hideSlider)}}),Q(()=>{const T=xe.filterProps(t),b=!!(a.window||t.items.length>0);return h(D,null,[i(xe,B(T,{modelValue:s.value,"onUpdate:modelValue":p=>s.value=p,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--stacked":t.stacked},l.value,d.value,t.class],style:[{"--v-tabs-height":Ct(t.height)},m.value,t.style],role:"tablist",symbol:ze},y,n),{default:()=>{var p;return[((p=a.default)==null?void 0:p.call(a))??r.value.map(g=>{var x;return((x=a.tab)==null?void 0:x.call(a,{item:g}))??i(se,B(g,{key:g.text,value:g.value}),{default:a[`tab.${g.value}`]?()=>{var S;return(S=a[`tab.${g.value}`])==null?void 0:S.call(a,{item:g})}:void 0})})]}}),b&&i(Mt,B({modelValue:s.value,"onUpdate:modelValue":p=>s.value=p,key:"tabs-window"},y),{default:()=>{var p;return[r.value.map(g=>{var x;return((x=a.item)==null?void 0:x.call(a,{item:g}))??i(Rt,{value:g.value},{default:()=>{var S;return(S=a[`item.${g.value}`])==null?void 0:S.call(a,{item:g})}})}),(p=a.window)==null?void 0:p.call(a)]}})])}),{}}}),Pe=()=>new Promise((t,e)=>{if(typeof window.jsyaml<"u")return t(window.jsyaml);const n=document.createElement("script");n.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",n.async=!0,n.onload=()=>t(window.jsyaml),n.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(n)});class je{constructor(e){this.data=e,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const e=this.data.subjects||[];for(const a of e)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const n=this.data.schedules||[];for(const a of n){const s=[];for(const r of a.classes||[])s.push({subject:r.subject,start_time:r.start_time,end_time:r.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const n=this.schedules.find(a=>a.enable_day===e);return n?n.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const ss={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),n={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{n[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){if(!this.selectedDays.includes(s))continue;const r=a[s];if(r)if(Array.isArray(r))r.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:n[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!r.name)continue;t.push({originalPeriod:a.period,period:n[a.period],subject:r.name,day:this.dayNames[s],startTime:r.startTime,endTime:r.endTime,teacher:this.settings.hideTeacherName?"":r.teacher||"",room:this.settings.hideRoom?"":r.room||"",weeks:r.weekType?`1-${this.settings.totalWeeks}${r.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const r={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return r[a.day]-r[s.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const t=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&t.push(e);return t}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const t=this.file.name.toLowerCase();if(t.endsWith(".json")||t.endsWith(".js"))this.formatMode="json";else if((t.endsWith(".yml")||t.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Pe(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async n=>{try{this.jsonText=n.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},e.onerror=()=>{this.error="文件读取失败"},e.readAsText(this.file)}catch(e){this.error=`文件处理失败: ${e.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let t;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const n=this.parseYaml(this.jsonText);t=new je(n).toCsesData()}else t=JSON.parse(this.jsonText)}catch(n){throw new Error(`格式解析错误: ${n.message}`)}if(!this.validateCsesFormat(t))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(t);this.processedData=e,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",e.tableData&&e.tableData.length>0&&(this.selectedRows=[...e.tableData],this.exportPeriods=e.tableData.map(n=>n.period))}catch(t){this.error="数据处理失败:"+t.message,console.error(t)}finally{this.loading=!1}},validateCsesFormat(t){return t instanceof je?t.version===1&&Array.isArray(t.subjects)&&Array.isArray(t.schedules):!(!t||typeof t!="object"||t.version!==1||!Array.isArray(t.subjects)||!Array.isArray(t.schedules))},processCsesData(t){const{schedules:e,subjects:n}=t,a=Object.fromEntries(n.map(l=>[l.name,l])),s=[];let r=0;e.forEach(l=>{l.classes&&l.classes.length>r&&(r=l.classes.length)});for(let l=1;l<=r;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(l=>{const d=l.enable_day;if(!d||d<1||d>7)return;let m="";l.weeks==="odd"?m="单":l.weeks==="even"&&(m="双"),l.classes.forEach((y,T)=>{if(!y.subject)return;const b=T+1;if(b>r)return;const p=a[y.subject]||{},g={name:y.subject,teacher:p.teacher||"",room:p.room||"",period:b,startTime:y.start_time,endTime:y.end_time,day:d,weekType:m},x=s[b-1][d];x?m&&x.weekType&&m!==x.weekType?(Array.isArray(s[b-1][d])||(s[b-1][d]=[x]),s[b-1][d].push(g)):m===x.weekType?s[b-1][d]=g:m||(s[b-1][d]=g):s[b-1][d]=g})}),{tableData:s,originalData:t}},updateSelectedPeriods(t){this.exportPeriods=[],t&&t.length>0&&(this.exportPeriods=[...new Set(t.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let t=`课程名称,星期,开始节数,结束节数,老师,地点,周数 -`;for(const r of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(r));for(const d of l)for(const m of d.items){const y={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[m.day],T=this.settings.hideTeacherName?"":m.teacher||"",b=this.settings.hideRoom?"":m.room||"";t+=`${m.subject},${y},${m.period},${m.period},${T},${b},${m.weeks} -`}}const e="\uFEFF",n=new Blob([e+t],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(n),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const t=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` -`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): -${t} -...等${this.totalClassHours-5}节课程`:this.success=`导出预览 (共${this.totalClassHours}课时): -${t}`,this.$nextTick(()=>{this.daysWithSchedule.length>0&&!this.activeDay&&(this.activeDay=this.daysWithSchedule[0])})},isYaml(t){const e=t.trim();if(e.startsWith("{")||e.startsWith("["))try{return JSON.parse(e),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(e)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(e)},parseYaml(t){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(t);throw new Error("YAML解析器未加载")}catch(e){throw new Error(`YAML解析错误: ${e.message}`)}},getDaySchedule(t){return this.timeTableData?this.getUnfilteredTimeTableData().filter(n=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[n.day]===t):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),n={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{n[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){const r=a[s];if(r)if(Array.isArray(r))r.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:n[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!r.name)continue;t.push({originalPeriod:a.period,period:n[a.period],subject:r.name,day:this.dayNames[s],startTime:r.startTime,endTime:r.endTime,teacher:this.settings.hideTeacherName?"":r.teacher||"",room:this.settings.hideRoom?"":r.room||"",weeks:r.weekType?`1-${this.settings.totalWeeks}${r.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const r={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return r[a.day]-r[s.day]})},groupByPeriod(t){const e={};return t.forEach(n=>{e[n.period]||(e[n.period]={period:n.period,originalPeriod:n.originalPeriod,items:[],timeSlots:[]}),e[n.period].items.push(n),e[n.period].timeSlots.push({startTime:n.startTime,endTime:n.endTime})}),Object.values(e).forEach(n=>{n.uniqueTimeSlots=[],n.timeSlots.forEach(a=>{n.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||n.uniqueTimeSlots.push(a)}),n.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(e).sort((n,a)=>n.period-a.period)},formatTime(t){return t?t.substring(0,5):""},getSubjectColor(t){return this.subjectColors[t]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Pe(),this.yamlLibLoaded=!0}catch(t){this.error=t.message}this.$watch("daysWithSchedule",t=>{t.length>0&&!this.activeDay&&(this.activeDay=t[0])})}},ls={class:"d-flex align-center"},as={class:"d-flex align-center"},rs={key:2,class:"text-caption mb-2"},is={class:"d-flex align-center mb-2"},os={class:"d-flex align-center mb-3"},ns={class:"d-flex align-center mb-3"},ds={key:0,class:"course-cell"},us={key:0},cs={key:1},ms={key:2,class:"week-type"},fs={key:0},hs={key:1},ys={key:2,class:"week-type"},bs={class:"text-center font-weight-bold"};function ps(t,e,n,a,s,r){return c(),P(Gt,{class:"fill-height"},{default:o(()=>[i(ke,null,{default:o(()=>[i(G,{cols:"12"},{default:o(()=>[i(H,{class:"elevation-12",border:""},{default:o(()=>[i(ue,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:o(()=>[i(j,{color:"white",class:"mr-2"},{default:o(()=>[...e[15]||(e[15]=[u("mdi-swap-horizontal",-1)])]),_:1}),e[16]||(e[16]=u(" 课程表转换工具 ",-1))]),_:1}),i(jt,null,{default:o(()=>[...e[17]||(e[17]=[u(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ",-1)])]),_:1}),i(te,null,{default:o(()=>[s.error?(c(),P(X,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=l=>s.error="")},{default:o(()=>[h("div",ls,[i(j,{class:"mr-2"},{default:o(()=>[...e[18]||(e[18]=[u("mdi-alert-circle",-1)])]),_:1}),u(" "+k(s.error),1)])]),_:1})):V("",!0),s.success?(c(),P(X,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=l=>s.success="")},{default:o(()=>[h("div",as,[i(j,{class:"mr-2"},{default:o(()=>[...e[19]||(e[19]=[u("mdi-check-circle",-1)])]),_:1}),u(" "+k(s.success),1)])]),_:1})):V("",!0),i(Se,{modelValue:s.activeTab,"onUpdate:modelValue":e[2]||(e[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:o(()=>[i(se,{value:"text",class:"px-5"},{default:o(()=>[i(j,{start:""},{default:o(()=>[...e[20]||(e[20]=[u("mdi-text-box",-1)])]),_:1}),e[21]||(e[21]=u(" 文本粘贴",-1))]),_:1}),i(se,{value:"file",class:"px-5"},{default:o(()=>[i(j,{start:""},{default:o(()=>[...e[22]||(e[22]=[u("mdi-file-upload",-1)])]),_:1}),e[23]||(e[23]=u(" 文件上传",-1))]),_:1})]),_:1},8,["modelValue"]),i(At,{modelValue:s.formatMode,"onUpdate:modelValue":e[3]||(e[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:o(()=>[i(W,{value:"auto"},{default:o(()=>[...e[24]||(e[24]=[u("自动检测",-1)])]),_:1}),i(W,{value:"json"},{default:o(()=>[...e[25]||(e[25]=[u("JSON",-1)])]),_:1}),i(W,{value:"yaml",disabled:!s.yamlLibLoaded},{default:o(()=>[e[26]||(e[26]=u(" YAML ",-1)),i(me,{activator:"parent",location:"bottom"},{default:o(()=>[u(k(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(c(),v("div",rs," 检测到的格式: "+k(r.isYaml(s.jsonText)?"YAML":"JSON"),1)):V("",!0),i(Te,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=l=>s.activeTab=l)},{default:o(()=>[i(ce,{value:"text"},{default:o(()=>[h("div",is,[i(zt,{modelValue:s.jsonText,"onUpdate:modelValue":e[4]||(e[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:r.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),i(ce,{value:"file"},{default:o(()=>[i(Qt,{modelValue:s.file,"onUpdate:modelValue":e[5]||(e[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:r.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(c(),P(X,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:o(()=>[...e[27]||(e[27]=[u(" 将根据文件扩展名自动检测格式 ",-1)])]),_:1})):V("",!0)]),_:1})]),_:1},8,["modelValue"]),i(G,{cols:"12"},{default:o(()=>[i(H,{flat:"",class:"pa-4 rounded-lg",border:""},{default:o(()=>[h("div",os,[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[28]||(e[28]=[u("mdi-calendar-multiselect",-1)])]),_:1}),e[33]||(e[33]=h("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),i(W,{variant:"text",color:"primary",class:"ml-2",onClick:r.selectAllDays},{default:o(()=>[i(j,{start:"",size:"small"},{default:o(()=>[...e[29]||(e[29]=[u("mdi-checkbox-multiple-marked",-1)])]),_:1}),e[30]||(e[30]=u(" 全选 ",-1))]),_:1},8,["onClick"]),i(W,{variant:"text",color:"error",class:"ml-2",onClick:r.clearSelectedDays},{default:o(()=>[i(j,{start:"",size:"small"},{default:o(()=>[...e[31]||(e[31]=[u("mdi-checkbox-multiple-blank-outline",-1)])]),_:1}),e[32]||(e[32]=u(" 清除 ",-1))]),_:1},8,["onClick"])]),i(Wt,{modelValue:s.selectedDays,"onUpdate:modelValue":e[7]||(e[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:o(()=>[(c(),v(D,null,M(7,l=>i(z,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:o(()=>[u(k(s.dayNames[l])+" ",1),r.getDaySchedule(l).length>0?(c(),P(De,{key:0,content:r.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):V("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),i(G,{cols:"12"},{default:o(()=>[i(H,{flat:"",class:"pa-4 rounded-lg",border:""},{default:o(()=>[h("div",ns,[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[34]||(e[34]=[u("mdi-cog",-1)])]),_:1}),e[35]||(e[35]=h("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),i(ke,null,{default:o(()=>[i(G,{cols:"12",sm:"6"},{default:o(()=>[i(we,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":e[8]||(e[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),i(G,{cols:"12",sm:"6"},{default:o(()=>[i(we,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":e[9]||(e[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),i(G,{cols:"12",sm:"6"},{default:o(()=>[i(_t,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":e[10]||(e[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(c(),P(H,{key:3,class:"my-4",outlined:""},{default:o(()=>[i(te,null,{default:o(()=>[i(Ut,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):V("",!0),s.processedData?(c(),P(z,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:o(()=>[u(k(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):V("",!0),s.processedData&&s.exportPeriods.length===0?(c(),P(X,{key:5,type:"warning",class:"mb-4",closable:""},{default:o(()=>[...e[36]||(e[36]=[u(" 请选择要导出的节次 ",-1)])]),_:1})):V("",!0),s.processedData?(c(),P(H,{key:6,class:"my-4",elevation:"1"},{default:o(()=>[i(ue,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:o(()=>[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[37]||(e[37]=[u("mdi-table",-1)])]),_:1}),e[39]||(e[39]=h("span",{class:"font-weight-bold"},"课程表",-1)),i(z,{color:"primary",class:"ml-3",size:"small",pill:""},{default:o(()=>[i(j,{start:"",size:"x-small"},{default:o(()=>[...e[38]||(e[38]=[u("mdi-book-open-variant",-1)])]),_:1}),u(" "+k(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),i(te,{class:"pa-0"},{default:o(()=>[i(Ot,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[e[12]||(e[12]=l=>s.selectedRows=l),r.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},Bt({"item.data-table-select":o(({item:l})=>[i(Xt,{modelValue:s.exportPeriods,"onUpdate:modelValue":e[11]||(e[11]=d=>s.exportPeriods=d),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[M(7,l=>({name:`item.${l}`,fn:o(({item:d})=>[d[l]?(c(),v("div",ds,[Array.isArray(d[l])?(c(!0),v(D,{key:0},M(d[l],(m,y)=>(c(),v("div",{key:y,class:"course-item"},[u(k(m.name)+" ",1),!s.settings.hideTeacherName&&m.teacher?(c(),v("span",us,[e[40]||(e[40]=h("br",null,null,-1)),u(k(m.teacher),1)])):V("",!0),!s.settings.hideRoom&&m.room?(c(),v("span",cs,[e[41]||(e[41]=h("br",null,null,-1)),u(k(m.room),1)])):V("",!0),m.weekType?(c(),v("span",ms,k(m.weekType)+"周 ",1)):V("",!0)]))),128)):(c(),v(D,{key:1},[u(k(d[l].name)+" ",1),!s.settings.hideTeacherName&&d[l].teacher?(c(),v("span",fs,[e[42]||(e[42]=h("br",null,null,-1)),u(k(d[l].teacher),1)])):V("",!0),!s.settings.hideRoom&&d[l].room?(c(),v("span",hs,[e[43]||(e[43]=h("br",null,null,-1)),u(k(d[l].room),1)])):V("",!0),d[l].weekType?(c(),v("span",ys,k(d[l].weekType)+"周 ",1)):V("",!0)],64))])):V("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):V("",!0),r.hasExportData?(c(),P(H,{key:7,class:"my-4",elevation:"1"},{default:o(()=>[i(ue,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:o(()=>[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[44]||(e[44]=[u("mdi-timetable",-1)])]),_:1}),e[48]||(e[48]=h("span",{class:"font-weight-bold"},"每日课程时间表",-1)),i(z,{class:"ml-3",size:"small",color:"primary",pill:""},{default:o(()=>[i(j,{start:"",size:"x-small"},{default:o(()=>[...e[45]||(e[45]=[u("mdi-clock-outline",-1)])]),_:1}),u(" "+k(r.totalClassHours)+" 课时 ",1)]),_:1}),s.exportPeriods.length>0?(c(),P(me,{key:0},{activator:o(({props:l})=>[i(z,B({class:"ml-2",size:"small",color:"info"},l,{pill:""}),{default:o(()=>[i(j,{start:"",size:"x-small"},{default:o(()=>[...e[46]||(e[46]=[u("mdi-information-outline",-1)])]),_:1}),e[47]||(e[47]=u(" 节次已重排 ",-1))]),_:2},1040)]),default:o(()=>[h("span",null,"已将选中的节次 "+k(s.exportPeriods.join(", "))+" 重新排序为连续的 1-"+k(s.exportPeriods.length),1)]),_:1})):V("",!0)]),_:1}),i(te,null,{default:o(()=>[r.daysWithSchedule.length>0?(c(),P(Se,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":e[13]||(e[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:o(()=>[(c(!0),v(D,null,M(r.daysWithSchedule,l=>(c(),P(se,{key:l,value:l,class:"px-2 font-weight-medium"},{default:o(()=>[u(k(s.dayNames[l])+" ",1),i(De,{content:r.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):V("",!0),i(Te,{modelValue:s.activeDay,"onUpdate:modelValue":e[14]||(e[14]=l=>s.activeDay=l)},{default:o(()=>[(c(!0),v(D,null,M(r.daysWithSchedule,l=>(c(),P(ce,{key:l,value:l},{default:o(()=>[i(Yt,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:o(()=>[e[50]||(e[50]=h("thead",null,[h("tr",null,[h("th",{class:"text-center"},"节次"),h("th",null,"课程"),h("th",null,"时间"),h("th",null,"教师"),h("th",null,"教室"),h("th",null,"周次")])],-1)),h("tbody",null,[(c(!0),v(D,null,M(r.groupByPeriod(r.getDaySchedule(l)),(d,m)=>(c(),v("tr",{key:m},[h("td",bs,[u(k(d.period)+" ",1),d.originalPeriod!==d.period?(c(),P(me,{key:0},{activator:o(({props:y})=>[i(j,B({size:"x-small"},{ref_for:!0},y,{color:"info",class:"ml-1"}),{default:o(()=>[...e[49]||(e[49]=[u("mdi-sync",-1)])]),_:2},1040)]),default:o(()=>[u(" 原节次: "+k(d.originalPeriod),1)]),_:2},1024)):V("",!0)]),h("td",null,[(c(!0),v(D,null,M(d.items,(y,T)=>(c(),v("div",{key:T,class:"mb-1"},[i(z,{size:"small",color:r.getSubjectColor(y.subject),label:"","text-color":"white",class:"mr-1"},{default:o(()=>[u(k(y.subject),1)]),_:2},1032,["color"]),d.items.length>1?(c(),P(z,{key:0,size:"x-small",class:"ml-1",color:y.weekType==="单"?"warning":"success"},{default:o(()=>[u(k(y.weekType)+"周 ",1)]),_:2},1032,["color"])):V("",!0)]))),128))]),h("td",null,[(c(!0),v(D,null,M(d.uniqueTimeSlots,(y,T)=>(c(),v("div",{key:T,class:"mb-1"},[i(z,{size:"x-small",class:"time-chip"},{default:o(()=>[u(k(r.formatTime(y.startTime))+" - "+k(r.formatTime(y.endTime)),1)]),_:2},1024)]))),128))]),h("td",null,[s.settings.hideTeacherName?(c(),v(D,{key:1},[u("-")],64)):(c(!0),v(D,{key:0},M(d.items,(y,T)=>(c(),v("div",{key:T,class:"mb-1"},k(y.teacher||"-"),1))),128))]),h("td",null,[s.settings.hideRoom?(c(),v(D,{key:1},[u("-")],64)):(c(!0),v(D,{key:0},M(d.items,(y,T)=>(c(),v("div",{key:T,class:"mb-1"},k(y.room||"-"),1))),128))]),h("td",null,[(c(!0),v(D,null,M(d.items,(y,T)=>(c(),v("div",{key:T,class:"mb-1"},k(y.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),r.hasExportData&&r.daysWithSchedule.length===0?(c(),P(X,{key:1,type:"info",class:"mt-3"},{default:o(()=>[...e[51]||(e[51]=[u(" 没有找到任何课程数据 ",-1)])]),_:1})):V("",!0)]),_:1})]),_:1})):V("",!0)]),_:1}),i(Et,{class:""},{default:o(()=>[i(Nt),i(W,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:r.processInput,"prepend-icon":"mdi-cog-refresh"},{default:o(()=>[...e[52]||(e[52]=[u(" 处理数据 ",-1)])]),_:1},8,["loading","disabled","onClick"]),i(W,{color:"info",disabled:!r.hasExportData,onClick:r.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:o(()=>[...e[53]||(e[53]=[u(" 刷新 ",-1)])]),_:1},8,["disabled","onClick"]),i(W,{color:"success",variant:"outlined",disabled:!r.hasExportData,onClick:r.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:o(()=>[...e[54]||(e[54]=[u(" 下载CSV ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ns=Pt(ss,[["render",ps],["__scopeId","data-v-d6c2f846"]]);export{Ns as default}; diff --git a/assets/cses2wakeup-B9qGo7KP.css b/assets/cses2wakeup-B9qGo7KP.css deleted file mode 100644 index aa46717..0000000 --- a/assets/cses2wakeup-B9qGo7KP.css +++ /dev/null @@ -1 +0,0 @@ -.v-chip--selected[data-v-d6c2f846]{font-weight:700}.v-chip .v-badge[data-v-d6c2f846]{margin-left:4px}.time-chip[data-v-d6c2f846]{font-size:.75rem}.course-cell[data-v-d6c2f846]{padding:4px;font-size:.85rem;white-space:pre-line}.course-item[data-v-d6c2f846]{padding:2px 0;border-bottom:1px dashed rgba(0,0,0,.1)}.course-item[data-v-d6c2f846]:last-child{border-bottom:none}.week-type[data-v-d6c2f846]{font-size:.7rem;background-color:#0000000d;padding:1px 3px;border-radius:2px;margin-left:2px}.filter-chip[data-v-d6c2f846]{min-width:60px;justify-content:center;transition:all .2s ease}.filter-chip.v-chip--selected[data-v-d6c2f846]{transform:scale(1.05);font-weight:700}.v-data-table[data-v-d6c2f846]{border-radius:8px;overflow:hidden}.v-card[data-v-d6c2f846]{border-radius:12px;overflow:hidden}.v-btn[data-v-d6c2f846]{transition:transform .2s ease}.v-btn[data-v-d6c2f846]:not(:disabled):hover{transform:translateY(-2px)}.v-badge{display:inline-block;line-height:1}.v-badge__badge{align-items:center;display:inline-flex;border-radius:10px;font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;height:1.25rem;justify-content:center;min-width:20px;padding:4px 6px;pointer-events:auto;position:absolute;text-align:center;text-indent:0;transition:.225s cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-badge__badge{background:rgb(var(--v-theme-surface-variant));color:rgba(var(--v-theme-on-surface-variant),var(--v-high-emphasis-opacity))}.v-badge__badge:has(.v-icon){padding:4px 6px}.v-badge--bordered .v-badge__badge:after{border-radius:inherit;border-style:solid;border-width:2px;bottom:0;color:rgb(var(--v-theme-background));content:"";left:0;position:absolute;right:0;top:0;transform:scale(1.05)}.v-badge--dot .v-badge__badge{border-radius:4.5px;height:9px;min-width:0;padding:0;width:9px}.v-badge--dot .v-badge__badge:after{border-width:1.5px}.v-badge--inline .v-badge__badge{position:relative;vertical-align:middle}.v-badge__badge .v-icon{color:inherit;font-size:.75rem;margin:0 -2px}.v-badge__badge img,.v-badge__badge .v-img{height:100%;width:100%}.v-badge__wrapper{display:flex;position:relative}.v-badge--inline .v-badge__wrapper{align-items:center;display:inline-flex;justify-content:center;margin:0 4px}.v-checkbox.v-input{flex:0 1 auto}.v-checkbox .v-selection-control{min-height:var(--v-input-control-height)}.v-file-input--hide.v-input .v-field,.v-file-input--hide.v-input .v-input__control,.v-file-input--hide.v-input .v-input__details{display:none}.v-file-input--hide.v-input .v-input__prepend{grid-area:control;margin:0 auto}.v-file-input--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-file-input .v-field__input{word-break:break-word}.v-file-input input[type=file]{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:0}.v-file-input--dragging input[type=file]{z-index:1}.v-file-input .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-file-input .v-input__details{padding-inline:0}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}} diff --git a/assets/cses2wakeup-DptYMSoX.js b/assets/cses2wakeup-DptYMSoX.js new file mode 100644 index 0000000..2ee8530 --- /dev/null +++ b/assets/cses2wakeup-DptYMSoX.js @@ -0,0 +1,7 @@ +import{g as ee,p as te,a5 as Se,a6 as qe,a7 as je,a8 as Pe,a9 as Je,aa as Xe,u as Ze,c as se,ab as Ke,d as i,i as h,ac as Qe,K as $e,ad as et,E as B,v as j,f as tt,ae as st,af as lt,m as Ae,ag as at,ah as rt,h as it,ai as ot,aj as Ee,ak as Be,al as _,am as be,an as X,ao as O,ap as nt,aq as dt,ar as ut,F as V,e as Ne,as as Re,at as ct,au as mt,y as R,n as ft,av as ht,aw as yt,ax as bt,ay as pt,az as gt,aA as vt,aB as kt,aC as Tt,aD as wt,aE as xt,_ as Dt,j as C,o as c,w as o,l as H,q as de,t as u,N as Vt,z as Q,B as w,A as p,C as g,D as Ct,G as E,aF as St,W as jt,x as Pt}from"./index-B01HL2YE.js";import{a as pe,V as G}from"./VRow-CmZZJImz.js";import{V as J}from"./VAlert-C_dUaWCb.js";import{V as ze,a as At,b as Et,c as ge,d as ue,e as Bt}from"./VTabsWindowItem-BbeSXQBC.js";import{V as I,a as ve,m as Nt,b as Rt}from"./VChip-DGb8BoIB.js";import{V as ce}from"./VTooltip-B8rVhLY6.js";import{V as zt}from"./VTextarea-BaoCeePe.js";import{u as Mt,a as ke,b as Te,c as Wt,m as It,d as _t,V as Lt}from"./VTextField-DDMIr0_j.js";import{V as we}from"./VSwitch-uLPjXKnU.js";import{V as Ft}from"./VSkeletonLoader-sErXiQwV.js";import{V as Ut,a as Ot}from"./VDataTable-B-hmgcj0.js";import{V as Yt}from"./VContainer-yTxlmOws.js";import"./VCheckboxBtn-DzDw8U-d.js";import"./VMenu-3aVeBIH6.js";const Ht=te({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:ot,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...it(),...rt({location:"top end"}),...at(),...Ae(),...lt(),...st({transition:"scale-rotate-transition"}),...tt()},"VBadge"),xe=ee()({name:"VBadge",inheritAttrs:!1,props:Ht(),setup(t,e){const{backgroundColorClasses:n,backgroundColorStyles:a}=Se(()=>t.color),{roundedClasses:s}=qe(t),{t:r}=je(),{textColorClasses:l,textColorStyles:d}=Pe(()=>t.textColor),{themeClasses:f}=Je(),{locationStyles:y}=Xe(t,!0,b=>(t.floating?t.dot?2:4:t.dot?8:12)+(["top","bottom"].includes(b)?Number(t.offsetY??0):["left","right"].includes(b)?Number(t.offsetX??0):0)),{dimensionStyles:T}=Ze(t);return se(()=>{const b=Number(t.content),v=!t.max||isNaN(b)?t.content:b<=Number(t.max)?b:`${t.max}+`,[k,D]=Ke(e.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return i(t.tag,B({class:["v-badge",{"v-badge--bordered":t.bordered,"v-badge--dot":t.dot,"v-badge--floating":t.floating,"v-badge--inline":t.inline},t.class]},D,{style:t.style}),{default:()=>{var P,z;return[h("div",{class:"v-badge__wrapper"},[(z=(P=e.slots).default)==null?void 0:z.call(P),i(Qe,{transition:t.transition},{default:()=>{var S,A;return[$e(h("span",B({class:["v-badge__badge",f.value,n.value,s.value,l.value],style:[a.value,d.value,T.value,t.inline?{}:y.value],"aria-atomic":"true","aria-label":r(t.label,b),"aria-live":"polite",role:"status"},k),[t.dot?void 0:e.slots.badge?(A=(S=e.slots).badge)==null?void 0:A.call(S):t.icon?i(j,{icon:t.icon},null):v]),[[et,t.modelValue]])]}})])]}})}),{}}});function Gt(){function t(n){var s,r;return[...((s=n.dataTransfer)==null?void 0:s.items)??[]].filter(l=>l.kind==="file").map(l=>l.webkitGetAsEntry()).filter(Boolean).length>0||[...((r=n.dataTransfer)==null?void 0:r.files)??[]].length>0}async function e(n){var r,l;const a=[],s=[...((r=n.dataTransfer)==null?void 0:r.items)??[]].filter(d=>d.kind==="file").map(d=>d.webkitGetAsEntry()).filter(Boolean);if(s.length)for(const d of s){const f=await Me(d,We(".",d));a.push(...f.map(y=>y.file))}else a.push(...((l=n.dataTransfer)==null?void 0:l.files)??[]);return a}return{handleDrop:e,hasFilesOrFolders:t}}function Me(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((n,a)=>{t.isFile?t.file(r=>n([{file:r,path:e}]),a):t.isDirectory&&t.createReader().readEntries(async r=>{const l=[];for(const d of r)l.push(...await Me(d,We(e,d)));n(l)})})}function We(t,e){return e.isDirectory?`${t}/${e.name}`:t}const qt=te({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>typeof t=="boolean"||[1e3,1024].includes(Number(t))},..._t({prependIcon:"$file"}),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>Be(t).every(e=>e!=null&&typeof e=="object")},...It({clearable:!0})},"VFileInput"),Jt=ee()({name:"VFileInput",inheritAttrs:!1,props:qt(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0},setup(t,e){let{attrs:n,emit:a,slots:s}=e;const{t:r}=je(),l=Ee(t,"modelValue",t.modelValue,m=>Be(m),m=>!t.multiple&&Array.isArray(m)?m[0]:m),{isFocused:d,focus:f,blur:y}=Mt(t),T=_(()=>typeof t.showSize!="boolean"?t.showSize:void 0),b=_(()=>(l.value??[]).reduce((m,x)=>{let{size:U=0}=x;return m+U},0)),v=_(()=>be(b.value,T.value)),k=_(()=>(l.value??[]).map(m=>{const{name:x="",size:U=0}=m;return t.showSize?`${x} (${be(U,T.value)})`:x})),D=_(()=>{var x;const m=((x=l.value)==null?void 0:x.length)??0;return t.showSize?r(t.counterSizeString,m,v.value):r(t.counterString,m)}),P=X(),z=X(),S=X(),A=O(()=>d.value||t.active),M=_(()=>["plain","underlined"].includes(t.variant)),W=nt(!1),{handleDrop:Y,hasFilesOrFolders:Z}=Gt();function N(){var m;S.value!==document.activeElement&&((m=S.value)==null||m.focus()),d.value||f()}function le(m){var x;(x=S.value)==null||x.click()}function ae(m){a("mousedown:control",m)}function L(m){var x;(x=S.value)==null||x.click(),a("click:control",m)}function re(m){m.stopPropagation(),N(),ct(()=>{l.value=[],mt(t["onClick:clear"],m)})}function me(m){m.preventDefault(),m.stopImmediatePropagation(),W.value=!0}function ie(m){m.preventDefault(),W.value=!1}async function oe(m){if(m.preventDefault(),m.stopImmediatePropagation(),W.value=!1,!S.value||!Z(m))return;const x=new DataTransfer;for(const U of await Y(m))x.items.add(U);S.value.files=x.files,S.value.dispatchEvent(new Event("change",{bubbles:!0}))}return dt(l,m=>{(!Array.isArray(m)||!m.length)&&S.value&&(S.value.value="")}),se(()=>{const m=!!(s.counter||t.counter),x=!!(m||s.details),[U,Ie]=ut(n),{modelValue:hs,..._e}=ke.filterProps(t),Le={...Te.filterProps(t),"onClick:clear":re};return i(ke,B({ref:P,modelValue:t.multiple?l.value:l.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--dragging":W.value,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":M.value},t.class],style:t.style,"onClick:prepend":le},U,_e,{centerAffix:!M.value,focused:d.value}),{...s,default:ne=>{let{id:K,isDisabled:q,isDirty:fe,isReadonly:he,isValid:Fe,hasDetails:Ue}=ne;return i(Te,B({ref:z,prependIcon:t.prependIcon,onMousedown:ae,onClick:L,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},Le,{id:K.value,active:A.value||fe.value,dirty:fe.value||t.dirty,disabled:q.value,focused:d.value,details:Ue.value,error:Fe.value===!1,onDragover:me,onDrop:oe}),{...s,default:Oe=>{var ye;let{props:{class:Ye,...He}}=Oe;return h(V,null,[h("input",B({ref:S,type:"file",readonly:he.value,disabled:q.value,multiple:t.multiple,name:t.name,onClick:F=>{F.stopPropagation(),he.value&&F.preventDefault(),N()},onChange:F=>{if(!F.target)return;const Ge=F.target;l.value=[...Ge.files??[]]},onDragleave:ie,onFocus:N,onBlur:y},He,Ie),null),h("div",{class:Ne(Ye)},[!!((ye=l.value)!=null&&ye.length)&&!t.hideInput&&(s.selection?s.selection({fileNames:k.value,totalBytes:b.value,totalBytesReadable:v.value}):t.chips?k.value.map(F=>i(I,{key:F,size:"small",text:F},null)):k.value.join(", "))])])}})},details:x?ne=>{var K,q;return h(V,null,[(K=s.details)==null?void 0:K.call(s,ne),m&&h(V,null,[h("span",null,null),i(Wt,{active:!!((q=l.value)!=null&&q.length),value:D.value,disabled:t.disabled},s.counter)])])}:void 0})}),Re({},P,z,S)}}),Xt=te({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...ht(yt({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),$=ee()({name:"VTab",props:Xt(),setup(t,e){let{slots:n,attrs:a}=e;const{textColorClasses:s,textColorStyles:r}=Pe(()=>t.sliderColor),l=X(),d=X(),f=_(()=>t.direction==="horizontal"),y=_(()=>{var b,v;return((v=(b=l.value)==null?void 0:b.group)==null?void 0:v.isSelected.value)??!1});function T(b){var k,D;let{value:v}=b;if(v){const P=(D=(k=l.value)==null?void 0:k.$el.parentElement)==null?void 0:D.querySelector(".v-tab--selected .v-tab__slider"),z=d.value;if(!P||!z)return;const S=getComputedStyle(P).color,A=P.getBoundingClientRect(),M=z.getBoundingClientRect(),W=f.value?"x":"y",Y=f.value?"X":"Y",Z=f.value?"right":"bottom",N=f.value?"width":"height",le=A[W],ae=M[W],L=le>ae?A[Z]-M[Z]:A[W]-M[W],re=Math.sign(L)>0?f.value?"right":"bottom":Math.sign(L)<0?f.value?"left":"top":"center",ie=(Math.abs(L)+(Math.sign(L)<0?A[N]:M[N]))/Math.max(A[N],M[N])||0,oe=A[N]/M[N]||0,m=1.5;bt(z,{backgroundColor:[S,"currentcolor"],transform:[`translate${Y}(${L}px) scale${Y}(${oe})`,`translate${Y}(${L/m}px) scale${Y}(${(ie-1)/m+1})`,"none"],transformOrigin:Array(3).fill(re)},{duration:225,easing:pt})}}return se(()=>{const b=R.filterProps(t);return i(R,B({symbol:ze,ref:l,class:["v-tab",t.class],style:t.style,tabindex:y.value?0:-1,role:"tab","aria-selected":String(y.value),active:!1},b,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":T}),{...n,default:()=>{var v;return h(V,null,[((v=n.default)==null?void 0:v.call(n))??t.text,!t.hideSlider&&h("div",{ref:d,class:Ne(["v-tab__slider",s.value]),style:ft(r.value)},null)])}})}),Re({},l)}});function Zt(t){return t?t.map(e=>xt(e)?e:{text:e,value:e}):[]}const Kt=te({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...Nt({mandatory:"force",selectedClass:"v-tab-item--selected"}),...wt(),...Ae()},"VTabs"),De=ee()({name:"VTabs",props:Kt(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:n,slots:a}=e;const s=Ee(t,"modelValue"),r=_(()=>Zt(t.items)),{densityClasses:l}=gt(t),{backgroundColorClasses:d,backgroundColorStyles:f}=Se(()=>t.bgColor),{scopeId:y}=vt();return kt({VTab:{color:O(()=>t.color),direction:O(()=>t.direction),stacked:O(()=>t.stacked),fixed:O(()=>t.fixedTabs),sliderColor:O(()=>t.sliderColor),hideSlider:O(()=>t.hideSlider)}}),se(()=>{const T=ve.filterProps(t),b=!!(a.window||t.items.length>0);return h(V,null,[i(ve,B(T,{modelValue:s.value,"onUpdate:modelValue":v=>s.value=v,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--stacked":t.stacked},l.value,d.value,t.class],style:[{"--v-tabs-height":Tt(t.height)},f.value,t.style],role:"tablist",symbol:ze},y,n),{default:()=>{var v;return[((v=a.default)==null?void 0:v.call(a))??r.value.map(k=>{var D;return((D=a.tab)==null?void 0:D.call(a,{item:k}))??i($,B(k,{key:k.text,value:k.value}),{default:a[`tab.${k.value}`]?()=>{var P;return(P=a[`tab.${k.value}`])==null?void 0:P.call(a,{item:k})}:void 0})})]}}),b&&i(Et,B({modelValue:s.value,"onUpdate:modelValue":v=>s.value=v,key:"tabs-window"},y),{default:()=>{var v;return[r.value.map(k=>{var D;return((D=a.item)==null?void 0:D.call(a,{item:k}))??i(At,{value:k.value},{default:()=>{var P;return(P=a[`item.${k.value}`])==null?void 0:P.call(a,{item:k})}})}),(v=a.window)==null?void 0:v.call(a)]}})])}),{}}}),Ve=()=>new Promise((t,e)=>{if(typeof window.jsyaml<"u")return t(window.jsyaml);const n=document.createElement("script");n.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",n.async=!0,n.onload=()=>t(window.jsyaml),n.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(n)});class Ce{constructor(e){this.data=e,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const e=this.data.subjects||[];for(const a of e)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const n=this.data.schedules||[];for(const a of n){const s=[];for(const r of a.classes||[])s.push({subject:r.subject,start_time:r.start_time,end_time:r.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const n=this.schedules.find(a=>a.enable_day===e);return n?n.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const Qt={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),n={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{n[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){if(!this.selectedDays.includes(s))continue;const r=a[s];if(r)if(Array.isArray(r))r.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:n[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!r.name)continue;t.push({originalPeriod:a.period,period:n[a.period],subject:r.name,day:this.dayNames[s],startTime:r.startTime,endTime:r.endTime,teacher:this.settings.hideTeacherName?"":r.teacher||"",room:this.settings.hideRoom?"":r.room||"",weeks:r.weekType?`1-${this.settings.totalWeeks}${r.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const r={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return r[a.day]-r[s.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const t=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&t.push(e);return t}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const t=this.file.name.toLowerCase();if(t.endsWith(".json")||t.endsWith(".js"))this.formatMode="json";else if((t.endsWith(".yml")||t.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Ve(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async n=>{try{this.jsonText=n.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},e.onerror=()=>{this.error="文件读取失败"},e.readAsText(this.file)}catch(e){this.error=`文件处理失败: ${e.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let t;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const n=this.parseYaml(this.jsonText);t=new Ce(n).toCsesData()}else t=JSON.parse(this.jsonText)}catch(n){throw new Error(`格式解析错误: ${n.message}`)}if(!this.validateCsesFormat(t))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(t);this.processedData=e,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",e.tableData&&e.tableData.length>0&&(this.selectedRows=[...e.tableData],this.exportPeriods=e.tableData.map(n=>n.period))}catch(t){this.error="数据处理失败:"+t.message,console.error(t)}finally{this.loading=!1}},validateCsesFormat(t){return t instanceof Ce?t.version===1&&Array.isArray(t.subjects)&&Array.isArray(t.schedules):!(!t||typeof t!="object"||t.version!==1||!Array.isArray(t.subjects)||!Array.isArray(t.schedules))},processCsesData(t){const{schedules:e,subjects:n}=t,a=Object.fromEntries(n.map(l=>[l.name,l])),s=[];let r=0;e.forEach(l=>{l.classes&&l.classes.length>r&&(r=l.classes.length)});for(let l=1;l<=r;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(l=>{const d=l.enable_day;if(!d||d<1||d>7)return;let f="";l.weeks==="odd"?f="单":l.weeks==="even"&&(f="双"),l.classes.forEach((y,T)=>{if(!y.subject)return;const b=T+1;if(b>r)return;const v=a[y.subject]||{},k={name:y.subject,teacher:v.teacher||"",room:v.room||"",period:b,startTime:y.start_time,endTime:y.end_time,day:d,weekType:f},D=s[b-1][d];D?f&&D.weekType&&f!==D.weekType?(Array.isArray(s[b-1][d])||(s[b-1][d]=[D]),s[b-1][d].push(k)):f===D.weekType?s[b-1][d]=k:f||(s[b-1][d]=k):s[b-1][d]=k})}),{tableData:s,originalData:t}},updateSelectedPeriods(t){this.exportPeriods=[],t&&t.length>0&&(this.exportPeriods=[...new Set(t.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let t=`课程名称,星期,开始节数,结束节数,老师,地点,周数 +`;for(const r of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(r));for(const d of l)for(const f of d.items){const y={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[f.day],T=this.settings.hideTeacherName?"":f.teacher||"",b=this.settings.hideRoom?"":f.room||"";t+=`${f.subject},${y},${f.period},${f.period},${T},${b},${f.weeks} +`}}const e="\uFEFF",n=new Blob([e+t],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(n),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const t=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` +`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): +${t} +...等${this.totalClassHours-5}节课程`:this.success=`导出预览 (共${this.totalClassHours}课时): +${t}`,this.$nextTick(()=>{this.daysWithSchedule.length>0&&!this.activeDay&&(this.activeDay=this.daysWithSchedule[0])})},isYaml(t){const e=t.trim();if(e.startsWith("{")||e.startsWith("["))try{return JSON.parse(e),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(e)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(e)},parseYaml(t){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(t);throw new Error("YAML解析器未加载")}catch(e){throw new Error(`YAML解析错误: ${e.message}`)}},getDaySchedule(t){return this.timeTableData?this.getUnfilteredTimeTableData().filter(n=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[n.day]===t):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),n={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{n[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){const r=a[s];if(r)if(Array.isArray(r))r.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:n[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!r.name)continue;t.push({originalPeriod:a.period,period:n[a.period],subject:r.name,day:this.dayNames[s],startTime:r.startTime,endTime:r.endTime,teacher:this.settings.hideTeacherName?"":r.teacher||"",room:this.settings.hideRoom?"":r.room||"",weeks:r.weekType?`1-${this.settings.totalWeeks}${r.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const r={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return r[a.day]-r[s.day]})},groupByPeriod(t){const e={};return t.forEach(n=>{e[n.period]||(e[n.period]={period:n.period,originalPeriod:n.originalPeriod,items:[],timeSlots:[]}),e[n.period].items.push(n),e[n.period].timeSlots.push({startTime:n.startTime,endTime:n.endTime})}),Object.values(e).forEach(n=>{n.uniqueTimeSlots=[],n.timeSlots.forEach(a=>{n.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||n.uniqueTimeSlots.push(a)}),n.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(e).sort((n,a)=>n.period-a.period)},formatTime(t){return t?t.substring(0,5):""},getSubjectColor(t){return this.subjectColors[t]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Ve(),this.yamlLibLoaded=!0}catch(t){this.error=t.message}this.$watch("daysWithSchedule",t=>{t.length>0&&!this.activeDay&&(this.activeDay=t[0])})}},$t={class:"d-flex align-center"},es={class:"d-flex align-center"},ts={key:2,class:"text-caption mb-2"},ss={class:"d-flex align-center mb-2"},ls={class:"d-flex align-center mb-3"},as={class:"d-flex align-center mb-3"},rs={key:0,class:"course-cell"},is={key:0},os={key:1},ns={key:2,class:"week-type"},ds={key:0},us={key:1},cs={key:2,class:"week-type"},ms={class:"text-center font-weight-bold"};function fs(t,e,n,a,s,r){return c(),C(Yt,{class:"fill-height"},{default:o(()=>[i(pe,null,{default:o(()=>[i(G,{cols:"12"},{default:o(()=>[i(H,{class:"elevation-12",border:""},{default:o(()=>[i(de,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:o(()=>[i(j,{color:"white",class:"mr-2"},{default:o(()=>[...e[15]||(e[15]=[u("mdi-swap-horizontal",-1)])]),_:1}),e[16]||(e[16]=u(" 课程表转换工具 ",-1))]),_:1}),i(Vt,null,{default:o(()=>[...e[17]||(e[17]=[u(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ",-1)])]),_:1}),i(Q,null,{default:o(()=>[s.error?(c(),C(J,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=l=>s.error="")},{default:o(()=>[h("div",$t,[i(j,{class:"mr-2"},{default:o(()=>[...e[18]||(e[18]=[u("mdi-alert-circle",-1)])]),_:1}),u(" "+g(s.error),1)])]),_:1})):w("",!0),s.success?(c(),C(J,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=l=>s.success="")},{default:o(()=>[h("div",es,[i(j,{class:"mr-2"},{default:o(()=>[...e[19]||(e[19]=[u("mdi-check-circle",-1)])]),_:1}),u(" "+g(s.success),1)])]),_:1})):w("",!0),i(De,{modelValue:s.activeTab,"onUpdate:modelValue":e[2]||(e[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:o(()=>[i($,{value:"text",class:"px-5"},{default:o(()=>[i(j,{start:""},{default:o(()=>[...e[20]||(e[20]=[u("mdi-text-box",-1)])]),_:1}),e[21]||(e[21]=u(" 文本粘贴",-1))]),_:1}),i($,{value:"file",class:"px-5"},{default:o(()=>[i(j,{start:""},{default:o(()=>[...e[22]||(e[22]=[u("mdi-file-upload",-1)])]),_:1}),e[23]||(e[23]=u(" 文件上传",-1))]),_:1})]),_:1},8,["modelValue"]),i(Ct,{modelValue:s.formatMode,"onUpdate:modelValue":e[3]||(e[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:o(()=>[i(R,{value:"auto"},{default:o(()=>[...e[24]||(e[24]=[u("自动检测",-1)])]),_:1}),i(R,{value:"json"},{default:o(()=>[...e[25]||(e[25]=[u("JSON",-1)])]),_:1}),i(R,{value:"yaml",disabled:!s.yamlLibLoaded},{default:o(()=>[e[26]||(e[26]=u(" YAML ",-1)),i(ce,{activator:"parent",location:"bottom"},{default:o(()=>[u(g(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(c(),p("div",ts," 检测到的格式: "+g(r.isYaml(s.jsonText)?"YAML":"JSON"),1)):w("",!0),i(ge,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=l=>s.activeTab=l)},{default:o(()=>[i(ue,{value:"text"},{default:o(()=>[h("div",ss,[i(zt,{modelValue:s.jsonText,"onUpdate:modelValue":e[4]||(e[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:r.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),i(ue,{value:"file"},{default:o(()=>[i(Jt,{modelValue:s.file,"onUpdate:modelValue":e[5]||(e[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:r.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(c(),C(J,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:o(()=>[...e[27]||(e[27]=[u(" 将根据文件扩展名自动检测格式 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1},8,["modelValue"]),i(G,{cols:"12"},{default:o(()=>[i(H,{flat:"",class:"pa-4 rounded-lg",border:""},{default:o(()=>[h("div",ls,[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[28]||(e[28]=[u("mdi-calendar-multiselect",-1)])]),_:1}),e[33]||(e[33]=h("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),i(R,{variant:"text",color:"primary",class:"ml-2",onClick:r.selectAllDays},{default:o(()=>[i(j,{start:"",size:"small"},{default:o(()=>[...e[29]||(e[29]=[u("mdi-checkbox-multiple-marked",-1)])]),_:1}),e[30]||(e[30]=u(" 全选 ",-1))]),_:1},8,["onClick"]),i(R,{variant:"text",color:"error",class:"ml-2",onClick:r.clearSelectedDays},{default:o(()=>[i(j,{start:"",size:"small"},{default:o(()=>[...e[31]||(e[31]=[u("mdi-checkbox-multiple-blank-outline",-1)])]),_:1}),e[32]||(e[32]=u(" 清除 ",-1))]),_:1},8,["onClick"])]),i(Rt,{modelValue:s.selectedDays,"onUpdate:modelValue":e[7]||(e[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:o(()=>[(c(),p(V,null,E(7,l=>i(I,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:o(()=>[u(g(s.dayNames[l])+" ",1),r.getDaySchedule(l).length>0?(c(),C(xe,{key:0,content:r.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):w("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),i(G,{cols:"12"},{default:o(()=>[i(H,{flat:"",class:"pa-4 rounded-lg",border:""},{default:o(()=>[h("div",as,[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[34]||(e[34]=[u("mdi-cog",-1)])]),_:1}),e[35]||(e[35]=h("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),i(pe,null,{default:o(()=>[i(G,{cols:"12",sm:"6"},{default:o(()=>[i(we,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":e[8]||(e[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),i(G,{cols:"12",sm:"6"},{default:o(()=>[i(we,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":e[9]||(e[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),i(G,{cols:"12",sm:"6"},{default:o(()=>[i(Lt,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":e[10]||(e[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(c(),C(H,{key:3,class:"my-4",outlined:""},{default:o(()=>[i(Q,null,{default:o(()=>[i(Ft,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):w("",!0),s.processedData?(c(),C(I,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:o(()=>[u(g(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):w("",!0),s.processedData&&s.exportPeriods.length===0?(c(),C(J,{key:5,type:"warning",class:"mb-4",closable:""},{default:o(()=>[...e[36]||(e[36]=[u(" 请选择要导出的节次 ",-1)])]),_:1})):w("",!0),s.processedData?(c(),C(H,{key:6,class:"my-4",elevation:"1"},{default:o(()=>[i(de,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:o(()=>[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[37]||(e[37]=[u("mdi-table",-1)])]),_:1}),e[39]||(e[39]=h("span",{class:"font-weight-bold"},"课程表",-1)),i(I,{color:"primary",class:"ml-3",size:"small",pill:""},{default:o(()=>[i(j,{start:"",size:"x-small"},{default:o(()=>[...e[38]||(e[38]=[u("mdi-book-open-variant",-1)])]),_:1}),u(" "+g(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),i(Q,{class:"pa-0"},{default:o(()=>[i(Ut,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[e[12]||(e[12]=l=>s.selectedRows=l),r.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},St({"item.data-table-select":o(({item:l})=>[i(Bt,{modelValue:s.exportPeriods,"onUpdate:modelValue":e[11]||(e[11]=d=>s.exportPeriods=d),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[E(7,l=>({name:`item.${l}`,fn:o(({item:d})=>[d[l]?(c(),p("div",rs,[Array.isArray(d[l])?(c(!0),p(V,{key:0},E(d[l],(f,y)=>(c(),p("div",{key:y,class:"course-item"},[u(g(f.name)+" ",1),!s.settings.hideTeacherName&&f.teacher?(c(),p("span",is,[e[40]||(e[40]=h("br",null,null,-1)),u(g(f.teacher),1)])):w("",!0),!s.settings.hideRoom&&f.room?(c(),p("span",os,[e[41]||(e[41]=h("br",null,null,-1)),u(g(f.room),1)])):w("",!0),f.weekType?(c(),p("span",ns,g(f.weekType)+"周 ",1)):w("",!0)]))),128)):(c(),p(V,{key:1},[u(g(d[l].name)+" ",1),!s.settings.hideTeacherName&&d[l].teacher?(c(),p("span",ds,[e[42]||(e[42]=h("br",null,null,-1)),u(g(d[l].teacher),1)])):w("",!0),!s.settings.hideRoom&&d[l].room?(c(),p("span",us,[e[43]||(e[43]=h("br",null,null,-1)),u(g(d[l].room),1)])):w("",!0),d[l].weekType?(c(),p("span",cs,g(d[l].weekType)+"周 ",1)):w("",!0)],64))])):w("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):w("",!0),r.hasExportData?(c(),C(H,{key:7,class:"my-4",elevation:"1"},{default:o(()=>[i(de,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:o(()=>[i(j,{color:"primary",class:"mr-2"},{default:o(()=>[...e[44]||(e[44]=[u("mdi-timetable",-1)])]),_:1}),e[48]||(e[48]=h("span",{class:"font-weight-bold"},"每日课程时间表",-1)),i(I,{class:"ml-3",size:"small",color:"primary",pill:""},{default:o(()=>[i(j,{start:"",size:"x-small"},{default:o(()=>[...e[45]||(e[45]=[u("mdi-clock-outline",-1)])]),_:1}),u(" "+g(r.totalClassHours)+" 课时 ",1)]),_:1}),s.exportPeriods.length>0?(c(),C(ce,{key:0},{activator:o(({props:l})=>[i(I,B({class:"ml-2",size:"small",color:"info"},l,{pill:""}),{default:o(()=>[i(j,{start:"",size:"x-small"},{default:o(()=>[...e[46]||(e[46]=[u("mdi-information-outline",-1)])]),_:1}),e[47]||(e[47]=u(" 节次已重排 ",-1))]),_:2},1040)]),default:o(()=>[h("span",null,"已将选中的节次 "+g(s.exportPeriods.join(", "))+" 重新排序为连续的 1-"+g(s.exportPeriods.length),1)]),_:1})):w("",!0)]),_:1}),i(Q,null,{default:o(()=>[r.daysWithSchedule.length>0?(c(),C(De,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":e[13]||(e[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:o(()=>[(c(!0),p(V,null,E(r.daysWithSchedule,l=>(c(),C($,{key:l,value:l,class:"px-2 font-weight-medium"},{default:o(()=>[u(g(s.dayNames[l])+" ",1),i(xe,{content:r.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):w("",!0),i(ge,{modelValue:s.activeDay,"onUpdate:modelValue":e[14]||(e[14]=l=>s.activeDay=l)},{default:o(()=>[(c(!0),p(V,null,E(r.daysWithSchedule,l=>(c(),C(ue,{key:l,value:l},{default:o(()=>[i(Ot,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:o(()=>[e[50]||(e[50]=h("thead",null,[h("tr",null,[h("th",{class:"text-center"},"节次"),h("th",null,"课程"),h("th",null,"时间"),h("th",null,"教师"),h("th",null,"教室"),h("th",null,"周次")])],-1)),h("tbody",null,[(c(!0),p(V,null,E(r.groupByPeriod(r.getDaySchedule(l)),(d,f)=>(c(),p("tr",{key:f},[h("td",ms,[u(g(d.period)+" ",1),d.originalPeriod!==d.period?(c(),C(ce,{key:0},{activator:o(({props:y})=>[i(j,B({size:"x-small"},{ref_for:!0},y,{color:"info",class:"ml-1"}),{default:o(()=>[...e[49]||(e[49]=[u("mdi-sync",-1)])]),_:2},1040)]),default:o(()=>[u(" 原节次: "+g(d.originalPeriod),1)]),_:2},1024)):w("",!0)]),h("td",null,[(c(!0),p(V,null,E(d.items,(y,T)=>(c(),p("div",{key:T,class:"mb-1"},[i(I,{size:"small",color:r.getSubjectColor(y.subject),label:"","text-color":"white",class:"mr-1"},{default:o(()=>[u(g(y.subject),1)]),_:2},1032,["color"]),d.items.length>1?(c(),C(I,{key:0,size:"x-small",class:"ml-1",color:y.weekType==="单"?"warning":"success"},{default:o(()=>[u(g(y.weekType)+"周 ",1)]),_:2},1032,["color"])):w("",!0)]))),128))]),h("td",null,[(c(!0),p(V,null,E(d.uniqueTimeSlots,(y,T)=>(c(),p("div",{key:T,class:"mb-1"},[i(I,{size:"x-small",class:"time-chip"},{default:o(()=>[u(g(r.formatTime(y.startTime))+" - "+g(r.formatTime(y.endTime)),1)]),_:2},1024)]))),128))]),h("td",null,[s.settings.hideTeacherName?(c(),p(V,{key:1},[u("-")],64)):(c(!0),p(V,{key:0},E(d.items,(y,T)=>(c(),p("div",{key:T,class:"mb-1"},g(y.teacher||"-"),1))),128))]),h("td",null,[s.settings.hideRoom?(c(),p(V,{key:1},[u("-")],64)):(c(!0),p(V,{key:0},E(d.items,(y,T)=>(c(),p("div",{key:T,class:"mb-1"},g(y.room||"-"),1))),128))]),h("td",null,[(c(!0),p(V,null,E(d.items,(y,T)=>(c(),p("div",{key:T,class:"mb-1"},g(y.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),r.hasExportData&&r.daysWithSchedule.length===0?(c(),C(J,{key:1,type:"info",class:"mt-3"},{default:o(()=>[...e[51]||(e[51]=[u(" 没有找到任何课程数据 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1})):w("",!0)]),_:1}),i(jt,{class:""},{default:o(()=>[i(Pt),i(R,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:r.processInput,"prepend-icon":"mdi-cog-refresh"},{default:o(()=>[...e[52]||(e[52]=[u(" 处理数据 ",-1)])]),_:1},8,["loading","disabled","onClick"]),i(R,{color:"info",disabled:!r.hasExportData,onClick:r.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:o(()=>[...e[53]||(e[53]=[u(" 刷新 ",-1)])]),_:1},8,["disabled","onClick"]),i(R,{color:"success",variant:"outlined",disabled:!r.hasExportData,onClick:r.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:o(()=>[...e[54]||(e[54]=[u(" 下载CSV ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ps=Dt(Qt,[["render",fs],["__scopeId","data-v-d6c2f846"]]);export{Ps as default}; diff --git a/assets/default-B3YofT5k.js b/assets/default-BkVDT-XT.js similarity index 92% rename from assets/default-B3YofT5k.js rename to assets/default-BkVDT-XT.js index f1d071d..0659609 100644 --- a/assets/default-B3YofT5k.js +++ b/assets/default-BkVDT-XT.js @@ -1 +1 @@ -import{g as u,p as m,u as _,a as d,b as p,c as f,d as n,n as v,e as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-DmGr2YjE.js";const M=m({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=_(e),{mainStyles:c}=d(),{ssrBootStyles:i}=p();return f(()=>n(e.tag,{class:y(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:v([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default}; +import{g as u,p as m,u as _,a as d,b as p,c as f,d as n,n as v,e as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-B01HL2YE.js";const M=m({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=_(e),{mainStyles:c}=d(),{ssrBootStyles:i}=p();return f(()=>n(e.tag,{class:y(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:v([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default}; diff --git a/assets/examschedule-CvP7g5Ky.css b/assets/examschedule-CvP7g5Ky.css new file mode 100644 index 0000000..353416c --- /dev/null +++ b/assets/examschedule-CvP7g5Ky.css @@ -0,0 +1 @@ +.border-b[data-v-a9cabba0]{border-bottom:1px solid rgba(0,0,0,.12)}.json-preview[data-v-a9cabba0]{border-radius:8px;font-family:Fira Code,Courier New,monospace;font-size:13px;line-height:1.5;max-height:400px;overflow-y:auto;padding:16px}.json-preview code[data-v-a9cabba0]{font-weight:400}.border-b[data-v-a9cabba0]{border-bottom:1px solid rgba(0,0,0,.08)}.border-b[data-v-a9cabba0]:last-child{border-bottom:none}.border-e[data-v-a9cabba0]{border-right:1px solid rgba(0,0,0,.12)}.datetime-picker-header[data-v-a9cabba0]{background-color:#f5f5f5;border-bottom:1px solid rgba(0,0,0,.12)}.v-card--variant-elevated[data-v-a9cabba0]{box-shadow:0 2px 8px #0000001a!important}.v-btn-toggle[data-v-a9cabba0]{border-radius:8px;overflow:hidden}.v-btn-toggle .v-btn[data-v-a9cabba0]{border-radius:0!important}.cursor-pointer[data-v-a9cabba0]{cursor:pointer}.v-card.hover[data-v-a9cabba0]:hover{transform:translateY(-2px);transition:transform .2s ease-in-out;box-shadow:0 4px 12px #00000026!important}.bg-primary-lighten-5[data-v-a9cabba0]{background-color:rgba(var(--v-theme-primary),.08)!important}.v-btn-toggle .v-btn[data-v-a9cabba0]:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.v-btn-toggle .v-btn[data-v-a9cabba0]:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.v-time-picker.v-picker{min-width:328px}.v-time-picker-clock{background:rgb(var(--v-theme-background));color:rgb(var(--v-theme-on-background))}.v-time-picker-clock:after{color:rgb(var(--v-theme-primary))}.v-time-picker-clock .v-time-picker-clock__item--active{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-time-picker-clock{margin:18px 24px 24px;background:rgb(var(--v-theme-surface-light));border-radius:50%;position:relative;transition:none;-webkit-user-select:none;user-select:none;max-width:256px;aspect-ratio:1;flex:100%}.v-time-picker-clock__container{display:flex;flex-direction:column;flex-basis:290px;justify-content:center;padding:10px}.v-time-picker-clock__hand{background-color:currentColor;height:calc(50% - 4px);width:2px;bottom:50%;left:calc(50% - 1px);transform-origin:center bottom;position:absolute;will-change:transform;z-index:1}.v-time-picker-clock__hand:before{background:transparent;border-width:2px;border-style:solid;border-color:currentColor;border-radius:100%;width:10px;height:10px;content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%,-50%)}.v-time-picker-clock__hand:after{content:"";position:absolute;height:8px;width:8px;top:100%;left:50%;border-radius:100%;background-color:currentColor;transform:translate(-50%,-50%)}.v-time-picker-clock__hand--inner:after{height:14px}.v-time-picker-clock--readonly{pointer-events:none}.v-time-picker-clock .v-time-picker-clock__item--disabled{opacity:var(--v-disabled-opacity)}.v-picker--full-width .v-time-picker-clock__container{max-width:290px}.v-time-picker-clock__inner{position:absolute;bottom:27px;left:27px;right:27px;top:27px}.v-time-picker-clock__item{align-items:center;border-radius:100%;cursor:default;display:flex;font-size:16px;justify-content:center;height:40px;position:absolute;text-align:center;width:40px;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%)}.v-time-picker-clock__item>span{z-index:1}.v-time-picker-clock__item:before,.v-time-picker-clock__item:after{content:"";border-radius:100%;position:absolute;top:50%;left:50%;height:14px;width:14px;transform:translate(-50%,-50%)}.v-time-picker-clock__item:after,.v-time-picker-clock__item:before{height:40px;width:40px}.v-time-picker-clock__item--active{cursor:default;z-index:2}.v-time-picker-clock__item--disabled{pointer-events:none}.v-picker--landscape .v-time-picker-clock__container{flex-direction:row}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-time-picker-controls{display:flex;align-items:center;justify-content:center;font-size:.875rem;padding-top:4px;padding-bottom:4px;margin-inline:24px;margin-bottom:18px}.v-time-picker-controls__text{padding-bottom:12px}.v-time-picker-controls__time{display:flex;white-space:nowrap;direction:ltr;justify-content:center}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn{width:96px;height:80px;font-size:56px}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn__active{background:rgb(var(--v-theme-primary))}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn.v-time-picker-controls__time--with-ampm__btn{width:96px;height:80px}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn.v-time-picker-controls__time--with-seconds__btn{width:64px;height:80px;font-size:40px}.v-time-picker-controls__time__separator{font-size:56px;height:80px;width:24px;text-align:center}.v-time-picker-controls__time__separator.v-time-picker-controls--with-seconds__time__separator{height:80px;font-size:56px}.v-time-picker-controls__ampm{margin-left:12px;align-self:flex-end;display:flex;flex-direction:column;font-size:18px;text-transform:uppercase}.v-time-picker-controls__ampm--readonly{pointer-events:none}.v-time-picker-controls__ampm--readonly .v-picker__title__btn.v-picker__title__btn--active{opacity:.6}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default{font-size:18px;padding:0 8px;min-width:52px;height:40px}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default.v-time-picker-controls__ampm__am{border-radius:4px 4px 0 0;border:1px solid}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default.v-time-picker-controls__ampm__pm{border-radius:0 0 4px 4px;border:1px solid;border-top:none}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default__active{background:rgb(var(--v-theme-primary))}.v-picker__title--landscape .v-time-picker-controls{flex-direction:column;justify-content:center;height:100%}.v-picker__title--landscape .v-time-picker-controls__time{text-align:right}.v-picker__title--landscape .v-time-picker-controls__time .v-picker__title__btn,.v-picker__title--landscape .v-time-picker-controls__time span{height:55px;font-size:55px}.v-picker__title--landscape .v-time-picker-controls__ampm{margin:16px 0 0;align-self:initial;text-align:center}.v-picker--time .v-picker__title--landscape{padding:0}.v-picker--time .v-picker__title--landscape .v-time-picker-controls__time{text-align:center}.border-b[data-v-87e82d7e]{border-bottom:1px solid rgba(0,0,0,.12)}.border-b[data-v-87e82d7e]:last-child{border-bottom:none} diff --git a/assets/examschedule-Czp1n8x5.js b/assets/examschedule-Czp1n8x5.js new file mode 100644 index 0000000..eee3c00 --- /dev/null +++ b/assets/examschedule-Czp1n8x5.js @@ -0,0 +1,2 @@ +import{g as ke,p as xe,an as T,a8 as We,a5 as Ge,al as A,aq as Re,c as _e,i as g,n as Ee,e as R,aK as Xe,a7 as Ae,d as l,y,t as r,aj as Qe,aL as Ze,av as Be,E as ne,aM as be,_ as Fe,M as z,A as P,o as v,j as x,B as b,w as n,v as C,C as D,O as Ce,F as te,G as le,P as pe,X as Oe,z as E,l as M,D as $e,q as B,x as q,aN as et,aO as tt,K as lt,ad as nt,W as ae,H as we,N as at,Y as it,S as ot,aP as st,k as rt}from"./index-B01HL2YE.js";import{V as ie}from"./VAlert-C_dUaWCb.js";import{V as Je}from"./VSkeletonLoader-sErXiQwV.js";import{V as ut}from"./VTooltip-B8rVhLY6.js";import{V as ve,b as dt}from"./VChip-DGb8BoIB.js";import{V as U,a as Q}from"./VRow-CmZZJImz.js";import{V as Z}from"./VTextField-DDMIr0_j.js";import{V as mt}from"./VTextarea-BaoCeePe.js";import{V as Ie}from"./VMenu-3aVeBIH6.js";import{a as Pe,m as ct,V as Ue}from"./VDatePicker-Jh1kvgOm.js";import{V as ft}from"./VContainer-yTxlmOws.js";function W(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(e,"0")}const gt=xe({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:t=>t},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),ze=ke()({name:"VTimePickerClock",props:gt(),emits:{change:t=>!0,input:t=>!0},setup(t,e){let{emit:i}=e;const u=T(null),a=T(null),o=T(void 0),s=T(!1),m=T(null),f=T(null),I=Xe(d=>i("change",d),750),{textColorClasses:oe,textColorStyles:F}=We(()=>t.color),{backgroundColorClasses:_,backgroundColorStyles:he}=Ge(()=>t.color),K=A(()=>t.max-t.min+1),L=A(()=>t.double?K.value/2:K.value),H=A(()=>360/L.value),se=A(()=>H.value*Math.PI/180),S=A(()=>t.modelValue==null?t.min:t.modelValue),$=A(()=>.62),re=A(()=>{const d=[];for(let h=t.min;h<=t.max;h=h+t.step)d.push(h);return d});Re(()=>t.modelValue,d=>{o.value=d});function ue(d){o.value!==d&&(o.value=d),i("input",d)}function O(d){return!t.allowedValues||t.allowedValues(d)}function de(d){if(!t.scrollable||t.disabled)return;d.preventDefault();const h=Math.sign(-d.deltaY||1);let w=S.value;do w=w+h,w=(w-t.min+K.value)%K.value+t.min;while(!O(w)&&w!==S.value);w!==t.displayedValue&&ue(w),I(w)}function me(d){return t.double&&d-t.min>=L.value}function ee(d){return me(d)?$.value:1}function ye(d){const h=t.rotate*Math.PI/180;return{x:Math.sin((d-t.min)*se.value+h)*ee(d),y:-Math.cos((d-t.min)*se.value+h)*ee(d)}}function ce(d,h){const w=(Math.round(d/H.value)+(h?L.value:0))%K.value+t.min;return d<360-H.value/2?w:h?t.max-L.value+1:t.min}function c(d){const{x:h,y:w}=ye(d);return{left:`${Math.round(50+h*50)}%`,top:`${Math.round(50+w*50)}%`}}function k(d,h){const w=h.x-d.x,G=h.y-d.y;return Math.sqrt(w*w+G*G)}function V(d,h){const w=2*Math.atan2(h.y-d.y-k(d,h),h.x-d.x);return Math.abs(w*180/Math.PI)}function p(d){m.value===null&&(m.value=d),f.value=d,ue(d)}function N(d){var Se,Ne;if(d.preventDefault(),!s.value&&d.type!=="click"||!u.value)return;const{width:h,top:w,left:G}=(Se=u.value)==null?void 0:Se.getBoundingClientRect(),{width:Y}=((Ne=a.value)==null?void 0:Ne.getBoundingClientRect())??{width:0},{clientX:fe,clientY:Ke}="touches"in d?d.touches[0]:d,De={x:h/2,y:-h/2},Ve={x:fe-G,y:w-Ke},Te=Math.round(V(De,Ve)-t.rotate+360)%360,Me=t.double&&k(De,Ve)<(Y+Y*$.value)/4,Ye=Math.ceil(15/H.value);let X;for(let ge=0;geg("div",{class:R([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":t.modelValue==null,"v-time-picker-clock--readonly":t.readonly}]),onMousedown:J,onTouchstart:J,onWheel:de,ref:u},[g("div",{class:"v-time-picker-clock__inner",ref:a},[g("div",{class:R([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":me(t.modelValue)},oe.value]),style:Ee([{transform:`rotate(${t.rotate+H.value*(S.value-t.min)}deg) scaleY(${ee(S.value)})`},F.value])},null),re.value.map(d=>{const h=d===S.value;return g("div",{class:R([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":h,"v-time-picker-clock__item--disabled":t.disabled||!O(d)},h&&_.value]),style:Ee([c(d),h&&he.value])},[g("span",null,[t.format(d)])])})])]))}}),vt=xe({ampm:Boolean,color:String,disabled:Boolean,hour:Number,minute:Number,second:Number,period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String},"VTimePickerControls"),Le=ke()({name:"VTimePickerControls",props:vt(),emits:{"update:period":t=>!0,"update:viewMode":t=>!0},setup(t,e){let{emit:i,slots:u}=e;const{t:a}=Ae();return _e(()=>{let o=t.hour;return t.ampm&&(o=o?(o-1)%12+1:12),g("div",{class:"v-time-picker-controls"},[g("div",{class:R({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-seconds":t.useSeconds})},[l(y,{active:t.viewMode==="hour",color:t.viewMode==="hour"?t.color:void 0,disabled:t.disabled,variant:"tonal",class:R({"v-time-picker-controls__time__btn":!0,"v-time-picker-controls__time--with-ampm__btn":t.ampm,"v-time-picker-controls__time--with-seconds__btn":t.useSeconds}),text:t.hour==null?"--":W(`${o}`),onClick:()=>i("update:viewMode","hour")},null),g("span",{class:R(["v-time-picker-controls__time__separator",{"v-time-picker-controls--with-seconds__time__separator":t.useSeconds}])},[r(":")]),l(y,{active:t.viewMode==="minute",color:t.viewMode==="minute"?t.color:void 0,class:R({"v-time-picker-controls__time__btn":!0,"v-time-picker-controls__time__btn__active":t.viewMode==="minute","v-time-picker-controls__time--with-ampm__btn":t.ampm,"v-time-picker-controls__time--with-seconds__btn":t.useSeconds}),disabled:t.disabled,variant:"tonal",text:t.minute==null?"--":W(t.minute),onClick:()=>i("update:viewMode","minute")},null),t.useSeconds&&g("span",{class:R(["v-time-picker-controls__time__separator",{"v-time-picker-controls--with-seconds__time__separator":t.useSeconds}]),key:"secondsDivider"},[r(":")]),t.useSeconds&&l(y,{key:"secondsVal",active:t.viewMode==="second",color:t.viewMode==="second"?t.color:void 0,variant:"tonal",onClick:()=>i("update:viewMode","second"),class:R({"v-time-picker-controls__time__btn":!0,"v-time-picker-controls__time__btn__active":t.viewMode==="second","v-time-picker-controls__time--with-seconds__btn":t.useSeconds}),disabled:t.disabled,text:t.second==null?"--":W(t.second)},null),t.ampm&&g("div",{class:"v-time-picker-controls__ampm"},[l(y,{active:t.period==="am",color:t.period==="am"?t.color:void 0,class:R({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":t.period==="am"}),disabled:t.disabled,text:a("$vuetify.timePicker.am"),variant:t.disabled&&t.period==="am"?"elevated":"tonal",onClick:()=>t.period!=="am"?i("update:period","am"):null},null),l(y,{active:t.period==="pm",color:t.period==="pm"?t.color:void 0,class:R({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":t.period==="pm"}),disabled:t.disabled,text:a("$vuetify.timePicker.pm"),variant:t.disabled&&t.period==="pm"?"elevated":"tonal",onClick:()=>t.period!=="pm"?i("update:period","pm"):null},null)])])])}),{}}}),ht=be(24),je=be(12),yt=je.map(t=>t+12);be(60);const Ct=xe({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],disabled:Boolean,format:{type:String,default:"ampm"},max:String,min:String,viewMode:{type:String,default:"hour"},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,...Be(ct({title:"$vuetify.timePicker.title"}),["landscape"])},"VTimePicker"),He=ke()({name:"VTimePicker",props:Ct(),emits:{"update:hour":t=>!0,"update:minute":t=>!0,"update:period":t=>!0,"update:second":t=>!0,"update:modelValue":t=>!0,"update:viewMode":t=>!0},setup(t,e){let{emit:i,slots:u}=e;const{t:a}=Ae(),o=T(null),s=T(null),m=T(null),f=T(null),I=T(null),oe=T(null),F=T("am"),_=Qe(t,"viewMode","hour"),he=T(null),K=T(null),L=A(()=>{let c;if(t.allowedHours instanceof Array?c=p=>t.allowedHours.includes(p):c=t.allowedHours,!t.min&&!t.max)return c;const k=t.min?Number(t.min.split(":")[0]):0,V=t.max?Number(t.max.split(":")[0]):23;return p=>p>=Number(k)&&p<=Number(V)&&(!c||c(p))}),H=A(()=>{let c;const k=!L.value||o.value===null||L.value(o.value);if(t.allowedMinutes instanceof Array?c=h=>t.allowedMinutes.includes(h):c=t.allowedMinutes,!t.min&&!t.max)return k?c:()=>!1;const[V,p]=t.min?t.min.split(":").map(Number):[0,0],[N,J]=t.max?t.max.split(":").map(Number):[23,59],j=V*60+Number(p),d=N*60+Number(J);return h=>{const w=60*o.value+h;return w>=j&&w<=d&&k&&(!c||c(h))}}),se=A(()=>{let c;const V=(!L.value||o.value===null||L.value(o.value))&&(!H.value||s.value===null||H.value(s.value));if(t.allowedSeconds instanceof Array?c=Y=>t.allowedSeconds.includes(Y):c=t.allowedSeconds,!t.min&&!t.max)return V?c:()=>!1;const[p,N,J]=t.min?t.min.split(":").map(Number):[0,0,0],[j,d,h]=t.max?t.max.split(":").map(Number):[23,59,59],w=p*3600+N*60+Number(J||0),G=j*3600+d*60+Number(h||0);return Y=>{const fe=3600*o.value+60*s.value+Y;return fe>=w&&fe<=G&&V&&(!c||c(Y))}}),S=A(()=>t.format==="ampm");Re(()=>t.modelValue,c=>de(c)),Ze(()=>{de(t.modelValue)});function $(){return o.value!=null&&s.value!=null&&(!t.useSeconds||m.value!=null)?`${W(o.value)}:${W(s.value)}`+(t.useSeconds?`:${W(m.value)}`:""):null}function re(){const c=$();c!==null&&i("update:modelValue",c)}function ue(c){return c?(c-1)%12+1:12}function O(c,k){return c%12+(k==="pm"?12:0)}function de(c){if(c==null||c==="")o.value=null,s.value=null,m.value=null;else if(c instanceof Date)o.value=c.getHours(),s.value=c.getMinutes(),m.value=c.getSeconds();else{const[k,,V,,p,N]=c.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);o.value=N?O(parseInt(k,10),N):parseInt(k,10),s.value=parseInt(V,10),m.value=parseInt(p||0,10)}F.value=o.value==null||o.value<12?"am":"pm"}function me(c,k){const V=L.value;if(!V)return k;const p=S.value?k<12?je:yt:ht;return((p.find(J=>V((J+k)%p.length+p[0]))||0)+k)%p.length+p[0]}function ee(c){if(F.value=c,o.value!=null){const k=o.value+(F.value==="am"?-12:12);o.value=me("hour",k)}return i("update:period",c),re(),!0}function ye(c){_.value==="hour"?o.value=S.value?O(c,F.value):c:_.value==="minute"?s.value=c:m.value=c}function ce(c){switch(_.value||"hour"){case"hour":i("update:hour",c);break;case"minute":i("update:minute",c);break;case"second":i("update:second",c);break}const k=o.value!==null&&s.value!==null&&(t.useSeconds?m.value!==null:!0);_.value==="hour"?_.value="minute":t.useSeconds&&_.value==="minute"&&(_.value="second"),!(o.value===f.value&&s.value===I.value&&(!t.useSeconds||m.value===oe.value)||$()===null)&&(f.value=o.value,I.value=s.value,t.useSeconds&&(oe.value=m.value),k&&re())}_e(()=>{const c=Pe.filterProps(t),k=Le.filterProps(t),V=ze.filterProps(Be(t,["format","modelValue","min","max"]));return l(Pe,ne(c,{color:void 0,class:["v-time-picker",t.class],style:t.style}),{title:()=>{var p;return((p=u.title)==null?void 0:p.call(u))??g("div",{class:"v-time-picker__title"},[a(t.title)])},header:()=>l(Le,ne(k,{ampm:S.value,hour:o.value,minute:s.value,period:F.value,second:m.value,viewMode:_.value,"onUpdate:period":p=>ee(p),"onUpdate:viewMode":p=>_.value=p,ref:he}),null),default:()=>l(ze,ne(V,{allowedValues:_.value==="hour"?L.value:_.value==="minute"?H.value:se.value,double:_.value==="hour"&&!S.value,format:_.value==="hour"?S.value?ue:p=>p:p=>W(p,2),max:_.value==="hour"?S.value&&F.value==="am"?11:23:59,min:_.value==="hour"&&S.value&&F.value==="pm"?12:0,size:20,step:_.value==="hour"?1:5,modelValue:_.value==="hour"?o.value:_.value==="minute"?s.value:m.value,onChange:ce,onInput:ye,ref:K}),null),actions:u.actions})})}}),pt={name:"ExamConfigEditor",props:{configId:{type:String,required:!0},dialogMode:{type:Boolean,default:!1}},emits:["saved","error","opened","deleted"],data(){return{localConfig:{examName:"",message:"",room:"",examInfos:[]},loading:!1,saving:!1,deleting:!1,deleteDialog:!1,error:"",success:"",isEditMode:!1,showJsonPreview:!1,defaultExamTips:["请保持卷面整洁,字迹清晰,诚信应考。在听到终考铃时立刻起立,停止作答。","沉着 冷静 细心 守记","答题不守记,自己两行泪。"]}},computed:{formattedJson(){try{return JSON.stringify(this.localConfig,null,2)}catch(t){return console.error("格式化JSON时出错:",t),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(t=>t.name&&t.start&&t.end)},validationErrors(){const t=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&t.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&t.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)t.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((e,i)=>{const u=`第${i+1}个科目`;if((!e.name||e.name.trim()==="")&&t.push(`${u}的名称不能为空`),e.start||t.push(`${u}的开始时间不能为空`),e.end||t.push(`${u}的结束时间不能为空`),e.start&&e.end){const a=new Date(e.start),o=new Date(e.end);isNaN(a.getTime())&&t.push(`${u}的开始时间格式不正确`),isNaN(o.getTime())&&t.push(`${u}的结束时间格式不正确`),!isNaN(a.getTime())&&!isNaN(o.getTime())&&(o<=a&&t.push(`${u}的结束时间必须晚于开始时间`),(o-a)/(1e3*60*60)>24&&t.push(`${u}的考试时长不能超过24小时`))}});for(let e=0;em&&t.push(`第${e+1}个科目与第${i+1}个科目的时间有重叠`)}}}return t},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(t){t&&this.loadConfig()}}},methods:{async loadConfig(){var t;this.loading=!0,this.error="";try{const e=await z.loadData(`es_${this.configId}`);e?(this.localConfig={examName:"",message:"",room:"",examInfos:[],...e},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(i=>{if(i.start){const u=this.parseDateTime(i.start);i.start=this.formatDateTimeLocal(u),i.startDate=u,i.startTime=this.formatTimeOnly(u),i.startFormatted=this.formatDisplayDateTime(u),i.startDateMenu=!1}if(i.end){const u=this.parseDateTime(i.end);i.end=this.formatDateTimeLocal(u),i.endDate=u,i.endTime=this.formatTimeOnly(u),i.endFormatted=this.formatDisplayDateTime(u),i.endDateMenu=!1}})):(console.error("加载配置失败:",e),this.error="加载配置失败: "+(((t=e.error)==null?void 0:t.message)||"未知错误"),this.$emit("error",this.error))}catch(e){console.error(e),this.error="加载配置失败: "+e.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var t;if(!this.isValidConfig){const e=this.validationErrors;return e.length>0?this.error=`配置验证失败:${e.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const e={...this.localConfig,examInfos:this.localConfig.examInfos.map(u=>({...u,start:this.formatDisplayDateTime(u.start),end:this.formatDisplayDateTime(u.end)}))},i=await z.saveData(`es_${this.configId}`,e);return i?(this.success="配置保存成功",this.$emit("saved",e),!0):(this.error="保存配置失败: "+(((t=i.error)==null?void 0:t.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(e){return this.error="保存配置失败: "+e,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){const t=new Date,e=new Date(t.getTime()+60*60*1e3),i=new Date(e.getTime()+2*60*60*1e3),u={name:"新科目",start:this.formatDateTimeLocal(e),end:this.formatDateTimeLocal(i),startDate:e,startTime:this.formatTimeOnly(e),startFormatted:this.formatDisplayDateTime(e),startDateMenu:!1,endDate:i,endTime:this.formatTimeOnly(i),endFormatted:this.formatDisplayDateTime(i),endDateMenu:!1};this.localConfig.examInfos.push(u)},removeExamInfo(t){this.localConfig.examInfos.splice(t,1)},moveExamInfo(t,e){const i=t+e;if(i>=0&&ia.id!==this.configId);if(!await z.saveData("es_list",i))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(t){console.error("删除配置失败:",t),this.$emit("deleted",{success:!1,message:"删除失败: "+t.message})}finally{this.deleting=!1}}}},wt={class:"d-flex align-center"},kt={class:"d-flex align-center"},xt={key:4,class:"d-flex justify-space-between align-center mb-4"},_t={class:"d-flex align-center gap-2"},bt={key:5},Dt={class:"mb-8"},Vt={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},Tt={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},Mt={key:0,class:"mb-8"},St={class:"d-flex align-center"},Nt={class:""},Et={class:"mb-3"},It={class:"d-flex align-center mb-1"},Pt={class:"text-h6 font-weight-medium text-success"},Ut={class:"d-flex align-center mb-1"},zt={class:"text-h6 font-weight-medium text-error"},Lt={key:1,class:"text-center py-12"},Ht={class:"json-preview"},Rt={key:6},At={class:"text-caption text-medium-emphasis ml-2"},Bt={class:"w-100"},Ft={key:1,class:"text-center py-8"};function Ot(t,e,i,u,a,o){return v(),P("div",null,[a.error?(v(),x(ie,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=s=>a.error="")},{default:n(()=>[g("div",wt,[l(C,{class:"mr-2"},{default:n(()=>[...e[9]||(e[9]=[r("mdi-alert-circle",-1)])]),_:1}),r(" "+D(a.error),1)])]),_:1})):b("",!0),a.success?(v(),x(ie,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=s=>a.success="")},{default:n(()=>[g("div",kt,[l(C,{class:"mr-2"},{default:n(()=>[...e[10]||(e[10]=[r("mdi-check-circle",-1)])]),_:1}),r(" "+D(a.success),1)])]),_:1})):b("",!0),o.hasValidationErrors&&!a.loading?(v(),x(ie,{key:2,type:"warning",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start"},{default:n(()=>[e[12]||(e[12]=g("div",{class:"d-flex align-center"},[g("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),l(Ce,{density:"compact",class:"bg-transparent"},{default:n(()=>[(v(!0),P(te,null,le(o.validationErrors,(s,m)=>(v(),x(pe,{key:m,class:"px-0 py-0"},{prepend:n(()=>[l(C,{size:"small",color:"warning"},{default:n(()=>[...e[11]||(e[11]=[r("mdi-circle-small",-1)])]),_:1})]),default:n(()=>[l(Oe,{class:"text-body-2"},{default:n(()=>[r(D(s),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),a.loading?(v(),x(M,{key:3,class:"my-4",outlined:""},{default:n(()=>[l(E,null,{default:n(()=>[l(Je,{type:"article",class:"mx-auto"})]),_:1})]),_:1})):b("",!0),a.loading?b("",!0):(v(),P("div",xt,[g("div",_t,[l(y,{color:"success",variant:"elevated","prepend-icon":"mdi-open-in-new",onClick:o.openConfig,class:"mr-2 text-none",disabled:!o.isValidConfig},{default:n(()=>[...e[13]||(e[13]=[r(" 打开 ExamSchedule ",-1)])]),_:1},8,["onClick","disabled"]),o.isValidConfig?b("",!0):(v(),x(ut,{key:0,activator:"parent",location:"bottom"},{default:n(()=>[...e[14]||(e[14]=[g("span",null,"请先完善配置信息后再打开",-1)])]),_:1}))]),l($e,{modelValue:a.isEditMode,"onUpdate:modelValue":e[2]||(e[2]=s=>a.isEditMode=s),color:"primary",variant:"outlined",divided:""},{default:n(()=>[l(y,{class:"text-error","prepend-icon":"mdi-delete",onClick:o.confirmDelete},{default:n(()=>[...e[15]||(e[15]=[r(" 删除配置 ",-1)])]),_:1},8,["onClick"]),l(y,{value:!1,"prepend-icon":"mdi-eye"},{default:n(()=>[...e[16]||(e[16]=[r(" 预览 ",-1)])]),_:1}),l(y,{value:!0,"prepend-icon":"mdi-pencil"},{default:n(()=>[...e[17]||(e[17]=[r(" 编辑 ",-1)])]),_:1})]),_:1},8,["modelValue"])])),!a.loading&&!a.isEditMode?(v(),P("div",bt,[g("div",Dt,[g("div",Vt,D(a.localConfig.examName||"未设置考试名称"),1),g("div",Tt,D(a.localConfig.message||"未设置考试提示"),1),a.localConfig.room?(v(),x(ve,{key:0,size:"large",class:"px-4 py-2"},{default:n(()=>[l(C,{start:""},{default:n(()=>[...e[18]||(e[18]=[r("mdi-home",-1)])]),_:1}),r(" 考场:"+D(a.localConfig.room),1)]),_:1})):b("",!0)]),a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(v(),P("div",Mt,[l(Q,null,{default:n(()=>[(v(!0),P(te,null,le(a.localConfig.examInfos,(s,m)=>(v(),x(U,{key:m,cols:"12",md:"6",lg:"4"},{default:n(()=>[l(M,{variant:"tonal",class:"h-100",hover:""},{default:n(()=>[l(B,{class:"bg-primary-lighten-5 pa-4"},{default:n(()=>[g("div",St,[l(C,{class:"mr-2"},{default:n(()=>[...e[19]||(e[19]=[r("mdi-book-open-page-variant",-1)])]),_:1}),g("span",Nt,D(s.name||"未设置科目"),1)])]),_:2},1024),l(E,{class:"pa-4"},{default:n(()=>[g("div",Et,[g("div",It,[l(C,{size:"small",class:"mr-2",color:"success"},{default:n(()=>[...e[20]||(e[20]=[r("mdi-clock-start",-1)])]),_:1}),e[21]||(e[21]=g("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),g("div",Pt,D(s.startFormatted||s.start||"未设置"),1)]),g("div",null,[g("div",Ut,[l(C,{size:"small",class:"mr-2",color:"error"},{default:n(()=>[...e[22]||(e[22]=[r("mdi-clock-end",-1)])]),_:1}),e[23]||(e[23]=g("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),g("div",zt,D(s.endFormatted||s.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(v(),P("div",Lt,[l(C,{size:"80",color:"grey-lighten-2",class:"mb-4"},{default:n(()=>[...e[24]||(e[24]=[r(" mdi-calendar-blank ",-1)])]),_:1}),e[27]||(e[27]=g("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),e[28]||(e[28]=g("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),l(y,{color:"primary",variant:"outlined",onClick:o.quickEdit},{default:n(()=>[l(C,{start:""},{default:n(()=>[...e[25]||(e[25]=[r("mdi-plus",-1)])]),_:1}),e[26]||(e[26]=r(" 立即添加 ",-1))]),_:1},8,["onClick"])])),l(M,{class:"mb-4",elevation:"2",border:""},{default:n(()=>[l(B,{class:"d-flex align-center text-white cursor-pointer",onClick:e[3]||(e[3]=s=>a.showJsonPreview=!a.showJsonPreview)},{default:n(()=>[l(C,{class:"mr-2"},{default:n(()=>[...e[29]||(e[29]=[r("mdi-code-json",-1)])]),_:1}),e[31]||(e[31]=r(" JSON配置预览 ",-1)),l(q),l(y,{color:"white",variant:"outlined","prepend-icon":"mdi-content-copy",size:"small",onClick:et(o.copyToClipboard,["stop"])},{default:n(()=>[...e[30]||(e[30]=[r(" 复制 ",-1)])]),_:1},8,["onClick"]),l(y,{color:"white",variant:"text",size:"small",icon:a.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2"},null,8,["icon"])]),_:1}),l(tt,null,{default:n(()=>[lt(l(E,{class:"pa-4"},{default:n(()=>[l(M,{variant:"tonal",class:"pa-4"},{default:n(()=>[g("pre",Ht,[g("code",null,D(o.formattedJson),1)])]),_:1})]),_:1},512),[[nt,a.showJsonPreview]])]),_:1})]),_:1})])):b("",!0),!a.loading&&a.isEditMode?(v(),P("div",Rt,[l(M,{class:"mb-4",elevation:"1",border:""},{default:n(()=>[l(B,{class:"d-flex align-center"},{default:n(()=>[l(C,{class:"mr-2"},{default:n(()=>[...e[32]||(e[32]=[r("mdi-information",-1)])]),_:1}),e[33]||(e[33]=r(" 基本信息 ",-1))]),_:1}),l(E,{class:"pa-4"},{default:n(()=>[l(Q,null,{default:n(()=>[l(U,{cols:"12",md:"6"},{default:n(()=>[l(Z,{modelValue:a.localConfig.examName,"onUpdate:modelValue":e[4]||(e[4]=s=>a.localConfig.examName=s),label:"考试名称","prepend-inner-icon":"mdi-calendar-text",variant:"outlined",rules:[s=>!!s||"考试名称不能为空"],required:""},null,8,["modelValue","rules"])]),_:1}),l(U,{cols:"12",md:"6"},{default:n(()=>[l(Z,{modelValue:a.localConfig.room,"onUpdate:modelValue":e[5]||(e[5]=s=>a.localConfig.room=s),label:"考场号(标准ES尚不支持此配置)","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),l(mt,{modelValue:a.localConfig.message,"onUpdate:modelValue":e[6]||(e[6]=s=>a.localConfig.message=s),label:"考试提示","prepend-inner-icon":"mdi-message-text",variant:"outlined",rows:"3",placeholder:"输入考试相关的提示信息..."},null,8,["modelValue"]),!a.localConfig.message||a.localConfig.message.trim()===""?(v(),x(dt,{key:0,class:"mt-2",column:""},{default:n(()=>[(v(!0),P(te,null,le(a.defaultExamTips,(s,m)=>(v(),x(ve,{key:m,color:"primary",variant:"outlined",size:"small",onClick:f=>o.selectDefaultTip(s),class:"ma-1"},{default:n(()=>[l(C,{start:"",size:"small"},{default:n(()=>[...e[34]||(e[34]=[r("mdi-plus",-1)])]),_:1}),r(" "+D(s),1)]),_:2},1032,["onClick"]))),128))]),_:1})):b("",!0),g("div",At,[l(C,{size:"small",class:"mr-1"},{default:n(()=>[...e[35]||(e[35]=[r("mdi-lightbulb-outline",-1)])]),_:1}),e[36]||(e[36]=r(" 点击上方选项快速添加常用考试提示 ",-1))])]),_:1})]),_:1}),l(M,{class:"mb-4",elevation:"1",border:""},{default:n(()=>[l(B,{class:"d-flex align-center"},{default:n(()=>[l(C,{class:"mr-2"},{default:n(()=>[...e[37]||(e[37]=[r("mdi-format-list-bulleted",-1)])]),_:1}),e[39]||(e[39]=r(" 考试科目安排 ",-1)),l(q),l(y,{color:"primary","prepend-icon":"mdi-plus",size:"small",onClick:o.addExamInfo},{default:n(()=>[...e[38]||(e[38]=[r(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),l(E,{class:"pa-0"},{default:n(()=>[a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(v(),x(Ce,{key:0},{default:n(()=>[(v(!0),P(te,null,le(a.localConfig.examInfos,(s,m)=>(v(),x(pe,{key:m,class:"border-b pa-4"},{default:n(()=>[g("div",Bt,[l(Q,null,{default:n(()=>[l(U,{cols:"12",md:"4"},{default:n(()=>[l(Z,{modelValue:s.name,"onUpdate:modelValue":f=>s.name=f,label:"科目名称","prepend-inner-icon":"mdi-book",variant:"outlined",density:"comfortable",rules:[f=>!!f||"科目名称不能为空"]},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:2},1024),l(U,{cols:"12",md:"3"},{default:n(()=>[l(Ie,{modelValue:s.startDateMenu,"onUpdate:modelValue":f=>s.startDateMenu=f,"close-on-content-click":!1,transition:"scale-transition","offset-y":"","min-width":"auto"},{activator:n(({props:f})=>[l(Z,ne({modelValue:s.startFormatted,"onUpdate:modelValue":I=>s.startFormatted=I,label:"开始时间","prepend-inner-icon":"mdi-clock-start",variant:"outlined",density:"comfortable",readonly:""},{ref_for:!0},f,{rules:[I=>!!I||"开始时间不能为空"]}),null,16,["modelValue","onUpdate:modelValue","rules"])]),default:n(()=>[l(M,{"min-width":"600"},{default:n(()=>[l(B,{class:"text-center py-2"},{default:n(()=>[...e[40]||(e[40]=[r(" 选择开始时间 ",-1)])]),_:1}),l(E,{class:"pa-0"},{default:n(()=>[l(Q,{"no-gutters":""},{default:n(()=>[l(U,{cols:"6",class:"border-e"},{default:n(()=>[l(Ue,{modelValue:s.startDate,"onUpdate:modelValue":[f=>s.startDate=f,f=>o.updateStartDateTime(m)],color:"primary",locale:"zh-cn","show-adjacent-months":"",elevation:"0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),l(U,{cols:"6"},{default:n(()=>[l(He,{modelValue:s.startTime,"onUpdate:modelValue":[f=>s.startTime=f,f=>o.updateStartDateTime(m)],color:"primary",format:"24hr",scrollable:"",elevation:"0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),l(ae,null,{default:n(()=>[l(q),l(y,{color:"grey",variant:"text",onClick:f=>s.startDateMenu=!1},{default:n(()=>[...e[41]||(e[41]=[r(" 取消 ",-1)])]),_:2},1032,["onClick"]),l(y,{color:"primary",variant:"text",onClick:f=>s.startDateMenu=!1},{default:n(()=>[...e[42]||(e[42]=[r(" 确定 ",-1)])]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),l(U,{cols:"12",md:"3"},{default:n(()=>[l(Ie,{modelValue:s.endDateMenu,"onUpdate:modelValue":f=>s.endDateMenu=f,"close-on-content-click":!1,transition:"scale-transition","offset-y":"","min-width":"auto"},{activator:n(({props:f})=>[l(Z,ne({modelValue:s.endFormatted,"onUpdate:modelValue":I=>s.endFormatted=I,label:"结束时间","prepend-inner-icon":"mdi-clock-end",variant:"outlined",density:"comfortable",readonly:""},{ref_for:!0},f,{rules:[I=>!!I||"结束时间不能为空"]}),null,16,["modelValue","onUpdate:modelValue","rules"])]),default:n(()=>[l(M,{"min-width":"600"},{default:n(()=>[l(B,{class:"text-center py-2"},{default:n(()=>[...e[43]||(e[43]=[r(" 选择结束时间 ",-1)])]),_:1}),l(E,{class:"pa-0"},{default:n(()=>[l(Q,{"no-gutters":""},{default:n(()=>[l(U,{cols:"6",class:"border-e"},{default:n(()=>[l(Ue,{modelValue:s.endDate,"onUpdate:modelValue":[f=>s.endDate=f,f=>o.updateEndDateTime(m)],color:"primary",locale:"zh-cn","show-adjacent-months":"",elevation:"0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),l(U,{cols:"6"},{default:n(()=>[l(He,{modelValue:s.endTime,"onUpdate:modelValue":[f=>s.endTime=f,f=>o.updateEndDateTime(m)],color:"primary",format:"24hr",scrollable:"",elevation:"0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),l(ae,null,{default:n(()=>[l(q),l(y,{color:"grey",variant:"text",onClick:f=>s.endDateMenu=!1},{default:n(()=>[...e[44]||(e[44]=[r(" 取消 ",-1)])]),_:2},1032,["onClick"]),l(y,{color:"primary",variant:"text",onClick:f=>s.endDateMenu=!1},{default:n(()=>[...e[45]||(e[45]=[r(" 确定 ",-1)])]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),l(U,{cols:"12",md:"2",class:"d-flex align-center"},{default:n(()=>[l(y,{icon:"mdi-delete",color:"error",variant:"text",size:"small",onClick:f=>o.removeExamInfo(m)},{default:n(()=>[l(C,null,{default:n(()=>[...e[46]||(e[46]=[r("mdi-delete",-1)])]),_:1})]),_:2},1032,["onClick"]),m>0?(v(),x(y,{key:0,icon:"mdi-arrow-up",color:"primary",variant:"text",size:"small",onClick:f=>o.moveExamInfo(m,-1)},{default:n(()=>[l(C,null,{default:n(()=>[...e[47]||(e[47]=[r("mdi-arrow-up",-1)])]),_:1})]),_:2},1032,["onClick"])):b("",!0),mo.moveExamInfo(m,1)},{default:n(()=>[l(C,null,{default:n(()=>[...e[48]||(e[48]=[r("mdi-arrow-down",-1)])]),_:1})]),_:2},1032,["onClick"])):b("",!0)]),_:2},1024)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(v(),P("div",Ft,[l(C,{size:"48",color:"grey-lighten-1",class:"mb-2"},{default:n(()=>[...e[49]||(e[49]=[r(" mdi-book-plus ",-1)])]),_:1}),e[51]||(e[51]=g("p",{class:"text-body-2 text-grey-darken-1 mb-4"},' 暂无考试科目,点击"添加科目"按钮开始添加 ',-1)),l(y,{color:"primary","prepend-icon":"mdi-plus",onClick:o.addExamInfo},{default:n(()=>[...e[50]||(e[50]=[r(" 添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):b("",!0),l(we,{modelValue:a.deleteDialog,"onUpdate:modelValue":e[8]||(e[8]=s=>a.deleteDialog=s),"max-width":"400"},{default:n(()=>[l(M,null,{default:n(()=>[l(B,{class:"d-flex align-center"},{default:n(()=>[l(C,{color:"error",class:"mr-2"},{default:n(()=>[...e[52]||(e[52]=[r("mdi-delete-alert",-1)])]),_:1}),e[53]||(e[53]=r(" 确认删除配置 ",-1))]),_:1}),l(E,null,{default:n(()=>[e[54]||(e[54]=r(" 确定要删除配置 ",-1)),g("strong",null,D(a.localConfig.examName||`配置 ${i.configId}`),1),e[55]||(e[55]=r(" 吗? ",-1)),e[56]||(e[56]=g("br",null,null,-1)),e[57]||(e[57]=g("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),l(ae,null,{default:n(()=>[l(q),l(y,{color:"grey",variant:"text",onClick:e[7]||(e[7]=s=>a.deleteDialog=!1)},{default:n(()=>[...e[58]||(e[58]=[r(" 取消 ",-1)])]),_:1}),l(y,{color:"error",variant:"outlined",onClick:o.deleteConfig,loading:a.deleting},{default:n(()=>[...e[59]||(e[59]=[r(" 删除 ",-1)])]),_:1},8,["onClick","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const qe=Fe(pt,[["render",Ot],["__scopeId","data-v-a9cabba0"]]),Jt={name:"ExamScheduleManager",components:{ExamConfigEditor:qe},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1}},async mounted(){await this.loadConfigs()},methods:{async initializeExampleData(){const t=[{id:"exam_example_001",examName:"期末考试安排",message:"请按时参加考试,携带学生证和身份证",examInfos:[{name:"数学",start:"2025/01/15 09:00",end:"2025/01/15 11:00"},{name:"英语",start:"2025/01/16 14:00",end:"2025/01/16 16:00"}]},{id:"exam_example_002",examName:"期中考试安排",message:"考试期间请保持安静",examInfos:[{name:"物理",start:"2025/01/20 10:00",end:"2025/01/20 12:00"},{name:"化学",start:"2025/01/21 14:00",end:"2025/01/21 16:00"}]},{id:"exam_example_003",examName:"模拟考试安排",message:"模拟考试,请认真对待",examInfos:[{name:"语文",start:"2025/01/25 09:00",end:"2025/01/25 11:30"}]}],e=t.map(i=>({id:i.id}));await z.saveData("es_list",e);for(let i of t){const u={...i};delete u.id,await z.saveData(`es_${i.id}`,u)}return t},async loadConfigs(){this.loading=!0,this.error="";try{const t=await z.loadData("es_list");if(t&&t&&t.length>0){this.configs=[];for(let e of t)try{const i=await z.loadData(`es_${e.id}`);i&&this.configs.push({id:e.id,...i})}catch(i){console.warn(`加载配置 es_${e.id} 失败:`,i)}}else this.configs=await this.initializeExampleData()}catch(t){this.error="加载配置列表失败: "+t.message,this.configs=[]}finally{this.loading=!1}},async createNewConfig(){var i,u;const t=Date.now().toString(),e={examName:"新考试配置",message:"请编辑此配置",room:rt("server.classNumber")||"待定",examInfos:[{name:"科目1",start:"2025/08/29 16:27",end:"2025/08/29 17:27"}]};try{const a=await z.saveData(`es_${t}`,e);if(!a)throw new Error(((i=a.error)==null?void 0:i.message)||"保存失败");this.configs.push({id:t,...e});const o=this.configs.map(f=>({id:f.id})),s=await z.saveData("es_list",o);if(!s)throw new Error(((u=s.error)==null?void 0:u.message)||"更新列表失败");this.success="新配置创建成功";const m=this.configs.find(f=>f.id===t);m&&(this.editingConfig=m,this.editDialog=!0)}catch(a){this.error="创建配置失败: "+a.message}},showRenameDialog(t){this.configToRename=t,this.newConfigName=t.examName||`配置 ${t.id}`,this.renameDialog=!0},async renameConfig(){var t;if(!(!this.configToRename||!this.newConfigName)){this.renaming=!0;try{const e={examName:this.newConfigName,message:this.configToRename.message,examInfos:this.configToRename.examInfos},i=await z.saveData(`es_${this.configToRename.id}`,e);if(!i)throw new Error(((t=i.error)==null?void 0:t.message)||"保存失败");const u=this.configs.findIndex(a=>a.id===this.configToRename.id);u!==-1&&(this.configs[u].examName=this.newConfigName),this.success="配置重命名成功",this.renameDialog=!1,this.configToRename=null,this.newConfigName=""}catch(e){this.error="重命名配置失败: "+e.message}finally{this.renaming=!1}}},showEditDialog(t){this.editingConfig=t,this.editDialog=!0},closeEditDialog(){this.editDialog=!1,this.editingConfig=null,this.saving=!1},async saveConfigInDialog(){if(this.$refs.configEditor){this.saving=!0;try{await this.$refs.configEditor.saveConfig()}catch(t){console.error("保存配置失败:",t)}finally{this.saving=!1}}},onConfigSaved(){this.success="配置保存成功!",this.loadConfigs(),setTimeout(()=>{this.success=""},3e3)},onConfigError(t){this.error=t||"保存配置时发生错误",setTimeout(()=>{this.error=""},5e3)},onConfigOpened(t){this.success="配置已在新窗口中打开",setTimeout(()=>{this.success=""},3e3)},onConfigDeleted(t){t.success?(this.success=t.message||"配置删除成功",this.editDialog=!1,this.loadConfigs()):this.error=t.message||"删除失败"}}},jt={class:"d-flex align-center"},qt={class:"d-flex align-center"},Kt={class:"d-flex justify-space-between align-center mb-4"},Yt={class:"d-flex align-center"},Wt={class:"d-flex align-center"},Gt={class:"d-flex align-center mt-1"},Xt={class:"d-flex align-center"};function Qt(t,e,i,u,a,o){const s=qe;return v(),x(ft,{class:"fill-height"},{default:n(()=>[l(Q,null,{default:n(()=>[l(U,{cols:"12"},{default:n(()=>[l(M,{class:"elevation-12",border:""},{default:n(()=>[l(B,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:n(()=>[l(C,{color:"white",class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[r("mdi-calendar-check",-1)])]),_:1}),e[7]||(e[7]=r(" 考试看板 ",-1))]),_:1}),l(at,null,{default:n(()=>[...e[8]||(e[8]=[r(" 不只是考试看板。 ",-1)])]),_:1}),l(E,null,{default:n(()=>[a.error?(v(),x(ie,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=m=>a.error="")},{default:n(()=>[g("div",jt,[l(C,{class:"mr-2"},{default:n(()=>[...e[9]||(e[9]=[r("mdi-alert-circle",-1)])]),_:1}),r(" "+D(a.error),1)])]),_:1})):b("",!0),a.success?(v(),x(ie,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=m=>a.success="")},{default:n(()=>[g("div",qt,[l(C,{class:"mr-2"},{default:n(()=>[...e[10]||(e[10]=[r("mdi-check-circle",-1)])]),_:1}),r(" "+D(a.success),1)])]),_:1})):b("",!0),g("div",Kt,[g("div",Yt,[l(y,{color:"primary","prepend-icon":"mdi-plus",class:"mr-2",onClick:o.createNewConfig},{default:n(()=>[...e[11]||(e[11]=[r(" 新建配置 ",-1)])]),_:1},8,["onClick"]),l(y,{color:"info","prepend-icon":"mdi-refresh",loading:a.loading,onClick:o.loadConfigs,variant:"outlined"},{default:n(()=>[...e[12]||(e[12]=[r(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),a.configs.length>0?(v(),x(ve,{key:0,color:"primary","prepend-icon":"mdi-format-list-numbered"},{default:n(()=>[r(D(a.configs.length)+" 个配置 ",1)]),_:1})):b("",!0)]),a.loading?(v(),x(M,{key:2,class:"my-4",outlined:""},{default:n(()=>[l(E,null,{default:n(()=>[l(Je,{type:"list-item-avatar-two-line@3",class:"mx-auto"})]),_:1})]),_:1})):b("",!0),!a.loading&&a.configs.length>0?(v(),x(M,{key:3,class:"my-4",elevation:"1"},{default:n(()=>[l(B,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:n(()=>[l(C,{class:"mr-2"},{default:n(()=>[...e[13]||(e[13]=[r("mdi-format-list-bulleted",-1)])]),_:1}),e[14]||(e[14]=g("span",{class:"font-weight-bold"},"配置列表",-1))]),_:1}),l(Ce,null,{default:n(()=>[(v(!0),P(te,null,le(a.configs,m=>(v(),x(pe,{key:m.id,class:"border-b",style:{cursor:"pointer"},onClick:f=>o.showEditDialog(m)},{prepend:n(()=>[l(ot,{color:"primary",class:"mr-2"},{default:n(()=>[l(C,{color:"white"},{default:n(()=>[...e[15]||(e[15]=[r("mdi-calendar-text",-1)])]),_:1})]),_:1})]),append:n(()=>[g("div",Xt,[l(y,{icon:"mdi-pencil",size:"small",color:"primary",variant:"text",class:"mr-1",onClick:f=>o.showEditDialog(m)},{default:n(()=>[l(C,null,{default:n(()=>[...e[18]||(e[18]=[r("mdi-pencil",-1)])]),_:1})]),_:2},1032,["onClick"]),l(y,{icon:"mdi-eye",size:"small",color:"info",variant:"text",class:"mr-1",onClick:f=>o.showEditDialog(m)},{default:n(()=>[l(C,null,{default:n(()=>[...e[19]||(e[19]=[r("mdi-eye",-1)])]),_:1})]),_:2},1032,["onClick"])])]),default:n(()=>[l(Oe,{class:"font-weight-medium"},{default:n(()=>[r(D(m.examName||`配置 ${m.id}`),1)]),_:2},1024),l(it,{class:"text-caption mt-1"},{default:n(()=>[g("div",Wt,[l(C,{size:"small",class:"mr-1"},{default:n(()=>[...e[16]||(e[16]=[r("mdi-information-outline",-1)])]),_:1}),r(" "+D(m.message||"无描述"),1)]),g("div",Gt,[l(C,{size:"small",class:"mr-1"},{default:n(()=>[...e[17]||(e[17]=[r("mdi-book-multiple",-1)])]),_:1}),r(" "+D(m.examInfos?m.examInfos.length:0)+" 堂考试 ",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):b("",!0),!a.loading&&a.configs.length===0?(v(),x(M,{key:4,class:"my-4",elevation:"1"},{default:n(()=>[l(E,{class:"text-center py-8"},{default:n(()=>[l(C,{size:"64",color:"grey-lighten-1",class:"mb-4"},{default:n(()=>[...e[20]||(e[20]=[r(" mdi-calendar-blank ",-1)])]),_:1}),e[22]||(e[22]=g("h3",{class:"text-h6 mb-2 text-grey-darken-1"},"暂无配置",-1)),e[23]||(e[23]=g("p",{class:"text-body-2 text-grey-darken-1 mb-4"},' 点击"新建配置"按钮创建您的第一个考试配置 ',-1)),l(y,{color:"primary","prepend-icon":"mdi-plus",onClick:o.createNewConfig},{default:n(()=>[...e[21]||(e[21]=[r(" 新建配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})):b("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),l(we,{modelValue:a.renameDialog,"onUpdate:modelValue":e[4]||(e[4]=m=>a.renameDialog=m),"max-width":"500"},{default:n(()=>[l(M,null,{default:n(()=>[l(B,{class:"d-flex align-center"},{default:n(()=>[l(C,{color:"primary",class:"mr-2"},{default:n(()=>[...e[24]||(e[24]=[r("mdi-rename-box",-1)])]),_:1}),e[25]||(e[25]=r(" 重命名配置 ",-1))]),_:1}),l(E,null,{default:n(()=>[l(Z,{modelValue:a.newConfigName,"onUpdate:modelValue":e[2]||(e[2]=m=>a.newConfigName=m),label:"配置名称","prepend-inner-icon":"mdi-calendar-text",variant:"outlined",rules:[m=>!!m||"配置名称不能为空"],onKeyup:st(o.renameConfig,["enter"])},null,8,["modelValue","rules","onKeyup"])]),_:1}),l(ae,null,{default:n(()=>[l(q),l(y,{color:"grey",variant:"text",onClick:e[3]||(e[3]=m=>a.renameDialog=!1)},{default:n(()=>[...e[26]||(e[26]=[r(" 取消 ",-1)])]),_:1}),l(y,{color:"primary",variant:"outlined",loading:a.renaming,onClick:o.renameConfig,disabled:!a.newConfigName},{default:n(()=>[...e[27]||(e[27]=[r(" 确认 ",-1)])]),_:1},8,["loading","onClick","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(we,{modelValue:a.editDialog,"onUpdate:modelValue":e[5]||(e[5]=m=>a.editDialog=m),"max-width":"1200",persistent:""},{default:n(()=>[l(M,null,{default:n(()=>[l(B,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:n(()=>[l(C,{color:"white",class:"mr-2"},{default:n(()=>[...e[28]||(e[28]=[r("mdi-pencil",-1)])]),_:1}),e[30]||(e[30]=r(" 编辑考试配置 ",-1)),l(q),a.editingConfig?(v(),x(ve,{key:0,color:"white","text-color":"primary",size:"small",class:"mr-2"},{default:n(()=>[r(" ID: "+D(a.editingConfig.id),1)]),_:1})):b("",!0),l(y,{icon:"mdi-close",color:"white",variant:"text",onClick:o.closeEditDialog},{default:n(()=>[l(C,null,{default:n(()=>[...e[29]||(e[29]=[r("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),l(E,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:n(()=>[a.editingConfig?(v(),x(s,{key:0,"config-id":a.editingConfig.id,ref:"configEditor","dialog-mode":!0,onSaved:o.onConfigSaved,onError:o.onConfigError,onOpened:o.onConfigOpened,onDeleted:o.onConfigDeleted},null,8,["config-id","onSaved","onError","onOpened","onDeleted"])):b("",!0)]),_:1}),l(ae,{class:"pa-4"},{default:n(()=>[l(y,{color:"grey",variant:"outlined","prepend-icon":"mdi-close",onClick:o.closeEditDialog},{default:n(()=>[...e[31]||(e[31]=[r(" 关闭 ",-1)])]),_:1},8,["onClick"]),l(q),l(y,{color:"success",variant:"outlined","prepend-icon":"mdi-content-save",loading:a.saving,onClick:o.saveConfigInDialog},{default:n(()=>[...e[32]||(e[32]=[r(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const ul=Fe(Jt,[["render",Qt],["__scopeId","data-v-87e82d7e"]]);export{ul as default}; diff --git a/assets/index-B01HL2YE.js b/assets/index-B01HL2YE.js new file mode 100644 index 0000000..74d4ce4 --- /dev/null +++ b/assets/index-B01HL2YE.js @@ -0,0 +1,39 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-BkVDT-XT.js","./default-DwCVtVFc.css","./index-D5vdCSHD.js","./VTextField-DDMIr0_j.js","./VTextField-C30ZV5fj.css","./VTooltip-B8rVhLY6.js","./VTooltip-DNuxJ6UK.css","./VChip-DGb8BoIB.js","./VChip-D4JJLP8c.css","./VMenu-3aVeBIH6.js","./VMenu-C31D-C2L.css","./VDatePicker-Jh1kvgOm.js","./VDatePicker-DebS4W0V.css","./index-thJlQnLx.js","./VAppBarTitle-CQLnBe80.js","./VAppBarTitle-Becd2iU0.css","./index-Cxe0vzNV.css","./VTextarea-BaoCeePe.js","./VTextarea-DZzaBsH2.css","./VContainer-yTxlmOws.js","./VRow-CmZZJImz.js","./index-ujRm1vtV.css","./404-BJm7Jo-i.js","./CacheManagement-BBgWlMor.js","./VAlert-C_dUaWCb.js","./VAlert-DdOzIUJV.css","./VExpansionPanels-B9rY3beZ.js","./VExpansionPanels-CVwpiXq1.css","./VSkeletonLoader-sErXiQwV.js","./VSkeletonLoader-BQFFZ-Yb.css","./cses2wakeup-DptYMSoX.js","./VTabsWindowItem-BbeSXQBC.js","./VCheckboxBtn-DzDw8U-d.js","./VCheckboxBtn-D9cm454A.css","./VTabsWindowItem-C_NeCn4Z.css","./VSwitch-uLPjXKnU.js","./VSwitch-DdP_-uRS.css","./VDataTable-B-hmgcj0.js","./VDataTable-CY06eJ1q.css","./cses2wakeup-4B-2OEXD.css","./DataMigration-Db9udzL3.js","./DataMigration-CCX2M6jB.css","./examschedule-Czp1n8x5.js","./examschedule-CvP7g5Ky.css","./index-HJ4AKYAs.js","./_id_-BYSFipi2.js","./settings-BDKTM0jc.js","./settings-Bu2v050q.css"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** +* @vue/shared v3.5.20 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ma(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ee={},fr=[],Jt=()=>{},df=()=>!1,ki=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ba=e=>e.startsWith("onUpdate:"),He=Object.assign,Fa=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yg=Object.prototype.hasOwnProperty,Se=(e,t)=>yg.call(e,t),ne=Array.isArray,dr=e=>Ii(e)==="[object Map]",mf=e=>Ii(e)==="[object Set]",ie=e=>typeof e=="function",Me=e=>typeof e=="string",mn=e=>typeof e=="symbol",Re=e=>e!==null&&typeof e=="object",hf=e=>(Re(e)||ie(e))&&ie(e.then)&&ie(e.catch),gf=Object.prototype.toString,Ii=e=>gf.call(e),bg=e=>Ii(e).slice(8,-1),vf=e=>Ii(e)==="[object Object]",$a=e=>Me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Jr=Ma(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Di=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},wg=/-(\w)/g,ct=Di(e=>e.replace(wg,(t,n)=>n?n.toUpperCase():"")),Sg=/\B([A-Z])/g,Rn=Di(e=>e.replace(Sg,"-$1").toLowerCase()),Rr=Di(e=>e.charAt(0).toUpperCase()+e.slice(1)),so=Di(e=>e?`on${Rr(e)}`:""),_n=(e,t)=>!Object.is(e,t),Xs=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Vo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Cg=e=>{const t=Me(e)?Number(e):NaN;return isNaN(t)?e:t};let Bl;const Li=()=>Bl||(Bl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Pe(e){if(ne(e)){const t={};for(let n=0;n{if(n){const r=n.split(xg);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function pe(e){let t="";if(Me(e))t=e;else if(ne(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Ot=e=>Me(e)?e:e==null?"":ne(e)||Re(e)&&(e.toString===gf||!ie(e.toString))?bf(e)?Ot(e.value):JSON.stringify(e,wf,2):String(e),wf=(e,t)=>bf(t)?wf(e,t.value):dr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[io(r,i)+" =>"]=s,n),{})}:mf(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>io(n))}:mn(t)?io(t):Re(t)&&!ne(t)&&!vf(t)?String(t):t,io=(e,t="")=>{var n;return mn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.20 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Qe;class Sf{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Qe,!t&&Qe&&(this.index=(Qe.scopes||(Qe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Qe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Zr){let t=Zr;for(Zr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Xr;){let t=Xr;for(Xr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Af(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Tf(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Ha(r),Pg(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function jo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rf(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Rf(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===os)||(e.globalVersion=os,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!jo(e))))return;e.flags|=2;const t=e.dep,n=Te,r=kt;Te=e,kt=!0;try{Af(e);const s=e.fn(e._value);(t.version===0||_n(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Te=n,kt=r,Tf(e),e.flags&=-3}}function Ha(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ha(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Pg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let kt=!0;const Pf=[];function fn(){Pf.push(kt),kt=!1}function dn(){const e=Pf.pop();kt=e===void 0?!0:e}function Fl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Te;Te=void 0;try{t()}finally{Te=n}}}let os=0;class Og{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ua{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Te||!kt||Te===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Te)n=this.activeLink=new Og(Te,this),Te.deps?(n.prevDep=Te.depsTail,Te.depsTail.nextDep=n,Te.depsTail=n):Te.deps=Te.depsTail=n,Of(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Te.depsTail,n.nextDep=void 0,Te.depsTail.nextDep=n,Te.depsTail=n,Te.deps===n&&(Te.deps=r)}return n}trigger(t){this.version++,os++,this.notify(t)}notify(t){Va();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ja()}}}function Of(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Of(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ui=new WeakMap,zn=Symbol(""),Ho=Symbol(""),as=Symbol("");function et(e,t,n){if(kt&&Te){let r=ui.get(e);r||ui.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Ua),s.map=r,s.key=n),s.track()}}function ln(e,t,n,r,s,i){const o=ui.get(e);if(!o){os++;return}const a=l=>{l&&l.trigger()};if(Va(),t==="clear")o.forEach(a);else{const l=ne(e),u=l&&$a(n);if(l&&n==="length"){const c=Number(r);o.forEach((f,d)=>{(d==="length"||d===as||!mn(d)&&d>=c)&&a(f)})}else switch((n!==void 0||o.has(void 0))&&a(o.get(n)),u&&a(o.get(as)),t){case"add":l?u&&a(o.get("length")):(a(o.get(zn)),dr(e)&&a(o.get(Ho)));break;case"delete":l||(a(o.get(zn)),dr(e)&&a(o.get(Ho)));break;case"set":dr(e)&&a(o.get(zn));break}}ja()}function kg(e,t){const n=ui.get(e);return n&&n.get(t)}function tr(e){const t=ee(e);return t===e?t:(et(t,"iterate",as),xt(e)?t:t.map(Ye))}function Ni(e){return et(e=ee(e),"iterate",as),e}const Ig={__proto__:null,[Symbol.iterator](){return ao(this,Symbol.iterator,Ye)},concat(...e){return tr(this).concat(...e.map(t=>ne(t)?tr(t):t))},entries(){return ao(this,"entries",e=>(e[1]=Ye(e[1]),e))},every(e,t){return tn(this,"every",e,t,void 0,arguments)},filter(e,t){return tn(this,"filter",e,t,n=>n.map(Ye),arguments)},find(e,t){return tn(this,"find",e,t,Ye,arguments)},findIndex(e,t){return tn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return tn(this,"findLast",e,t,Ye,arguments)},findLastIndex(e,t){return tn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return tn(this,"forEach",e,t,void 0,arguments)},includes(...e){return lo(this,"includes",e)},indexOf(...e){return lo(this,"indexOf",e)},join(e){return tr(this).join(e)},lastIndexOf(...e){return lo(this,"lastIndexOf",e)},map(e,t){return tn(this,"map",e,t,void 0,arguments)},pop(){return $r(this,"pop")},push(...e){return $r(this,"push",e)},reduce(e,...t){return $l(this,"reduce",e,t)},reduceRight(e,...t){return $l(this,"reduceRight",e,t)},shift(){return $r(this,"shift")},some(e,t){return tn(this,"some",e,t,void 0,arguments)},splice(...e){return $r(this,"splice",e)},toReversed(){return tr(this).toReversed()},toSorted(e){return tr(this).toSorted(e)},toSpliced(...e){return tr(this).toSpliced(...e)},unshift(...e){return $r(this,"unshift",e)},values(){return ao(this,"values",Ye)}};function ao(e,t,n){const r=Ni(e),s=r[t]();return r!==e&&!xt(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.value&&(i.value=n(i.value)),i}),s}const Dg=Array.prototype;function tn(e,t,n,r,s,i){const o=Ni(e),a=o!==e&&!xt(e),l=o[t];if(l!==Dg[t]){const f=l.apply(e,i);return a?Ye(f):f}let u=n;o!==e&&(a?u=function(f,d){return n.call(this,Ye(f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(o,u,r);return a&&s?s(c):c}function $l(e,t,n,r){const s=Ni(e);let i=n;return s!==e&&(xt(e)?n.length>3&&(i=function(o,a,l){return n.call(this,o,a,l,e)}):i=function(o,a,l){return n.call(this,o,Ye(a),l,e)}),s[t](i,...r)}function lo(e,t,n){const r=ee(e);et(r,"iterate",as);const s=r[t](...n);return(s===-1||s===!1)&&Ka(n[0])?(n[0]=ee(n[0]),r[t](...n)):s}function $r(e,t,n=[]){fn(),Va();const r=ee(e)[t].apply(e,n);return ja(),dn(),r}const Lg=Ma("__proto__,__v_isRef,__isVue"),kf=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(mn));function Ng(e){mn(e)||(e=String(e));const t=ee(this);return et(t,"has",e),t.hasOwnProperty(e)}class If{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?zg:Mf:i?Nf:Lf).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=ne(t);if(!s){let l;if(o&&(l=Ig[n]))return l;if(n==="hasOwnProperty")return Ng}const a=Reflect.get(t,n,$e(t)?t:r);return(mn(n)?kf.has(n):Lg(n))||(s||et(t,"get",n),i)?a:$e(a)?o&&$a(n)?a:a.value:Re(a)?s?Cs(a):ze(a):a}}class Df extends If{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];if(!this._isShallow){const l=xn(i);if(!xt(r)&&!xn(r)&&(i=ee(i),r=ee(r)),!ne(t)&&$e(i)&&!$e(r))return l||(i.value=r),!0}const o=ne(t)&&$a(n)?Number(n)e,$s=e=>Reflect.getPrototypeOf(e);function Vg(e,t,n){return function(...r){const s=this.__v_raw,i=ee(s),o=dr(i),a=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,u=s[e](...r),c=n?Uo:t?fi:Ye;return!t&&et(i,"iterate",l?Ho:zn),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}},[Symbol.iterator](){return this}}}}function Vs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function jg(e,t){const n={get(s){const i=this.__v_raw,o=ee(i),a=ee(s);e||(_n(s,a)&&et(o,"get",s),et(o,"get",a));const{has:l}=$s(o),u=t?Uo:e?fi:Ye;if(l.call(o,s))return u(i.get(s));if(l.call(o,a))return u(i.get(a));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&et(ee(s),"iterate",zn),s.size},has(s){const i=this.__v_raw,o=ee(i),a=ee(s);return e||(_n(s,a)&&et(o,"has",s),et(o,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const o=this,a=o.__v_raw,l=ee(a),u=t?Uo:e?fi:Ye;return!e&&et(l,"iterate",zn),a.forEach((c,f)=>s.call(i,u(c),u(f),o))}};return He(n,e?{add:Vs("add"),set:Vs("set"),delete:Vs("delete"),clear:Vs("clear")}:{add(s){!t&&!xt(s)&&!xn(s)&&(s=ee(s));const i=ee(this);return $s(i).has.call(i,s)||(i.add(s),ln(i,"add",s,s)),this},set(s,i){!t&&!xt(i)&&!xn(i)&&(i=ee(i));const o=ee(this),{has:a,get:l}=$s(o);let u=a.call(o,s);u||(s=ee(s),u=a.call(o,s));const c=l.call(o,s);return o.set(s,i),u?_n(i,c)&&ln(o,"set",s,i):ln(o,"add",s,i),this},delete(s){const i=ee(this),{has:o,get:a}=$s(i);let l=o.call(i,s);l||(s=ee(s),l=o.call(i,s)),a&&a.call(i,s);const u=i.delete(s);return l&&ln(i,"delete",s,void 0),u},clear(){const s=ee(this),i=s.size!==0,o=s.clear();return i&&ln(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Vg(s,e,t)}),n}function Wa(e,t){const n=jg(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Se(n,s)&&s in r?n:r,s,i)}const Hg={get:Wa(!1,!1)},Ug={get:Wa(!1,!0)},Wg={get:Wa(!0,!1)};const Lf=new WeakMap,Nf=new WeakMap,Mf=new WeakMap,zg=new WeakMap;function Kg(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qg(e){return e.__v_skip||!Object.isExtensible(e)?0:Kg(bg(e))}function ze(e){return xn(e)?e:za(e,!1,Bg,Hg,Lf)}function Bf(e){return za(e,!1,$g,Ug,Nf)}function Cs(e){return za(e,!0,Fg,Wg,Mf)}function za(e,t,n,r,s){if(!Re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=qg(e);if(i===0)return e;const o=s.get(e);if(o)return o;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function mr(e){return xn(e)?mr(e.__v_raw):!!(e&&e.__v_isReactive)}function xn(e){return!!(e&&e.__v_isReadonly)}function xt(e){return!!(e&&e.__v_isShallow)}function Ka(e){return e?!!e.__v_raw:!1}function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}function Ff(e){return!Se(e,"__v_skip")&&Object.isExtensible(e)&&pf(e,"__v_skip",!0),e}const Ye=e=>Re(e)?ze(e):e,fi=e=>Re(e)?Cs(e):e;function $e(e){return e?e.__v_isRef===!0:!1}function fe(e){return $f(e,!1)}function ce(e){return $f(e,!0)}function $f(e,t){return $e(e)?e:new Gg(e,t)}class Gg{constructor(t,n){this.dep=new Ua,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ee(t),this._value=n?t:Ye(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||xt(t)||xn(t);t=r?t:ee(t),_n(t,n)&&(this._rawValue=t,this._value=r?t:Ye(t),this.dep.trigger())}}function yt(e){return $e(e)?e.value:e}function Qt(e){return ie(e)?e():yt(e)}const Yg={get:(e,t,n)=>t==="__v_raw"?e:yt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return $e(s)&&!$e(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Vf(e){return mr(e)?e:new Proxy(e,Yg)}function jf(e){const t=ne(e)?new Array(e.length):{};for(const n in e)t[n]=Hf(e,n);return t}class Jg{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return kg(ee(this._object),this._key)}}class Xg{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function K(e,t,n){return $e(e)?e:ie(e)?new Xg(e):Re(e)&&arguments.length>1?Hf(e,t,n):fe(e)}function Hf(e,t,n){const r=e[t];return $e(r)?r:new Jg(e,t,n)}class Zg{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ua(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=os-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Te!==this)return Ef(this,!0),!0}get value(){const t=this.dep.track();return Rf(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Qg(e,t,n=!1){let r,s;return ie(e)?r=e:(r=e.get,s=e.set),new Zg(r,s,n)}const js={},di=new WeakMap;let Vn;function ev(e,t=!1,n=Vn){if(n){let r=di.get(n);r||di.set(n,r=[]),r.push(e)}}function tv(e,t,n=Ee){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:a,call:l}=n,u=E=>s?E:xt(E)||s===!1||s===0?cn(E,1):cn(E);let c,f,d,m,g=!1,h=!1;if($e(e)?(f=()=>e.value,g=xt(e)):mr(e)?(f=()=>u(e),g=!0):ne(e)?(h=!0,g=e.some(E=>mr(E)||xt(E)),f=()=>e.map(E=>{if($e(E))return E.value;if(mr(E))return u(E);if(ie(E))return l?l(E,2):E()})):ie(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){fn();try{d()}finally{dn()}}const E=Vn;Vn=c;try{return l?l(e,3,[m]):e(m)}finally{Vn=E}}:f=Jt,t&&s){const E=f,D=s===!0?1/0:s;f=()=>cn(E(),D)}const b=Cf(),v=()=>{c.stop(),b&&b.active&&Fa(b.effects,c)};if(i&&t){const E=t;t=(...D)=>{E(...D),v()}}let w=h?new Array(e.length).fill(js):js;const S=E=>{if(!(!(c.flags&1)||!c.dirty&&!E))if(t){const D=c.run();if(s||g||(h?D.some((O,B)=>_n(O,w[B])):_n(D,w))){d&&d();const O=Vn;Vn=c;try{const B=[D,w===js?void 0:h&&w[0]===js?[]:w,m];w=D,l?l(t,3,B):t(...B)}finally{Vn=O}}}else c.run()};return a&&a(S),c=new _f(f),c.scheduler=o?()=>o(S,!1):S,m=E=>ev(E,!1,c),d=c.onStop=()=>{const E=di.get(c);if(E){if(l)l(E,4);else for(const D of E)D();di.delete(c)}},t?r?S(!0):w=c.run():o?o(S.bind(null,!0),!0):c.run(),v.pause=c.pause.bind(c),v.resume=c.resume.bind(c),v.stop=v,v}function cn(e,t=1/0,n){if(t<=0||!Re(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,$e(e))cn(e.value,t,n);else if(ne(e))for(let r=0;r{cn(r,t,n)});else if(vf(e)){for(const r in e)cn(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&cn(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.20 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function _s(e,t,n,r){try{return r?e(...r):e()}catch(s){Mi(s,t,n)}}function It(e,t,n,r){if(ie(e)){const s=_s(e,t,n,r);return s&&hf(s)&&s.catch(i=>{Mi(i,t,n)}),s}if(ne(e)){const s=[];for(let i=0;i>>1,s=lt[r],i=ls(s);i=ls(n)?lt.push(e):lt.splice(rv(t),0,e),e.flags|=1,Wf()}}function Wf(){mi||(mi=Uf.then(Kf))}function sv(e){ne(e)?hr.push(...e):wn&&e.id===-1?wn.splice(ir+1,0,e):e.flags&1||(hr.push(e),e.flags|=1),Wf()}function Vl(e,t,n=Ut+1){for(;nls(n)-ls(r));if(hr.length=0,wn){wn.push(...t);return}for(wn=t,ir=0;ire.id==null?e.flags&2?-1:1/0:e.id;function Kf(e){try{for(Ut=0;Ut{r._d&&ec(-1);const i=hi(t);let o;try{o=e(...s)}finally{hi(i),r._d&&ec(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Jn(e,t){if(Xe===null)return e;const n=Hi(Xe),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,Qr=e=>e&&(e.disabled||e.disabled===""),jl=e=>e&&(e.defer||e.defer===""),Hl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ul=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Wo=(e,t)=>{const n=e&&e.to;return Me(n)?t?t(n):null:n},Jf={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,a,l,u){const{mc:c,pc:f,pbc:d,o:{insert:m,querySelector:g,createText:h,createComment:b}}=u,v=Qr(t.props);let{shapeFlag:w,children:S,dynamicChildren:E}=t;if(e==null){const D=t.el=h(""),O=t.anchor=h("");m(D,n,r),m(O,n,r);const B=(I,W)=>{w&16&&(s&&s.isCE&&(s.ce._teleportTarget=I),c(S,I,W,s,i,o,a,l))},T=()=>{const I=t.target=Wo(t.props,g),W=Xf(I,t,h,m);I&&(o!=="svg"&&Hl(I)?o="svg":o!=="mathml"&&Ul(I)&&(o="mathml"),v||(B(I,W),Zs(t,!1)))};v&&(B(n,O),Zs(t,!0)),jl(t.props)?(t.el.__isMounted=!1,at(()=>{T(),delete t.el.__isMounted},i)):T()}else{if(jl(t.props)&&e.el.__isMounted===!1){at(()=>{Jf.process(e,t,n,r,s,i,o,a,l,u)},i);return}t.el=e.el,t.targetStart=e.targetStart;const D=t.anchor=e.anchor,O=t.target=e.target,B=t.targetAnchor=e.targetAnchor,T=Qr(e.props),I=T?n:O,W=T?D:B;if(o==="svg"||Hl(O)?o="svg":(o==="mathml"||Ul(O))&&(o="mathml"),E?(d(e.dynamicChildren,E,I,s,i,o,a),Za(e,t,!0)):l||f(e,t,I,W,s,i,o,a,!1),v)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Hs(t,n,D,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const V=t.target=Wo(t.props,g);V&&Hs(t,V,null,u,0)}else T&&Hs(t,O,B,u,1);Zs(t,v)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:f,props:d}=e;if(f&&(s(u),s(c)),i&&s(l),o&16){const m=i||!Qr(d);for(let g=0;g{e.isMounted=!0}),Tt(()=>{e.isUnmounting=!0}),e}const Ct=[Function,Array],Qf={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ct,onEnter:Ct,onAfterEnter:Ct,onEnterCancelled:Ct,onBeforeLeave:Ct,onLeave:Ct,onAfterLeave:Ct,onLeaveCancelled:Ct,onBeforeAppear:Ct,onAppear:Ct,onAfterAppear:Ct,onAppearCancelled:Ct},ed=e=>{const t=e.subTree;return t.component?ed(t.component):t},av={name:"BaseTransition",props:Qf,setup(e,{slots:t}){const n=Es(),r=Zf();return()=>{const s=t.default&&Ga(t.default(),!0);if(!s||!s.length)return;const i=td(s),o=ee(e),{mode:a}=o;if(r.isLeaving)return co(i);const l=Wl(i);if(!l)return co(i);let u=cs(l,o,r,n,f=>u=f);l.type!==Je&&Xn(l,u);let c=n.subTree&&Wl(n.subTree);if(c&&c.type!==Je&&!Hn(l,c)&&ed(n).type!==Je){let f=cs(c,o,r,n);if(Xn(c,f),a==="out-in"&&l.type!==Je)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},co(i);a==="in-out"&&l.type!==Je?f.delayLeave=(d,m,g)=>{const h=nd(r,c);h[String(c.key)]=c,d[an]=()=>{m(),d[an]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{g(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return i}}};function td(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Je){t=n;break}}return t}const lv=av;function nd(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 cs(e,t,n,r,s){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:m,onAfterLeave:g,onLeaveCancelled:h,onBeforeAppear:b,onAppear:v,onAfterAppear:w,onAppearCancelled:S}=t,E=String(e.key),D=nd(n,e),O=(I,W)=>{I&&It(I,r,9,W)},B=(I,W)=>{const V=W[1];O(I,W),ne(I)?I.every(A=>A.length<=1)&&V():I.length<=1&&V()},T={mode:o,persisted:a,beforeEnter(I){let W=l;if(!n.isMounted)if(i)W=b||l;else return;I[an]&&I[an](!0);const V=D[E];V&&Hn(e,V)&&V.el[an]&&V.el[an](),O(W,[I])},enter(I){let W=u,V=c,A=f;if(!n.isMounted)if(i)W=v||u,V=w||c,A=S||f;else return;let N=!1;const J=I[Us]=X=>{N||(N=!0,X?O(A,[I]):O(V,[I]),T.delayedLeave&&T.delayedLeave(),I[Us]=void 0)};W?B(W,[I,J]):J()},leave(I,W){const V=String(e.key);if(I[Us]&&I[Us](!0),n.isUnmounting)return W();O(d,[I]);let A=!1;const N=I[an]=J=>{A||(A=!0,W(),J?O(h,[I]):O(g,[I]),I[an]=void 0,D[V]===e&&delete D[V])};D[V]=e,m?B(m,[I,N]):N()},clone(I){const W=cs(I,t,n,r,s);return s&&s(W),W}};return T}function co(e){if(Fi(e))return e=En(e),e.children=null,e}function Wl(e){if(!Fi(e))return Yf(e.type)&&e.children?td(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ie(n.default))return n.default()}}function Xn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Xn(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 Ga(e,t=!1,n){let r=[],s=0;for(let i=0;i1)for(let i=0;ies(g,t&&(ne(t)?t[h]:t),n,r,s));return}if(gr(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&es(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?Hi(r.component):r.el,o=s?null:i,{i:a,r:l}=e,u=t&&t.r,c=a.refs===Ee?a.refs={}:a.refs,f=a.setupState,d=ee(f),m=f===Ee?df:g=>Se(d,g);if(u!=null&&u!==l){if(Me(u))c[u]=null,m(u)&&(f[u]=null);else if($e(u)){u.value=null;const g=t;g.k&&(c[g.k]=null)}}if(ie(l))_s(l,a,12,[o,c]);else{const g=Me(l),h=$e(l);if(g||h){const b=()=>{if(e.f){const v=g?m(l)?f[l]:c[l]:l.value;if(s)ne(v)&&Fa(v,i);else if(ne(v))v.includes(i)||v.push(i);else if(g)c[l]=[i],m(l)&&(f[l]=c[l]);else{const w=[i];l.value=w,e.k&&(c[e.k]=w)}}else g?(c[l]=o,m(l)&&(f[l]=o)):h&&(l.value=o,e.k&&(c[e.k]=o))};o?(b.id=-1,at(b,n)):b()}}}Li().requestIdleCallback;Li().cancelIdleCallback;const gr=e=>!!e.type.__asyncLoader,Fi=e=>e.type.__isKeepAlive;function id(e,t){ad(e,"a",t)}function od(e,t){ad(e,"da",t)}function ad(e,t,n=tt){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if($i(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Fi(s.parent.vnode)&&cv(r,t,n,s),s=s.parent}}function cv(e,t,n,r){const s=$i(t,e,r,!0);ld(()=>{Fa(r[t],s)},n)}function $i(e,t,n=tt,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{fn();const a=As(n),l=It(t,n,e,o);return a(),dn(),l});return r?s.unshift(i):s.push(i),i}}const hn=e=>(t,n=tt)=>{(!fs||e==="sp")&&$i(e,(...r)=>t(...r),n)},Vi=hn("bm"),Pn=hn("m"),uv=hn("bu"),Ya=hn("u"),Tt=hn("bum"),ld=hn("um"),fv=hn("sp"),dv=hn("rtg"),mv=hn("rtc");function hv(e,t=tt){$i("ec",e,t)}const cd="components";function gv(e,t){return dd(cd,e,!0,t)||e}const ud=Symbol.for("v-ndc");function fd(e){return Me(e)?dd(cd,e,!1)||e:e||ud}function dd(e,t,n=!0,r=!1){const s=Xe||tt;if(s){const i=s.type;{const a=tp(i,!1);if(a&&(a===t||a===ct(t)||a===Rr(ct(t))))return i}const o=zl(s[e]||i[e],t)||zl(s.appContext[e],t);return!o&&r?i:o}}function zl(e,t){return e&&(e[t]||e[ct(t)]||e[Rr(ct(t))])}function vv(e,t,n,r){let s;const i=n,o=ne(e);if(o||Me(e)){const a=o&&mr(e);let l=!1,u=!1;a&&(l=!xt(e),u=xn(e),e=Ni(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,i));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l{const i=r.fn(...s);return i&&(i.key=r.key),i}:r.fn)}return e}function O_(e,t,n={},r,s){if(Xe.ce||Xe.parent&&gr(Xe.parent)&&Xe.parent.ce)return t!=="default"&&(n.name=t),_t(),Gt(Ie,null,[R("slot",n,r)],64);let i=e[t];i&&i._c&&(i._d=!1),_t();const o=i&&md(i(n)),a=n.key||o&&o.key,l=Gt(Ie,{key:(a&&!mn(a)?a:`_${t}`)+(!o&&r?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),l}function md(e){return e.some(t=>Cr(t)?!(t.type===Je||t.type===Ie&&!md(t.children)):!0)?e:null}const zo=e=>e?Id(e)?Hi(e):zo(e.parent):null,ts=He(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=>zo(e.parent),$root:e=>zo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>gd(e),$forceUpdate:e=>e.f||(e.f=()=>{qa(e.update)}),$nextTick:e=>e.n||(e.n=At.bind(e.proxy)),$watch:e=>Bv.bind(e)}),uo=(e,t)=>e!==Ee&&!e.__isScriptSetup&&Se(e,t),pv={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:l}=e;let u;if(t[0]!=="$"){const m=o[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(uo(r,t))return o[t]=1,r[t];if(s!==Ee&&Se(s,t))return o[t]=2,s[t];if((u=e.propsOptions[0])&&Se(u,t))return o[t]=3,i[t];if(n!==Ee&&Se(n,t))return o[t]=4,n[t];Ko&&(o[t]=0)}}const c=ts[t];let f,d;if(c)return t==="$attrs"&&et(e.attrs,"get",""),c(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Ee&&Se(n,t))return o[t]=4,n[t];if(d=l.config.globalProperties,Se(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return uo(s,t)?(s[t]=n,!0):r!==Ee&&Se(r,t)?(r[t]=n,!0):Se(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i,type:o}},a){let l,u;return!!(n[a]||e!==Ee&&a[0]!=="$"&&Se(e,a)||uo(t,a)||(l=i[0])&&Se(l,a)||Se(r,a)||Se(ts,a)||Se(s.config.globalProperties,a)||(u=o.__cssModules)&&u[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Se(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Kl(e){return ne(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ko=!0;function yv(e){const t=gd(e),n=e.proxy,r=e.ctx;Ko=!1,t.beforeCreate&&ql(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:m,updated:g,activated:h,deactivated:b,beforeDestroy:v,beforeUnmount:w,destroyed:S,unmounted:E,render:D,renderTracked:O,renderTriggered:B,errorCaptured:T,serverPrefetch:I,expose:W,inheritAttrs:V,components:A,directives:N,filters:J}=t;if(u&&bv(u,r,null),o)for(const oe in o){const se=o[oe];ie(se)&&(r[oe]=se.bind(n))}if(s){const oe=s.call(n,n);Re(oe)&&(e.data=ze(oe))}if(Ko=!0,i)for(const oe in i){const se=i[oe],Fe=ie(se)?se.bind(n,n):ie(se.get)?se.get.bind(n,n):Jt,Ce=!ie(se)&&ie(se.set)?se.set.bind(n):Jt,Le=M({get:Fe,set:Ce});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>Le.value,set:_e=>Le.value=_e})}if(a)for(const oe in a)hd(a[oe],r,n,oe);if(l){const oe=ie(l)?l.call(n):l;Reflect.ownKeys(oe).forEach(se=>{st(se,oe[se])})}c&&ql(c,e,"c");function re(oe,se){ne(se)?se.forEach(Fe=>oe(Fe.bind(n))):se&&oe(se.bind(n))}if(re(Vi,f),re(Pn,d),re(uv,m),re(Ya,g),re(id,h),re(od,b),re(hv,T),re(mv,O),re(dv,B),re(Tt,w),re(ld,E),re(fv,I),ne(W))if(W.length){const oe=e.exposed||(e.exposed={});W.forEach(se=>{Object.defineProperty(oe,se,{get:()=>n[se],set:Fe=>n[se]=Fe,enumerable:!0})})}else e.exposed||(e.exposed={});D&&e.render===Jt&&(e.render=D),V!=null&&(e.inheritAttrs=V),A&&(e.components=A),N&&(e.directives=N),I&&sd(e)}function bv(e,t,n=Jt){ne(e)&&(e=qo(e));for(const r in e){const s=e[r];let i;Re(s)?"default"in s?i=ye(s.from||r,s.default,!0):i=ye(s.from||r):i=ye(s),$e(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function ql(e,t,n){It(ne(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function hd(e,t,n,r){let s=r.includes(".")?Ad(n,r):()=>n[r];if(Me(e)){const i=t[e];ie(i)&&me(s,i)}else if(ie(e))me(s,e.bind(n));else if(Re(e))if(ne(e))e.forEach(i=>hd(i,t,n,r));else{const i=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(i)&&me(s,i,e)}}function gd(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>gi(l,u,o,!0)),gi(l,t,o)),Re(t)&&i.set(t,l),l}function gi(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&gi(e,i,n,!0),s&&s.forEach(o=>gi(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=wv[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const wv={data:Gl,props:Yl,emits:Yl,methods:Kr,computed:Kr,beforeCreate:ot,created:ot,beforeMount:ot,mounted:ot,beforeUpdate:ot,updated:ot,beforeDestroy:ot,beforeUnmount:ot,destroyed:ot,unmounted:ot,activated:ot,deactivated:ot,errorCaptured:ot,serverPrefetch:ot,components:Kr,directives:Kr,watch:Cv,provide:Gl,inject:Sv};function Gl(e,t){return t?e?function(){return He(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function Sv(e,t){return Kr(qo(e),qo(t))}function qo(e){if(ne(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(r&&r.proxy):t}}const pd={},yd=()=>Object.create(pd),bd=e=>Object.getPrototypeOf(e)===pd;function Ev(e,t,n,r=!1){const s={},i=yd();e.propsDefaults=Object.create(null),wd(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:Bf(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Av(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=ee(s),[l]=e.propsOptions;let u=!1;if((r||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,m]=Sd(f,t,!0);He(o,d),m&&a.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return Re(e)&&r.set(e,fr),fr;if(ne(i))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Xa=e=>ne(e)?e.map(zt):[zt(e)],Rv=(e,t,n)=>{if(t._n)return t;const r=We((...s)=>Xa(t(...s)),n);return r._c=!1,r},Cd=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ja(s))continue;const i=e[s];if(ie(i))t[s]=Rv(s,i,r);else if(i!=null){const o=Xa(i);t[s]=()=>o}}},_d=(e,t)=>{const n=Xa(t);e.slots.default=()=>n},xd=(e,t,n)=>{for(const r in t)(n||!Ja(r))&&(e[r]=t[r])},Pv=(e,t,n)=>{const r=e.slots=yd();if(e.vnode.shapeFlag&32){const s=t._;s?(xd(r,t,n),n&&pf(r,"_",s,!0)):Cd(t,r)}else t&&_d(e,t)},Ov=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=Ee;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:xd(s,t,n):(i=!t.$stable,Cd(t,s)),o=t}else t&&(_d(e,t),o={default:1});if(i)for(const a in s)!Ja(a)&&o[a]==null&&delete s[a]},at=Wv;function kv(e){return Iv(e)}function Iv(e,t){const n=Li();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:m=Jt,insertStaticContent:g}=e,h=(p,y,C,k=null,L=null,P=null,z=void 0,U=null,H=!!y.dynamicChildren)=>{if(p===y)return;p&&!Hn(p,y)&&(k=_(p),_e(p,L,P,!0),p=null),y.patchFlag===-2&&(H=!1,y.dynamicChildren=null);const{type:$,ref:te,shapeFlag:G}=y;switch($){case xs:b(p,y,C,k);break;case Je:v(p,y,C,k);break;case mo:p==null&&w(y,C,k,z);break;case Ie:A(p,y,C,k,L,P,z,U,H);break;default:G&1?D(p,y,C,k,L,P,z,U,H):G&6?N(p,y,C,k,L,P,z,U,H):(G&64||G&128)&&$.process(p,y,C,k,L,P,z,U,H,Y)}te!=null&&L?es(te,p&&p.ref,P,y||p,!y):te==null&&p&&p.ref!=null&&es(p.ref,null,P,p,!0)},b=(p,y,C,k)=>{if(p==null)r(y.el=a(y.children),C,k);else{const L=y.el=p.el;y.children!==p.children&&u(L,y.children)}},v=(p,y,C,k)=>{p==null?r(y.el=l(y.children||""),C,k):y.el=p.el},w=(p,y,C,k)=>{[p.el,p.anchor]=g(p.children,y,C,k,p.el,p.anchor)},S=({el:p,anchor:y},C,k)=>{let L;for(;p&&p!==y;)L=d(p),r(p,C,k),p=L;r(y,C,k)},E=({el:p,anchor:y})=>{let C;for(;p&&p!==y;)C=d(p),s(p),p=C;s(y)},D=(p,y,C,k,L,P,z,U,H)=>{y.type==="svg"?z="svg":y.type==="math"&&(z="mathml"),p==null?O(y,C,k,L,P,z,U,H):I(p,y,L,P,z,U,H)},O=(p,y,C,k,L,P,z,U)=>{let H,$;const{props:te,shapeFlag:G,transition:Q,dirs:ae}=p;if(H=p.el=o(p.type,P,te&&te.is,te),G&8?c(H,p.children):G&16&&T(p.children,H,null,k,L,fo(p,P),z,U),ae&&Dn(p,null,k,"created"),B(H,p,p.scopeId,z,k),te){for(const Ae in te)Ae!=="value"&&!Jr(Ae)&&i(H,Ae,null,te[Ae],P,k);"value"in te&&i(H,"value",null,te.value,P),($=te.onVnodeBeforeMount)&&Ft($,k,p)}ae&&Dn(p,null,k,"beforeMount");const ge=Dv(L,Q);ge&&Q.beforeEnter(H),r(H,y,C),(($=te&&te.onVnodeMounted)||ge||ae)&&at(()=>{$&&Ft($,k,p),ge&&Q.enter(H),ae&&Dn(p,null,k,"mounted")},L)},B=(p,y,C,k,L)=>{if(C&&m(p,C),k)for(let P=0;P{for(let $=H;${const U=y.el=p.el;let{patchFlag:H,dynamicChildren:$,dirs:te}=y;H|=p.patchFlag&16;const G=p.props||Ee,Q=y.props||Ee;let ae;if(C&&Ln(C,!1),(ae=Q.onVnodeBeforeUpdate)&&Ft(ae,C,y,p),te&&Dn(y,p,C,"beforeUpdate"),C&&Ln(C,!0),(G.innerHTML&&Q.innerHTML==null||G.textContent&&Q.textContent==null)&&c(U,""),$?W(p.dynamicChildren,$,U,C,k,fo(y,L),P):z||se(p,y,U,null,C,k,fo(y,L),P,!1),H>0){if(H&16)V(U,G,Q,C,L);else if(H&2&&G.class!==Q.class&&i(U,"class",null,Q.class,L),H&4&&i(U,"style",G.style,Q.style,L),H&8){const ge=y.dynamicProps;for(let Ae=0;Ae{ae&&Ft(ae,C,y,p),te&&Dn(y,p,C,"updated")},k)},W=(p,y,C,k,L,P,z)=>{for(let U=0;U{if(y!==C){if(y!==Ee)for(const P in y)!Jr(P)&&!(P in C)&&i(p,P,y[P],null,L,k);for(const P in C){if(Jr(P))continue;const z=C[P],U=y[P];z!==U&&P!=="value"&&i(p,P,U,z,L,k)}"value"in C&&i(p,"value",y.value,C.value,L)}},A=(p,y,C,k,L,P,z,U,H)=>{const $=y.el=p?p.el:a(""),te=y.anchor=p?p.anchor:a("");let{patchFlag:G,dynamicChildren:Q,slotScopeIds:ae}=y;ae&&(U=U?U.concat(ae):ae),p==null?(r($,C,k),r(te,C,k),T(y.children||[],C,te,L,P,z,U,H)):G>0&&G&64&&Q&&p.dynamicChildren?(W(p.dynamicChildren,Q,C,L,P,z,U),(y.key!=null||L&&y===L.subTree)&&Za(p,y,!0)):se(p,y,C,te,L,P,z,U,H)},N=(p,y,C,k,L,P,z,U,H)=>{y.slotScopeIds=U,p==null?y.shapeFlag&512?L.ctx.activate(y,C,k,z,H):J(y,C,k,L,P,z,H):X(p,y,H)},J=(p,y,C,k,L,P,z)=>{const U=p.component=Jv(p,k,L);if(Fi(p)&&(U.ctx.renderer=Y),Xv(U,!1,z),U.asyncDep){if(L&&L.registerDep(U,re,z),!p.el){const H=U.subTree=R(Je);v(null,H,y,C),p.placeholder=H.el}}else re(U,p,y,C,L,P,z)},X=(p,y,C)=>{const k=y.component=p.component;if(Hv(p,y,C))if(k.asyncDep&&!k.asyncResolved){oe(k,y,C);return}else k.next=y,k.update();else y.el=p.el,k.vnode=y},re=(p,y,C,k,L,P,z)=>{const U=()=>{if(p.isMounted){let{next:G,bu:Q,u:ae,parent:ge,vnode:Ae}=p;{const Mt=Ed(p);if(Mt){G&&(G.el=Ae.el,oe(p,G,z)),Mt.asyncDep.then(()=>{p.isUnmounted||U()});return}}let xe=G,ft;Ln(p,!1),G?(G.el=Ae.el,oe(p,G,z)):G=Ae,Q&&Xs(Q),(ft=G.props&&G.props.onVnodeBeforeUpdate)&&Ft(ft,ge,G,Ae),Ln(p,!0);const dt=Zl(p),Nt=p.subTree;p.subTree=dt,h(Nt,dt,f(Nt.el),_(Nt),p,L,P),G.el=dt.el,xe===null&&Uv(p,dt.el),ae&&at(ae,L),(ft=G.props&&G.props.onVnodeUpdated)&&at(()=>Ft(ft,ge,G,Ae),L)}else{let G;const{el:Q,props:ae}=y,{bm:ge,m:Ae,parent:xe,root:ft,type:dt}=p,Nt=gr(y);Ln(p,!1),ge&&Xs(ge),!Nt&&(G=ae&&ae.onVnodeBeforeMount)&&Ft(G,xe,y),Ln(p,!0);{ft.ce&&ft.ce._def.shadowRoot!==!1&&ft.ce._injectChildStyle(dt);const Mt=p.subTree=Zl(p);h(null,Mt,C,k,p,L,P),y.el=Mt.el}if(Ae&&at(Ae,L),!Nt&&(G=ae&&ae.onVnodeMounted)){const Mt=y;at(()=>Ft(G,xe,Mt),L)}(y.shapeFlag&256||xe&&gr(xe.vnode)&&xe.vnode.shapeFlag&256)&&p.a&&at(p.a,L),p.isMounted=!0,y=C=k=null}};p.scope.on();const H=p.effect=new _f(U);p.scope.off();const $=p.update=H.run.bind(H),te=p.job=H.runIfDirty.bind(H);te.i=p,te.id=p.uid,H.scheduler=()=>qa(te),Ln(p,!0),$()},oe=(p,y,C)=>{y.component=p;const k=p.vnode.props;p.vnode=y,p.next=null,Av(p,y.props,k,C),Ov(p,y.children,C),fn(),Vl(p),dn()},se=(p,y,C,k,L,P,z,U,H=!1)=>{const $=p&&p.children,te=p?p.shapeFlag:0,G=y.children,{patchFlag:Q,shapeFlag:ae}=y;if(Q>0){if(Q&128){Ce($,G,C,k,L,P,z,U,H);return}else if(Q&256){Fe($,G,C,k,L,P,z,U,H);return}}ae&8?(te&16&&Ne($,L,P),G!==$&&c(C,G)):te&16?ae&16?Ce($,G,C,k,L,P,z,U,H):Ne($,L,P,!0):(te&8&&c(C,""),ae&16&&T(G,C,k,L,P,z,U,H))},Fe=(p,y,C,k,L,P,z,U,H)=>{p=p||fr,y=y||fr;const $=p.length,te=y.length,G=Math.min($,te);let Q;for(Q=0;Qte?Ne(p,L,P,!0,!1,G):T(y,C,k,L,P,z,U,H,G)},Ce=(p,y,C,k,L,P,z,U,H)=>{let $=0;const te=y.length;let G=p.length-1,Q=te-1;for(;$<=G&&$<=Q;){const ae=p[$],ge=y[$]=H?Sn(y[$]):zt(y[$]);if(Hn(ae,ge))h(ae,ge,C,null,L,P,z,U,H);else break;$++}for(;$<=G&&$<=Q;){const ae=p[G],ge=y[Q]=H?Sn(y[Q]):zt(y[Q]);if(Hn(ae,ge))h(ae,ge,C,null,L,P,z,U,H);else break;G--,Q--}if($>G){if($<=Q){const ae=Q+1,ge=aeQ)for(;$<=G;)_e(p[$],L,P,!0),$++;else{const ae=$,ge=$,Ae=new Map;for($=ge;$<=Q;$++){const vt=y[$]=H?Sn(y[$]):zt(y[$]);vt.key!=null&&Ae.set(vt.key,$)}let xe,ft=0;const dt=Q-ge+1;let Nt=!1,Mt=0;const Fr=new Array(dt);for($=0;$=dt){_e(vt,L,P,!0);continue}let Bt;if(vt.key!=null)Bt=Ae.get(vt.key);else for(xe=ge;xe<=Q;xe++)if(Fr[xe-ge]===0&&Hn(vt,y[xe])){Bt=xe;break}Bt===void 0?_e(vt,L,P,!0):(Fr[Bt-ge]=$+1,Bt>=Mt?Mt=Bt:Nt=!0,h(vt,y[Bt],C,null,L,P,z,U,H),ft++)}const Ll=Nt?Lv(Fr):fr;for(xe=Ll.length-1,$=dt-1;$>=0;$--){const vt=ge+$,Bt=y[vt],Nl=y[vt+1],Ml=vt+1{const{el:P,type:z,transition:U,children:H,shapeFlag:$}=p;if($&6){Le(p.component.subTree,y,C,k);return}if($&128){p.suspense.move(y,C,k);return}if($&64){z.move(p,y,C,Y);return}if(z===Ie){r(P,y,C);for(let G=0;GU.enter(P),L);else{const{leave:G,delayLeave:Q,afterLeave:ae}=U,ge=()=>{p.ctx.isUnmounted?s(P):r(P,y,C)},Ae=()=>{P._isLeaving&&P[an](!0),G(P,()=>{ge(),ae&&ae()})};Q?Q(P,ge,Ae):Ae()}else r(P,y,C)},_e=(p,y,C,k=!1,L=!1)=>{const{type:P,props:z,ref:U,children:H,dynamicChildren:$,shapeFlag:te,patchFlag:G,dirs:Q,cacheIndex:ae}=p;if(G===-2&&(L=!1),U!=null&&(fn(),es(U,null,C,p,!0),dn()),ae!=null&&(y.renderCache[ae]=void 0),te&256){y.ctx.deactivate(p);return}const ge=te&1&&Q,Ae=!gr(p);let xe;if(Ae&&(xe=z&&z.onVnodeBeforeUnmount)&&Ft(xe,y,p),te&6)ue(p.component,C,k);else{if(te&128){p.suspense.unmount(C,k);return}ge&&Dn(p,null,y,"beforeUnmount"),te&64?p.type.remove(p,y,C,Y,k):$&&!$.hasOnce&&(P!==Ie||G>0&&G&64)?Ne($,y,C,!1,!0):(P===Ie&&G&384||!L&&te&16)&&Ne(H,y,C),k&&je(p)}(Ae&&(xe=z&&z.onVnodeUnmounted)||ge)&&at(()=>{xe&&Ft(xe,y,p),ge&&Dn(p,null,y,"unmounted")},C)},je=p=>{const{type:y,el:C,anchor:k,transition:L}=p;if(y===Ie){it(C,k);return}if(y===mo){E(p);return}const P=()=>{s(C),L&&!L.persisted&&L.afterLeave&&L.afterLeave()};if(p.shapeFlag&1&&L&&!L.persisted){const{leave:z,delayLeave:U}=L,H=()=>z(C,P);U?U(p.el,P,H):H()}else P()},it=(p,y)=>{let C;for(;p!==y;)C=d(p),s(p),p=C;s(y)},ue=(p,y,C)=>{const{bum:k,scope:L,job:P,subTree:z,um:U,m:H,a:$}=p;Xl(H),Xl($),k&&Xs(k),L.stop(),P&&(P.flags|=8,_e(z,p,y,C)),U&&at(U,y),at(()=>{p.isUnmounted=!0},y)},Ne=(p,y,C,k=!1,L=!1,P=0)=>{for(let z=P;z{if(p.shapeFlag&6)return _(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const y=d(p.anchor||p.el),C=y&&y[Gf];return C?d(C):y};let F=!1;const j=(p,y,C)=>{p==null?y._vnode&&_e(y._vnode,null,null,!0):h(y._vnode||null,p,y,null,null,null,C),y._vnode=p,F||(F=!0,Vl(),zf(),F=!1)},Y={p:h,um:_e,m:Le,r:je,mt:J,mc:T,pc:se,pbc:W,n:_,o:e};return{render:j,hydrate:void 0,createApp:xv(j)}}function fo({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 Ln({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Dv(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Za(e,t,n=!1){const r=e.children,s=t.children;if(ne(r)&&ne(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Ed(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ed(t)}function Xl(e){if(e)for(let t=0;tye(Nv);function en(e,t){return Qa(e,null,t)}function me(e,t,n){return Qa(e,t,n)}function Qa(e,t,n=Ee){const{immediate:r,deep:s,flush:i,once:o}=n,a=He({},n),l=t&&r||!t&&i!=="post";let u;if(fs){if(i==="sync"){const m=Mv();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!l){const m=()=>{};return m.stop=Jt,m.resume=Jt,m.pause=Jt,m}}const c=tt;a.call=(m,g,h)=>It(m,c,g,h);let f=!1;i==="post"?a.scheduler=m=>{at(m,c&&c.suspense)}:i!=="sync"&&(f=!0,a.scheduler=(m,g)=>{g?m():qa(m)}),a.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const d=tv(e,t,a);return fs&&(u?u.push(d):l&&d()),d}function Bv(e,t,n){const r=this.proxy,s=Me(e)?e.includes(".")?Ad(r,e):()=>r[e]:e.bind(r,r);let i;ie(t)?i=t:(i=t.handler,n=t);const o=As(this),a=Qa(s,i.bind(r),n);return o(),a}function Ad(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ct(t)}Modifiers`]||e[`${Rn(t)}Modifiers`];function $v(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ee;let s=n;const i=t.startsWith("update:"),o=i&&Fv(r,t.slice(7));o&&(o.trim&&(s=n.map(c=>Me(c)?c.trim():c)),o.number&&(s=n.map(Vo)));let a,l=r[a=so(t)]||r[a=so(ct(t))];!l&&i&&(l=r[a=so(Rn(t))]),l&&It(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,It(u,e,6,s)}}function Td(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!ie(e)){const l=u=>{const c=Td(u,t,!0);c&&(a=!0,He(o,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!a?(Re(e)&&r.set(e,null),null):(ne(i)?i.forEach(l=>o[l]=null):He(o,i),Re(e)&&r.set(e,o),o)}function ji(e,t){return!e||!ki(t)?!1:(t=t.slice(2).replace(/Once$/,""),Se(e,t[0].toLowerCase()+t.slice(1))||Se(e,Rn(t))||Se(e,t))}function Zl(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:m,ctx:g,inheritAttrs:h}=e,b=hi(e);let v,w;try{if(n.shapeFlag&4){const E=s||r,D=E;v=zt(u.call(D,E,c,f,m,d,g)),w=a}else{const E=t;v=zt(E.length>1?E(f,{attrs:a,slots:o,emit:l}):E(f,null)),w=t.props?a:Vv(a)}}catch(E){ns.length=0,Mi(E,e,1),v=R(Je)}let S=v;if(w&&h!==!1){const E=Object.keys(w),{shapeFlag:D}=S;E.length&&D&7&&(i&&E.some(Ba)&&(w=jv(w,i)),S=En(S,w,!1,!0))}return n.dirs&&(S=En(S,null,!1,!0),S.dirs=S.dirs?S.dirs.concat(n.dirs):n.dirs),n.transition&&Xn(S,n.transition),v=S,hi(b),v}const Vv=e=>{let t;for(const n in e)(n==="class"||n==="style"||ki(n))&&((t||(t={}))[n]=e[n]);return t},jv=(e,t)=>{const n={};for(const r in e)(!Ba(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Hv(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Ql(r,o,u):!!o;if(l&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function Wv(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):sv(e)}const Ie=Symbol.for("v-fgt"),xs=Symbol.for("v-txt"),Je=Symbol.for("v-cmt"),mo=Symbol.for("v-stc"),ns=[];let bt=null;function _t(e=!1){ns.push(bt=e?null:[])}function zv(){ns.pop(),bt=ns[ns.length-1]||null}let us=1;function ec(e,t=!1){us+=e,e<0&&bt&&t&&(bt.hasOnce=!0)}function Pd(e){return e.dynamicChildren=us>0?bt||fr:null,zv(),us>0&&bt&&bt.push(e),e}function Od(e,t,n,r,s,i){return Pd(q(e,t,n,r,s,i,!0))}function Gt(e,t,n,r,s){return Pd(R(e,t,n,r,s,!0))}function Cr(e){return e?e.__v_isVNode===!0:!1}function Hn(e,t){return e.type===t.type&&e.key===t.key}const kd=({key:e})=>e??null,Qs=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Me(e)||$e(e)||ie(e)?{i:Xe,r:e,k:t,f:!!n}:e:null);function q(e,t=null,n=null,r=0,s=null,i=e===Ie?0:1,o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&kd(t),ref:t&&Qs(t),scopeId:qf,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Xe};return a?(el(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=Me(n)?8:16),us>0&&!o&&bt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&bt.push(l),l}const R=Kv;function Kv(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===ud)&&(e=Je),Cr(e)){const a=En(e,t,!0);return n&&el(a,n),us>0&&!i&&bt&&(a.shapeFlag&6?bt[bt.indexOf(e)]=a:bt.push(a)),a.patchFlag=-2,a}if(np(e)&&(e=e.__vccOpts),t){t=qv(t);let{class:a,style:l}=t;a&&!Me(a)&&(t.class=pe(a)),Re(l)&&(Ka(l)&&!ne(l)&&(l=He({},l)),t.style=Pe(l))}const o=Me(e)?1:Rd(e)?128:Yf(e)?64:Re(e)?4:ie(e)?2:0;return q(e,t,n,r,s,o,i,!0)}function qv(e){return e?Ka(e)||bd(e)?He({},e):e:null}function En(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:l}=e,u=t?Oe(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&kd(u),ref:t&&t.ref?n&&i?ne(i)?i.concat(Qs(t)):[i,Qs(t)]:Qs(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&En(e.ssContent),ssFallback:e.ssFallback&&En(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Xn(c,l.clone(c)),c}function qr(e=" ",t=0){return R(xs,null,e,t)}function Yo(e="",t=!1){return t?(_t(),Gt(Je,null,e)):R(Je,null,e)}function zt(e){return e==null||typeof e=="boolean"?R(Je):ne(e)?R(Ie,null,e.slice()):Cr(e)?Sn(e):R(xs,null,String(e))}function Sn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:En(e)}function el(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ne(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),el(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!bd(t)?t._ctx=Xe:s===3&&Xe&&(Xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Xe},n=32):(t=String(t),r&64?(n=16,t=[qr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Oe(...e){const t={};for(let n=0;ntt||Xe;let vi,Jo;{const e=Li(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};vi=t("__VUE_INSTANCE_SETTERS__",n=>tt=n),Jo=t("__VUE_SSR_SETTERS__",n=>fs=n)}const As=e=>{const t=tt;return vi(e),e.scope.on(),()=>{e.scope.off(),vi(t)}},tc=()=>{tt&&tt.scope.off(),vi(null)};function Id(e){return e.vnode.shapeFlag&4}let fs=!1;function Xv(e,t=!1,n=!1){t&&Jo(t);const{props:r,children:s}=e.vnode,i=Id(e);Ev(e,r,i,t),Pv(e,s,n||t);const o=i?Zv(e,t):void 0;return t&&Jo(!1),o}function Zv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pv);const{setup:r}=n;if(r){fn();const s=e.setupContext=r.length>1?ep(e):null,i=As(e),o=_s(r,e,0,[e.props,s]),a=hf(o);if(dn(),i(),(a||e.sp)&&!gr(e)&&sd(e),a){if(o.then(tc,tc),t)return o.then(l=>{nc(e,l)}).catch(l=>{Mi(l,e,0)});e.asyncDep=o}else nc(e,o)}else Dd(e)}function nc(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Re(t)&&(e.setupState=Vf(t)),Dd(e)}function Dd(e,t,n){const r=e.type;e.render||(e.render=r.render||Jt);{const s=As(e);fn();try{yv(e)}finally{dn(),s()}}}const Qv={get(e,t){return et(e,"get",""),e[t]}};function ep(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Qv),slots:e.slots,emit:e.emit,expose:t}}function Hi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Vf(Ff(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ts)return ts[n](e)},has(t,n){return n in t||n in ts}})):e.proxy}function tp(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function np(e){return ie(e)&&"__vccOpts"in e}const M=(e,t)=>Qg(e,t,fs);function On(e,t,n){const r=arguments.length;return r===2?Re(t)&&!ne(t)?Cr(t)?R(e,null,[t]):R(e,t):R(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Cr(n)&&(n=[n]),R(e,t,n))}const rp="3.5.20";/** +* @vue/runtime-dom v3.5.20 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Xo;const rc=typeof window<"u"&&window.trustedTypes;if(rc)try{Xo=rc.createPolicy("vue",{createHTML:e=>e})}catch{}const Ld=Xo?e=>Xo.createHTML(e):e=>e,sp="http://www.w3.org/2000/svg",ip="http://www.w3.org/1998/Math/MathML",sn=typeof document<"u"?document:null,sc=sn&&sn.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 s=t==="svg"?sn.createElementNS(sp,e):t==="mathml"?sn.createElementNS(ip,e):n?sn.createElement(e,{is:n}):sn.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>sn.createTextNode(e),createComment:e=>sn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>sn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{sc.innerHTML=Ld(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=sc.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},pn="transition",Vr="animation",_r=Symbol("_vtc"),Nd={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},Md=He({},Qf,Nd),ap=e=>(e.displayName="Transition",e.props=Md,e),An=ap((e,{slots:t})=>On(lv,Bd(e),t)),Nn=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},ic=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function Bd(e){const t={};for(const A in e)A in Nd||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,g=lp(s),h=g&&g[0],b=g&&g[1],{onBeforeEnter:v,onEnter:w,onEnterCancelled:S,onLeave:E,onLeaveCancelled:D,onBeforeAppear:O=v,onAppear:B=w,onAppearCancelled:T=S}=t,I=(A,N,J,X)=>{A._enterCancelled=X,bn(A,N?c:a),bn(A,N?u:o),J&&J()},W=(A,N)=>{A._isLeaving=!1,bn(A,f),bn(A,m),bn(A,d),N&&N()},V=A=>(N,J)=>{const X=A?B:w,re=()=>I(N,A,J);Nn(X,[N,re]),oc(()=>{bn(N,A?l:i),jt(N,A?c:a),ic(X)||ac(N,r,h,re)})};return He(t,{onBeforeEnter(A){Nn(v,[A]),jt(A,i),jt(A,o)},onBeforeAppear(A){Nn(O,[A]),jt(A,l),jt(A,u)},onEnter:V(!1),onAppear:V(!0),onLeave(A,N){A._isLeaving=!0;const J=()=>W(A,N);jt(A,f),A._enterCancelled?(jt(A,d),Zo()):(Zo(),jt(A,d)),oc(()=>{A._isLeaving&&(bn(A,f),jt(A,m),ic(E)||ac(A,r,b,J))}),Nn(E,[A,J])},onEnterCancelled(A){I(A,!1,void 0,!0),Nn(S,[A])},onAppearCancelled(A){I(A,!0,void 0,!0),Nn(T,[A])},onLeaveCancelled(A){W(A),Nn(D,[A])}})}function lp(e){if(e==null)return null;if(Re(e))return[ho(e.enter),ho(e.leave)];{const t=ho(e);return[t,t]}}function ho(e){return Cg(e)}function jt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[_r]||(e[_r]=new Set)).add(t)}function bn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[_r];n&&(n.delete(t),n.size||(e[_r]=void 0))}function oc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let cp=0;function ac(e,t,n,r){const s=e._endId=++cp,i=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:a,propCount:l}=Fd(e,t);if(!o)return r();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=m=>{m.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[g]||"").split(", "),s=r(`${pn}Delay`),i=r(`${pn}Duration`),o=lc(s,i),a=r(`${Vr}Delay`),l=r(`${Vr}Duration`),u=lc(a,l);let c=null,f=0,d=0;t===pn?o>0&&(c=pn,f=o,d=i.length):t===Vr?u>0&&(c=Vr,f=u,d=l.length):(f=Math.max(o,u),c=f>0?o>u?pn:Vr:null,d=c?c===pn?i.length:l.length:0);const m=c===pn&&/\b(transform|all)(,|$)/.test(r(`${pn}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:m}}function lc(e,t){for(;e.lengthcc(n)+cc(e[r])))}function cc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Zo(){return document.body.offsetHeight}function up(e,t,n){const r=e[_r];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const pi=Symbol("_vod"),$d=Symbol("_vsh"),tl={name:"show",beforeMount(e,{value:t},{transition:n}){e[pi]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):jr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),jr(e,!0),r.enter(e)):r.leave(e,()=>{jr(e,!1)}):jr(e,t))},beforeUnmount(e,{value:t}){jr(e,t)}};function jr(e,t){e.style.display=t?e[pi]:"none",e[$d]=!t}const fp=Symbol(""),dp=/(^|;)\s*display\s*:/;function mp(e,t,n){const r=e.style,s=Me(n);let i=!1;if(n&&!s){if(t)if(Me(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&ei(r,a,"")}else for(const o in t)n[o]==null&&ei(r,o,"");for(const o in n)o==="display"&&(i=!0),ei(r,o,n[o])}else if(s){if(t!==n){const o=r[fp];o&&(n+=";"+o),r.cssText=n,i=dp.test(n)}}else t&&e.removeAttribute("style");pi in e&&(e[pi]=i?r.display:"",e[$d]&&(r.display="none"))}const uc=/\s*!important$/;function ei(e,t,n){if(ne(n))n.forEach(r=>ei(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=hp(e,t);uc.test(n)?e.setProperty(Rn(r),n.replace(uc,""),"important"):e[r]=n}}const fc=["Webkit","Moz","ms"],go={};function hp(e,t){const n=go[t];if(n)return n;let r=ct(t);if(r!=="filter"&&r in e)return go[t]=r;r=Rr(r);for(let s=0;svo||(yp.then(()=>vo=0),vo=Date.now());function wp(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;It(Sp(r,n.value),t,5,[r])};return n.value=e,n.attached=bp(),n}function Sp(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const pc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cp=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?up(e,r,o):t==="style"?mp(e,n,r):ki(t)?Ba(t)||vp(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):_p(e,t,r,o))?(hc(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mc(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Me(r))?hc(e,ct(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),mc(e,t,r,o))};function _p(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&pc(t)&&ie(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return pc(t)&&Me(n)?!1:t in e}const Vd=new WeakMap,jd=new WeakMap,yi=Symbol("_moveCb"),yc=Symbol("_enterCb"),xp=e=>(delete e.props.mode,e),Ep=xp({name:"TransitionGroup",props:He({},Md,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Es(),r=Zf();let s,i;return Ya(()=>{if(!s.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Pp(s[0].el,n.vnode.el,o)){s=[];return}s.forEach(Ap),s.forEach(Tp);const a=s.filter(Rp);Zo(),a.forEach(l=>{const u=l.el,c=u.style;jt(u,o),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[yi]=d=>{d&&d.target!==u||(!d||/transform$/.test(d.propertyName))&&(u.removeEventListener("transitionend",f),u[yi]=null,bn(u,o))};u.addEventListener("transitionend",f)}),s=[]}),()=>{const o=ee(e),a=Bd(o);let l=o.tag||Ie;if(s=[],i)for(let u=0;u{a.split(/\s+/).forEach(l=>l&&r.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=Fd(r);return i.removeChild(r),o}const bc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?n=>Xs(t,n):t};function Op(e){e.target.composing=!0}function wc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const po=Symbol("_assign"),k_={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[po]=bc(s);const i=r||s.props&&s.props.type==="number";or(e,t?"change":"input",o=>{if(o.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=Vo(a)),e[po](a)}),n&&or(e,"change",()=>{e.value=e.value.trim()}),t||(or(e,"compositionstart",Op),or(e,"compositionend",wc),or(e,"change",wc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[po]=bc(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?Vo(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l))}},kp=["ctrl","shift","alt","meta"],Ip={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kp.some(n=>e[`${n}Key`]&&!t.includes(n))},I_=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=Rn(s.key);if(t.some(o=>o===i||Dp[o]===i))return e(s)})},Lp=He({patchProp:Cp},op);let Sc;function Np(){return Sc||(Sc=kv(Lp))}const Mp=(...e)=>{const t=Np().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Fp(r);if(!s)return;const i=t._component;!ie(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,Bp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function Bp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Fp(e){return Me(e)?document.querySelector(e):e}function Ts(e,t){let n;function r(){n=Sr(),n.run(()=>t.length?t(()=>{n==null||n.stop(),r()}):t())}me(e,s=>{s&&!n?r():s||(n==null||n.stop(),n=void 0)},{immediate:!0}),ut(()=>{n==null||n.stop()})}const ke=typeof window<"u",rl=ke&&"IntersectionObserver"in window,$p=ke&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),Vp=ke&&"matchMedia"in window&&typeof window.matchMedia=="function";function Cc(e,t,n){jp(e,t),t.set(e,n)}function jp(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _c(e,t,n){return e.set(Hd(e,t),n),n}function nn(e,t){return e.get(Hd(e,t))}function Hd(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function Ud(e,t,n){const r=t.length-1;if(r<0)return e===void 0?n:e;for(let s=0;sKn(e[r],t[r]))}function Qo(e,t,n){return e==null||!t||typeof t!="string"?n:e[t]!==void 0?e[t]:(t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^\./,""),Ud(e,t.split("."),n))}function qt(e,t,n){if(t===!0)return e===void 0?n:e;if(t==null||typeof t=="boolean")return n;if(e!==Object(e)){if(typeof t!="function")return n;const s=t(e,n);return typeof s>"u"?n:s}if(typeof t=="string")return Qo(e,t,n);if(Array.isArray(t))return Ud(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function Wd(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:e},(n,r)=>t+r)}function de(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(e==null||e==="")return;const n=Number(e);return isNaN(n)?String(e):isFinite(n)?`${n}${t}`:void 0}function ea(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function xc(e){let t;return e!==null&&typeof e=="object"&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function sl(e){if(e&&"$el"in e){const t=e.$el;return(t==null?void 0:t.nodeType)===Node.TEXT_NODE?t.nextElementSibling:t}return e}const L_=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function N_(e){return Object.keys(e)}function yo(e,t){return t.every(n=>e.hasOwnProperty(n))}function il(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function Ec(e,t,n){const r=Object.create(null),s=Object.create(null);for(const i in e)t.some(o=>o instanceof RegExp?o.test(i):o===i)?r[i]=e[i]:s[i]=e[i];return[r,s]}function Rs(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const zd=/^on[^a-z]/,Kd=e=>zd.test(e),Hp=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"];function M_(e){const[t,n]=Ec(e,[zd]),r=Rs(t,Hp),[s,i]=Ec(n,["class","style","id",/^data-/]);return Object.assign(s,t),Object.assign(i,r),[s,i]}function ol(e){return e==null?[]:Array.isArray(e)?e:[e]}function B_(e,t){let n=0;const r=function(){for(var s=arguments.length,i=new Array(s),o=0;oe(...i),yt(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function Tn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(t,Math.min(n,e))}function Ac(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return e+n.repeat(Math.max(0,t-e.length))}function Tc(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function Up(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const n=[];let r=0;for(;r1&&arguments[1]!==void 0?arguments[1]:1e3;if(e=t&&r0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r={};for(const s in e)r[s]=e[s];for(const s in t){const i=e[s],o=t[s];if(xc(i)&&xc(o)){r[s]=rt(i,o,n);continue}if(n&&Array.isArray(i)&&Array.isArray(o)){r[s]=n(i,o);continue}r[s]=o}return r}function qd(e){return e.map(t=>t.type===Ie?qd(t.children):t).flat()}function qn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(qn.cache.has(e))return qn.cache.get(e);const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return qn.cache.set(e,t),t}qn.cache=new Map;function cr(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(n=>cr(e,n)).flat(1);if(t.suspense)return cr(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(n=>cr(e,n)).flat(1);if(t.component){if(Object.getOwnPropertySymbols(t.component.provides).includes(e))return[t.component];if(t.component.subTree)return cr(e,t.component.subTree).flat(1)}return[]}var nr=new WeakMap,Mn=new WeakMap;class Wp{constructor(t){Cc(this,nr,[]),Cc(this,Mn,0),this.size=t}get isFull(){return nn(nr,this).length===this.size}push(t){nn(nr,this)[nn(Mn,this)]=t,_c(Mn,this,(nn(Mn,this)+1)%this.size)}values(){return nn(nr,this).slice(nn(Mn,this)).concat(nn(nr,this).slice(0,nn(Mn,this)))}clear(){nn(nr,this).length=0,_c(Mn,this,0)}}function al(e){const t=ze({});en(()=>{const r=e();for(const s in r)t[s]=r[s]},{flush:"sync"});const n={};for(const r in t)n[r]=K(()=>t[r]);return n}function bi(e,t){return e.includes(t)}function Gd(e){return e[2].toLowerCase()+e.slice(3)}const rs=()=>[Function,Array];function Rc(e,t){return t="on"+Rr(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function $_(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:!0;const n=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map(r=>`${r}${t?':not([tabindex="-1"])':""}:not([disabled])`).join(", ");return[...e.querySelectorAll(n)]}function zp(e,t,n){let r,s=e.indexOf(document.activeElement);const i=t==="next"?1:-1;do s+=i,r=e[s];while((!r||r.offsetParent==null||!((n==null?void 0:n(r))??!0))&&s=0);return r}function Jd(e,t){var r,s,i,o;const n=Yd(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((r=n[0])==null||r.focus());else if(t==="first")(s=n[0])==null||s.focus();else if(t==="last")(i=n.at(-1))==null||i.focus();else if(typeof t=="number")(o=n[t])==null||o.focus();else{const a=zp(n,t);a?a.focus():Jd(e,t==="next"?"first":"last")}}function V_(e){return e==null||typeof e=="string"&&e.trim()===""}function Kp(e,t){if(!(ke&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function qp(e){return e.some(t=>Cr(t)?t.type===Je?!1:t.type!==Ie||qp(t.children):!0)?e:null}function Gp(e,t){if(!ke||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function j_(e,t){const n=e.clientX,r=e.clientY,s=t.getBoundingClientRect(),i=s.left,o=s.top,a=s.right,l=s.bottom;return n>=i&&n<=a&&r>=o&&r<=l}function ta(){const e=ce(),t=n=>{e.value=n};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:n=>e.value=n}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>sl(e.value)}),t}function H_(e){const t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function na(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"}function U_(e){const t={};for(const n in e)t[ct(n)]=e[n];return t}function Yp(e){const t=["checked","disabled"];return Object.fromEntries(Object.entries(e).filter(n=>{let[r,s]=n;return t.includes(r)?!!s:s!==void 0}))}const Xd=["top","bottom"],Jp=["start","end","left","right"];function ra(e,t){let[n,r]=e.split(" ");return r||(r=bi(Xd,n)?"start":bi(Jp,n)?"top":"center"),{side:Pc(n,t),align:Pc(r,t)}}function Pc(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function bo(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function wo(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function Oc(e){return{side:e.align,align:e.side}}function kc(e){return bi(Xd,e.side)?"y":"x"}class Xt{constructor(t){let{x:n,y:r,width:s,height:i}=t;this.x=n,this.y=r,this.width=s,this.height=i}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function Ic(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function Zd(e){return Array.isArray(e)?new Xt({x:e[0],y:e[1],width:0,height:0}):e.getBoundingClientRect()}function Xp(e){if(e===document.documentElement)return visualViewport?new Xt({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale,height:visualViewport.height*visualViewport.scale}):new Xt({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});{const t=e.getBoundingClientRect();return new Xt({x:t.x,y:t.y,width:e.clientWidth,height:e.clientHeight})}}function Qd(e){const t=e.getBoundingClientRect(),n=getComputedStyle(e),r=n.transform;if(r){let s,i,o,a,l;if(r.startsWith("matrix3d("))s=r.slice(9,-1).split(/, /),i=Number(s[0]),o=Number(s[5]),a=Number(s[12]),l=Number(s[13]);else if(r.startsWith("matrix("))s=r.slice(7,-1).split(/, /),i=Number(s[0]),o=Number(s[3]),a=Number(s[4]),l=Number(s[5]);else return new Xt(t);const u=n.transformOrigin,c=t.x-a-(1-i)*parseFloat(u),f=t.y-l-(1-o)*parseFloat(u.slice(u.indexOf(" ")+1)),d=i?t.width/i:e.offsetWidth+1,m=o?t.height/o:e.offsetHeight+1;return new Xt({x:c,y:f,width:d,height:m})}else return new Xt(t)}function Gr(e,t,n){if(typeof e.animate>"u")return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return typeof r.finished>"u"&&(r.finished=new Promise(s=>{r.onfinish=()=>{s(r)}})),r}const ti=new WeakMap;function Zp(e,t){Object.keys(t).forEach(n=>{if(Kd(n)){const r=Gd(n),s=ti.get(e);if(t[n]==null)s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))});else if(!s||![...s].some(i=>i[0]===r&&i[1]===t[n])){e.addEventListener(r,t[n]);const i=s||new Set;i.add([r,t[n]]),ti.has(e)||ti.set(e,i)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function Qp(e,t){Object.keys(t).forEach(n=>{if(Kd(n)){const r=Gd(n),s=ti.get(e);s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))})}else e.removeAttribute(n)})}const rr=2.4,Dc=.2126729,Lc=.7151522,Nc=.072175,ey=.55,ty=.58,ny=.57,ry=.62,Ws=.03,Mc=1.45,sy=5e-4,iy=1.25,oy=1.25,Bc=.078,Fc=12.82051282051282,zs=.06,$c=.001;function Vc(e,t){const n=(e.r/255)**rr,r=(e.g/255)**rr,s=(e.b/255)**rr,i=(t.r/255)**rr,o=(t.g/255)**rr,a=(t.b/255)**rr;let l=n*Dc+r*Lc+s*Nc,u=i*Dc+o*Lc+a*Nc;if(l<=Ws&&(l+=(Ws-l)**Mc),u<=Ws&&(u+=(Ws-u)**Mc),Math.abs(u-l)l){const f=(u**ey-l**ty)*iy;c=f<$c?0:f-$c?0:f>-Bc?f-f*Fc*zs:f+zs}return c*100}function W_(e){}function em(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const wi=.20689655172413793,ay=e=>e>wi**3?Math.cbrt(e):e/(3*wi**2)+4/29,ly=e=>e>wi?e**3:3*wi**2*(e-4/29);function tm(e){const t=ay,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function nm(e){const t=ly,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const cy=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],uy=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,fy=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],dy=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function rm(e){const t=Array(3),n=uy,r=cy;for(let s=0;s<3;++s)t[s]=Math.round(Tn(n(r[s][0]*e[0]+r[s][1]*e[1]+r[s][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function ll(e){let{r:t,g:n,b:r}=e;const s=[0,0,0],i=dy,o=fy;t=i(t/255),n=i(n/255),r=i(r/255);for(let a=0;a<3;++a)s[a]=o[a][0]*t+o[a][1]*n+o[a][2]*r;return s}function sa(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function my(e){return sa(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const jc=/^(?(?:rgb|hsl)a?)\((?.+)\)/,hy={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>Hc({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>Hc({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>ds({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>ds({h:e,s:t,v:n,a:r})};function Yt(e){if(typeof e=="number")return{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e=="string"&&jc.test(e)){const{groups:t}=e.match(jc),{fn:n,values:r}=t,s=r.split(/,\s*|\s*\/\s*|\s+/).map((i,o)=>i.endsWith("%")||o>0&&o<3&&["hsl","hsla","hsv","hsva"].includes(n)?parseFloat(i)/100:parseFloat(i));return hy[n](...s)}else if(typeof e=="string"){let t=e.startsWith("#")?e.slice(1):e;return[3,4].includes(t.length)?t=t.split("").map(n=>n+n).join(""):[6,8].includes(t.length),vy(t)}else if(typeof e=="object"){if(yo(e,["r","g","b"]))return e;if(yo(e,["h","s","l"]))return ds(sm(e));if(yo(e,["h","s","v"]))return ds(e)}throw new TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name} +Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function ds(e){const{h:t,s:n,v:r,a:s}=e,i=a=>{const l=(a+t/60)%6;return r-r*n*Math.max(Math.min(l,4-l,1),0)},o=[i(5),i(3),i(1)].map(a=>Math.round(a*255));return{r:o[0],g:o[1],b:o[2],a:s}}function Hc(e){return ds(sm(e))}function sm(e){const{h:t,s:n,l:r,a:s}=e,i=r+n*Math.min(r,1-r),o=i===0?0:2-2*r/i;return{h:t,s:o,v:i,a:s}}function Ks(e){const t=Math.round(e).toString(16);return("00".substr(0,2-t.length)+t).toUpperCase()}function gy(e){let{r:t,g:n,b:r,a:s}=e;return`#${[Ks(t),Ks(n),Ks(r),s!==void 0?Ks(Math.round(s*255)):""].join("")}`}function vy(e){e=py(e);let[t,n,r,s]=Up(e,2).map(i=>parseInt(i,16));return s=s===void 0?s:s/255,{r:t,g:n,b:r,a:s}}function py(e){return e.startsWith("#")&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,"F"),(e.length===3||e.length===4)&&(e=e.split("").map(t=>t+t).join("")),e.length!==6&&(e=Ac(Ac(e,6),8,"F")),e}function yy(e,t){const n=tm(ll(e));return n[0]=n[0]+t*10,rm(nm(n))}function by(e,t){const n=tm(ll(e));return n[0]=n[0]-t*10,rm(nm(n))}function wy(e){const t=Yt(e);return ll(t)[1]}function im(e){const t=Math.abs(Vc(Yt(0),Yt(e)));return Math.abs(Vc(Yt(16777215),Yt(e)))>Math.min(t,50)?"#fff":"#000"}function Z(e,t){return n=>Object.keys(e).reduce((r,s)=>{const o=typeof e[s]=="object"&&e[s]!=null&&!Array.isArray(e[s])?e[s]:{type:e[s]};return n&&s in n?r[s]={...o,default:n[s]}:r[s]=o,t&&!r[s].source&&(r[s].source=t),r},{})}const Be=Z({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function Ue(e,t){const n=Es();if(!n)throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);return n}function kn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const t=Ue(e).type;return qn((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function Sy(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ue("injectSelf");const{provides:n}=t;if(n&&e in n)return n[e]}const xr=Symbol.for("vuetify:defaults");function Cy(e){return fe(e)}function cl(){const e=ye(xr);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function Ui(e,t){const n=cl(),r=fe(e),s=M(()=>{if(yt(t==null?void 0:t.disabled))return n.value;const o=yt(t==null?void 0:t.scoped),a=yt(t==null?void 0:t.reset),l=yt(t==null?void 0:t.root);if(r.value==null&&!(o||a||l))return n.value;let u=rt(r.value,{prev:n.value});if(o)return u;if(a||l){const c=Number(a||1/0);for(let f=0;f<=c&&!(!u||!("prev"in u));f++)u=u.prev;return u&&typeof l=="string"&&l in u&&(u=rt(rt(u,{prev:u}),u[l])),u}return u.prev?rt(u.prev,u):u});return st(xr,s),s}function _y(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[qn(t)]<"u")}function xy(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:cl();const r=Ue("useDefaults");if(t=t??r.type.name??r.type.__name,!t)throw new Error("[Vuetify] Could not determine component name");const s=M(()=>{var l;return(l=n.value)==null?void 0:l[e._as??t]}),i=new Proxy(e,{get(l,u){var m,g,h,b;const c=Reflect.get(l,u);if(u==="class"||u==="style")return[(m=s.value)==null?void 0:m[u],c].filter(v=>v!=null);if(_y(r.vnode,u))return c;const f=(g=s.value)==null?void 0:g[u];if(f!==void 0)return f;const d=(b=(h=n.value)==null?void 0:h.global)==null?void 0:b[u];return d!==void 0?d:c}}),o=ce();en(()=>{if(s.value){const l=Object.entries(s.value).filter(u=>{let[c]=u;return c.startsWith(c[0].toUpperCase())});o.value=l.length?Object.fromEntries(l):void 0}else o.value=void 0});function a(){const l=Sy(xr,r);st(xr,M(()=>o.value?rt((l==null?void 0:l.value)??{},o.value):l==null?void 0:l.value))}return{props:i,provideSubDefaults:a}}function Pr(e){if(e._setup=e._setup??e.setup,!e.name)return e;if(e._setup){e.props=Z(e.props??{},e.name)();const t=Object.keys(e.props).filter(n=>n!=="class"&&n!=="style");e.filterProps=function(r){return il(r,t)},e.props._as=String,e.setup=function(r,s){const i=cl();if(!i.value)return e._setup(r,s);const{props:o,provideSubDefaults:a}=xy(r,r._as??e.name,i),l=e._setup(o,s);return a(),l}}return e}function be(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?Pr:Bi)(t)}function z_(e,t){return t.props=e,t}function ul(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return be()({name:n??Rr(ct(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...Be()},setup(r,s){let{slots:i}=s;return()=>{var o;return On(r.tag,{class:[e,r.class],style:r.style},(o=i.default)==null?void 0:o.call(i))}}})}function om(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}const ia="cubic-bezier(0.4, 0, 0.2, 1)",Ey="cubic-bezier(0.0, 0, 0.2, 1)",Ay="cubic-bezier(0.4, 0, 1, 1)",Ty={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5};function Ry(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?Py(e):fl(e))return e;e=e.parentElement}return document.scrollingElement}function Si(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(fl(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function fl(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e),n=t.overflowY==="scroll"||t.overflowY==="auto"&&e.scrollHeight>e.clientHeight,r=t.overflowX==="scroll"||t.overflowX==="auto"&&e.scrollWidth>e.clientWidth;return n||r}function Py(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function Oy(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function De(e){const t=Ue("useRender");t.render=e}function un(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:f=>f,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:f=>f;const i=Ue("useProxiedModel"),o=fe(e[t]!==void 0?e[t]:n),a=qn(t),u=M(a!==t?()=>{var f,d,m,g;return e[t],!!(((f=i.vnode.props)!=null&&f.hasOwnProperty(t)||(d=i.vnode.props)!=null&&d.hasOwnProperty(a))&&((m=i.vnode.props)!=null&&m.hasOwnProperty(`onUpdate:${t}`)||(g=i.vnode.props)!=null&&g.hasOwnProperty(`onUpdate:${a}`)))}:()=>{var f,d;return e[t],!!((f=i.vnode.props)!=null&&f.hasOwnProperty(t)&&((d=i.vnode.props)!=null&&d.hasOwnProperty(`onUpdate:${t}`)))});Ts(()=>!u.value,()=>{me(()=>e[t],f=>{o.value=f})});const c=M({get(){const f=e[t];return r(u.value?f:o.value)},set(f){const d=s(f),m=ee(u.value?e[t]:o.value);m===d||r(m)===f||(o.value=d,i==null||i.emit(`update:${t}`,d))}});return Object.defineProperty(c,"externalValue",{get:()=>u.value?e[t]:o.value}),c}const ky={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"},ariaLabel:{previousMonth:"Previous month",nextMonth:"Next month",selectYear:"Select year",selectDate:"{0}",currentDate:"Today, {0}"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"},rules:{required:"This field is required",email:"Please enter a valid email",number:"This field can only contain numbers",integer:"This field can only contain integer values",capital:"This field can only contain uppercase letters",maxLength:"You must enter a maximum of {0} characters",minLength:"You must enter a minimum of {0} characters",strictLength:"The length of the entered field is invalid",exclude:"The {0} character is not allowed",notEmpty:"Please choose at least one value",pattern:"Invalid format"},hotkey:{then:"then",ctrl:"Ctrl",command:"Command",space:"Space",shift:"Shift",alt:"Alt",enter:"Enter",escape:"Escape",upArrow:"Up Arrow",downArrow:"Down Arrow",leftArrow:"Left Arrow",rightArrow:"Right Arrow",backspace:"Backspace",option:"Option",plus:"plus",shortcut:"Keyboard shortcut: {0}"},video:{play:"Play",pause:"Pause",seek:"Seek",volume:"Volume",showVolume:"Show volume control",mute:"Mute",unmute:"Unmute",enterFullscreen:"Full screen",exitFullscreen:"Exit full screen"},colorPicker:{ariaLabel:{eyedropper:"Select color with eyedropper",hueSlider:"Hue",alphaSlider:"Alpha",redInput:"Red value",greenInput:"Green value",blueInput:"Blue value",alphaInput:"Alpha value",hueInput:"Hue value",saturationInput:"Saturation value",lightnessInput:"Lightness value",hexInput:"HEX value",hexaInput:"HEX with alpha value",changeFormat:"Change color format"}}},Uc="$vuetify.",Wc=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),am=(e,t,n)=>function(r){for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;onew Intl.NumberFormat([e.value,t.value],r).format(n)}function lm(e,t){return dl(e,t)(.1).includes(",")?",":"."}function So(e,t,n){const r=un(e,t,e[t]??n.value);return r.value=e[t]??n.value,me(n,s=>{e[t]==null&&(r.value=n.value)}),r}function cm(e){return t=>{const n=So(t,"locale",e.current),r=So(t,"fallback",e.fallback),s=So(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:s,decimalSeparator:K(()=>lm(n,r)),t:am(n,r,s),n:dl(n,r),provide:cm({current:n,fallback:r,messages:s})}}}function Iy(e){const t=ce((e==null?void 0:e.locale)??"en"),n=ce((e==null?void 0:e.fallback)??"en"),r=fe({en:ky,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:K(()=>(e==null?void 0:e.decimalSeparator)??lm(t,n)),t:am(t,n,r),n:dl(t,n),provide:cm({current:t,fallback:n,messages:r})}}const Ci=Symbol.for("vuetify:locale");function Dy(e){return e.name!=null}function Ly(e){const t=e!=null&&e.adapter&&Dy(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:Iy(e),n=By(t,e);return{...t,...n}}function Ny(){const e=ye(Ci);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function My(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function By(e,t){const n=fe((t==null?void 0:t.rtl)??My()),r=M(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:K(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function Ps(){const e=ye(Ci);if(!e)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function Os(e){const t=e.slice(-2).toUpperCase();switch(!0){case e==="GB-alt-variant":return{firstDay:0,firstWeekSize:4};case e==="001":return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE + KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US + VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV + MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS + IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case"AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".includes(t):return{firstDay:6,firstWeekSize:1};case t==="MV":return{firstDay:5,firstWeekSize:1};case t==="PT":return{firstDay:0,firstWeekSize:4};default:return null}}function Fy(e,t,n){var c;const r=[];let s=[];const i=um(e),o=fm(e),a=n??((c=Os(t))==null?void 0:c.firstDay)??0,l=(i.getDay()-a+7)%7,u=(o.getDay()-a+7)%7;for(let f=0;f0&&r.push(s),r}function oa(e,t,n){var i;let r=(n??((i=Os(t))==null?void 0:i.firstDay)??0)%7;[0,1,2,3,4,5,6].includes(r)||(r=0);const s=new Date(e);for(;s.getDay()!==r;)s.setDate(s.getDate()-1);return s}function $y(e,t){var s;const n=new Date(e),r=((((s=Os(t))==null?void 0:s.firstDay)??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function um(e){return new Date(e.getFullYear(),e.getMonth(),1)}function fm(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function Vy(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const jy=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function dm(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(jy.test(e))return Vy(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const zc=new Date(2e3,0,2);function Hy(e,t,n){var s;const r=t??((s=Os(e))==null?void 0:s.firstDay)??0;return Wd(7).map(i=>{const o=new Date(zc);return o.setDate(zc.getDate()+r+i),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function Uy(e,t,n,r){const s=dm(e)??new Date,i=r==null?void 0:r[t];if(typeof i=="function")return i(s,t,n);let o={};switch(t){case"fullDate":o={year:"numeric",month:"short",day:"numeric"};break;case"fullDateWithWeekday":o={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":const a=s.getDate(),l=new Intl.DateTimeFormat(n,{month:"long"}).format(s);return`${a} ${l}`;case"normalDateWithWeekday":o={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":o={month:"short",day:"numeric"};break;case"year":o={year:"numeric"};break;case"month":o={month:"long"};break;case"monthShort":o={month:"short"};break;case"monthAndYear":o={month:"long",year:"numeric"};break;case"monthAndDate":o={month:"long",day:"numeric"};break;case"weekday":o={weekday:"long"};break;case"weekdayShort":o={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(n).format(s.getDate());case"hours12h":o={hour:"numeric",hour12:!0};break;case"hours24h":o={hour:"numeric",hour12:!1};break;case"minutes":o={minute:"numeric"};break;case"seconds":o={second:"numeric"};break;case"fullTime":o={hour:"numeric",minute:"numeric"};break;case"fullTime12h":o={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":o={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":o={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime12h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime24h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");default:o=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(n,o).format(s)}function Wy(e,t){const n=e.toJsDate(t),r=n.getFullYear(),s=Tc(String(n.getMonth()+1),2,"0"),i=Tc(String(n.getDate()),2,"0");return`${r}-${s}-${i}`}function zy(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function Ky(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function qy(e,t){const n=new Date(e);return n.setHours(n.getHours()+t),n}function ni(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function Gy(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Yy(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function aa(e){return e.getFullYear()}function Jy(e){return e.getMonth()}function Xy(e,t,n,r){const s=Os(t),i=n??(s==null?void 0:s.firstDay)??0,o=r??(s==null?void 0:s.firstWeekSize)??1;function a(m){const g=new Date(m,0,1);return 7-la(g,oa(g,t,i),"days")}let l=aa(e);const u=ni(oa(e,t,i),6);l=o&&l++;const c=new Date(l,0,1),f=a(l),d=f>=o?ni(c,f-7):ni(c,f);return 1+la(mm(e),xi(d),"weeks")}function Zy(e){return e.getDate()}function Qy(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function eb(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function tb(e){return e.getHours()}function nb(e){return e.getMinutes()}function rb(e){return new Date(e.getFullYear(),0,1)}function sb(e){return new Date(e.getFullYear(),11,31)}function ib(e,t){return _i(e,t[0])&&lb(e,t[1])}function ob(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function _i(e,t){return e.getTime()>t.getTime()}function ab(e,t){return _i(xi(e),xi(t))}function lb(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function q_(){const e=ye(hm);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=Ny();return gm(e,t)}const G_=["sm","md","lg","xl","xxl"],ca=Symbol.for("vuetify:display"),Gc={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},bb=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Gc;return rt(Gc,e)};function Yc(e){return ke&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function Jc(e){return ke&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function Xc(e){const t=ke&&!e?window.navigator.userAgent:"ssr";function n(g){return!!t.match(g)}const r=n(/android/i),s=n(/iphone|ipad|ipod/i),i=n(/cordova/i),o=n(/electron/i),a=n(/chrome/i),l=n(/edge/i),u=n(/firefox/i),c=n(/opera/i),f=n(/win/i),d=n(/mac/i),m=n(/linux/i);return{android:r,ios:s,cordova:i,electron:o,chrome:a,edge:l,firefox:u,opera:c,win:f,mac:d,linux:m,touch:$p,ssr:t==="ssr"}}function wb(e,t){const{thresholds:n,mobileBreakpoint:r}=bb(e),s=ce(Jc(t)),i=ce(Xc(t)),o=ze({}),a=ce(Yc(t));function l(){s.value=Jc(),a.value=Yc()}function u(){l(),i.value=Xc()}return en(()=>{const c=a.value=n.xxl,b=c?"xs":f?"sm":d?"md":m?"lg":g?"xl":"xxl",v=typeof r=="number"?r:n[r],w=a.value{window.removeEventListener("resize",l)},!0)),{...jf(o),update:u,ssr:!!t}}const Y_=Z({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function Sb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{mobile:null},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();const n=ye(ca);if(!n)throw new Error("Could not find Vuetify display injection");const r=M(()=>e.mobile?!0:typeof e.mobileBreakpoint=="number"?n.width.valuet?{[`${t}--mobile`]:r.value}:{});return{...n,displayClasses:s,mobile:r}}const vm=Symbol.for("vuetify:goto");function pm(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:Ty}}function Cb(e){return ml(e)??(document.scrollingElement||document.body)}function ml(e){return typeof e=="string"?document.querySelector(e):sl(e)}function Co(e,t,n){if(typeof e=="number")return t&&n?-e:e;let r=ml(e),s=0;for(;r;)s+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return s}function _b(e,t){return{rtl:t.isRtl,options:rt(pm(),e)}}async function Zc(e,t,n,r){const s=n?"scrollLeft":"scrollTop",i=rt((r==null?void 0:r.options)??pm(),t),o=r==null?void 0:r.rtl.value,a=(typeof e=="number"?e:ml(e))??0,l=i.container==="parent"&&a instanceof HTMLElement?a.parentElement:Cb(i.container),u=typeof i.easing=="function"?i.easing:i.patterns[i.easing];if(!u)throw new TypeError(`Easing function "${i.easing}" not found.`);let c;if(typeof a=="number")c=Co(a,n,o);else if(c=Co(a,n,o)-Co(l,n,o),i.layout){const g=window.getComputedStyle(a).getPropertyValue("--v-layout-top");g&&(c-=parseInt(g,10))}c+=i.offset,c=xb(l,c,!!o,!!n);const f=l[s]??0;if(c===f)return Promise.resolve(c);const d=performance.now();return new Promise(m=>requestAnimationFrame(function g(h){const v=(h-d)/i.duration,w=Math.floor(f+(c-f)*u(Tn(v,0,1)));if(l[s]=w,v>=1&&Math.abs(w-l[s])<10)return m(c);if(v>2)return m(l[s]);requestAnimationFrame(g)}))}function J_(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=ye(vm),{isRtl:n}=Ps();if(!t)throw new Error("[Vuetify] Could not find injected goto instance");const r={...t,rtl:K(()=>t.rtl.value||n.value)};async function s(i,o){return Zc(i,rt(e,o),!1,r)}return s.horizontal=async(i,o)=>Zc(i,rt(e,o),!0,r),s}function xb(e,t,n,r){const{scrollWidth:s,scrollHeight:i}=e,[o,a]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight];let l,u;return r?n?(l=-(s-o),u=0):(l=0,u=s-o):(l=0,u=i+-a),Tn(t,l,u)}const Eb={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload",color:"mdi-palette",command:"mdi-apple-keyboard-command",ctrl:"mdi-apple-keyboard-control",space:"mdi-keyboard-space",shift:"mdi-apple-keyboard-shift",alt:"mdi-apple-keyboard-option",enter:"mdi-keyboard-return",arrowup:"mdi-arrow-up",arrowdown:"mdi-arrow-down",arrowleft:"mdi-arrow-left",arrowright:"mdi-arrow-right",backspace:"mdi-backspace",play:"mdi-play",pause:"mdi-pause",fullscreen:"mdi-fullscreen",fullscreenExit:"mdi-fullscreen-exit",volumeHigh:"mdi-volume-high",volumeMedium:"mdi-volume-medium",volumeLow:"mdi-volume-low",volumeOff:"mdi-volume-variant-off"},Ab={component:e=>On(bm,{...e,class:"mdi"})},Ze=[String,Function,Object,Array],ua=Symbol.for("vuetify:icons"),Wi=Z({icon:{type:Ze},tag:{type:[String,Object,Function],required:!0}},"icon"),Qc=be()({name:"VComponentIcon",props:Wi(),setup(e,t){let{slots:n}=t;return()=>{const r=e.icon;return R(e.tag,null,{default:()=>{var s;return[e.icon?R(r,null,null):(s=n.default)==null?void 0:s.call(n)]}})}}}),ym=Pr({name:"VSvgIcon",inheritAttrs:!1,props:Wi(),setup(e,t){let{attrs:n}=t;return()=>R(e.tag,Oe(n,{style:null}),{default:()=>[q("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(r=>Array.isArray(r)?q("path",{d:r[0],"fill-opacity":r[1]},null):q("path",{d:r},null)):q("path",{d:e.icon},null)])]})}});Pr({name:"VLigatureIcon",props:Wi(),setup(e){return()=>R(e.tag,null,{default:()=>[e.icon]})}});const bm=Pr({name:"VClassIcon",props:Wi(),setup(e){return()=>R(e.tag,{class:pe(e.icon)},null)}});function Tb(){return{svg:{component:ym},class:{component:bm}}}function Rb(e){const t=Tb(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=Ab),rt({defaultSet:n,sets:t,aliases:{...Eb,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},e)}const Pb=e=>{const t=ye(ua);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:M(()=>{var l;const r=Qt(e);if(!r)return{component:Qc};let s=r;if(typeof s=="string"&&(s=s.trim(),s.startsWith("$")&&(s=(l=t.aliases)==null?void 0:l[s.slice(1)])),Array.isArray(s))return{component:ym,icon:s};if(typeof s!="string")return{component:Qc,icon:s};const i=Object.keys(t.sets).find(u=>typeof s=="string"&&s.startsWith(`${u}:`)),o=i?s.slice(i.length+1):s;return{component:t.sets[i??t.defaultSet].component,icon:o}})}},ms=Symbol.for("vuetify:theme"),wt=Z({theme:String},"theme");function eu(){return{defaultTheme:"light",prefix:"v-",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#EEEEEE","theme-on-kbd":"#000000","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#c8c8c8","on-surface-variant":"#000000",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#424242","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}},stylesheetId:"vuetify-theme-stylesheet",scoped:!1,unimportant:!1,utilities:!0}}function Ob(){var r,s;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:eu();const t=eu();if(!e)return{...t,isDisabled:!0};const n={};for(const[i,o]of Object.entries(e.themes??{})){const a=o.dark||i==="dark"?(r=t.themes)==null?void 0:r.dark:(s=t.themes)==null?void 0:s.light;n[i]=rt(a,o)}return rt(t,{...e,themes:n})}function Bn(e,t,n,r){e.push(`${Lb(t,r)} { +`,...n.map(s=>` ${s}; +`),`} +`)}function tu(e,t){const n=e.dark?2:1,r=e.dark?1:2,s=[];for(const[i,o]of Object.entries(e.colors)){const a=Yt(o);s.push(`--${t}theme-${i}: ${a.r},${a.g},${a.b}`),i.startsWith("on-")||s.push(`--${t}theme-${i}-overlay-multiplier: ${wy(o)>.18?n:r}`)}for(const[i,o]of Object.entries(e.variables)){const a=typeof o=="string"&&o.startsWith("#")?Yt(o):void 0,l=a?`${a.r}, ${a.g}, ${a.b}`:void 0;s.push(`--${t}${i}: ${l??o}`)}return s}function kb(e,t,n){const r={};if(n)for(const s of["lighten","darken"]){const i=s==="lighten"?yy:by;for(const o of Wd(n[s],1))r[`${e}-${s}-${o}`]=gy(i(Yt(t),o))}return r}function Ib(e,t){if(!t)return{};let n={};for(const r of t.colors){const s=e[r];s&&(n={...n,...kb(r,s,t)})}return n}function Db(e){const t={};for(const n of Object.keys(e)){if(n.startsWith("on-")||e[`on-${n}`])continue;const r=`on-${n}`,s=Yt(e[n]);t[r]=im(s)}return t}function Lb(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function Nb(e,t,n){const r=Mb(e,t);r&&(r.innerHTML=n)}function Mb(e,t){if(!ke)return null;let n=document.getElementById(e);return n||(n=document.createElement("style"),n.id=e,n.type="text/css",t&&n.setAttribute("nonce",t),document.head.appendChild(n)),n}function Bb(e){const t=Ob(e),n=ce(t.defaultTheme),r=fe(t.themes),s=ce("light"),i=M({get(){return n.value==="system"?s.value:n.value},set(v){n.value=v}}),o=M(()=>{const v={};for(const[w,S]of Object.entries(r.value)){const E={...S.colors,...Ib(S.colors,t.variations)};v[w]={...S,colors:{...E,...Db(E)}}}return v}),a=K(()=>o.value[i.value]),l=K(()=>n.value==="system"),u=M(()=>{var E;const v=[],w=t.unimportant?"":" !important",S=t.scoped?t.prefix:"";(E=a.value)!=null&&E.dark&&Bn(v,":root",["color-scheme: dark"],t.scope),Bn(v,":root",tu(a.value,t.prefix),t.scope);for(const[D,O]of Object.entries(o.value))Bn(v,`.${t.prefix}theme--${D}`,[`color-scheme: ${O.dark?"dark":"normal"}`,...tu(O,t.prefix)],t.scope);if(t.utilities){const D=[],O=[],B=new Set(Object.values(o.value).flatMap(T=>Object.keys(T.colors)));for(const T of B)T.startsWith("on-")?Bn(O,`.${T}`,[`color: rgb(var(--${t.prefix}theme-${T}))${w}`],t.scope):(Bn(D,`.${S}bg-${T}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${T}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${T}))${w}`,`color: rgb(var(--${t.prefix}theme-on-${T}))${w}`],t.scope),Bn(O,`.${S}text-${T}`,[`color: rgb(var(--${t.prefix}theme-${T}))${w}`],t.scope),Bn(O,`.${S}border-${T}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${T})`],t.scope));v.push(...D,...O)}return v.map((D,O)=>O===0?D:` ${D}`).join("")}),c=K(()=>t.isDisabled?void 0:`${t.prefix}theme--${i.value}`),f=K(()=>Object.keys(o.value));if(Vp){let w=function(){s.value=v.matches?"dark":"light"};const v=window.matchMedia("(prefers-color-scheme: dark)");w(),v.addEventListener("change",w,{passive:!0}),Cf()&&ut(()=>{v.removeEventListener("change",w)})}function d(v){if(t.isDisabled)return;const w=v._context.provides.usehead;if(w){let S=function(){return{style:[{textContent:u.value,id:t.stylesheetId,nonce:t.cspNonce||!1}]}};if(w.push){const E=w.push(S);ke&&me(u,()=>{E.patch(S)})}else ke?(w.addHeadObjs(K(S)),en(()=>w.updateDOM())):w.addHeadObjs(S())}else{let S=function(){Nb(t.stylesheetId,t.cspNonce,u.value)};ke?me(u,S,{immediate:!0}):S()}}function m(v){v!=="system"&&!f.value.includes(v)||(i.value=v)}function g(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.value;const w=v.indexOf(i.value),S=w===-1?0:(w+1)%v.length;m(v[S])}function h(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["light","dark"];g(v)}const b=new Proxy(i,{get(v,w){return Reflect.get(v,w)},set(v,w,S){return w==="value"&&em(`theme.global.name.value = ${S}`,`theme.change('${S}')`),Reflect.set(v,w,S)}});return{install:d,change:m,cycle:g,toggle:h,isDisabled:t.isDisabled,isSystem:l,name:i,themes:r,current:a,computedThemes:o,prefix:t.prefix,themeClasses:c,styles:u,global:{name:b,current:a}}}function Rt(e){Ue("provideTheme");const t=ye(ms,null);if(!t)throw new Error("Could not find Vuetify theme injection");const n=K(()=>e.theme??t.name.value),r=K(()=>t.themes.value[n.value]),s=K(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),i={...t,name:n,current:r,themeClasses:s};return st(ms,i),i}function wm(){Ue("useTheme");const e=ye(ms,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function Sm(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=ta(),r=fe();if(ke){const s=new ResizeObserver(i=>{e==null||e(i,s),i.length&&(t==="content"?r.value=i[0].contentRect:r.value=i[0].target.getBoundingClientRect())});Tt(()=>{s.disconnect()}),me(()=>n.el,(i,o)=>{o&&(s.unobserve(o),r.value=void 0),i&&s.observe(i)},{flush:"post"})}return{resizeRef:n,contentRect:Cs(r)}}const hs=Symbol.for("vuetify:layout"),Cm=Symbol.for("vuetify:layout-item"),nu=1e3,Fb=Z({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),X_=Z({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function $b(){const e=ye(hs);if(!e)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function Z_(e){const t=ye(hs);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${rd()}`,r=Ue("useLayoutItem");st(Cm,{id:n});const s=ce(!1);od(()=>s.value=!0),id(()=>s.value=!1);const{layoutItemStyles:i,layoutItemScrimStyles:o}=t.register(r,{...e,active:M(()=>s.value?!1:e.active.value),id:n});return Tt(()=>t.unregister(n)),{layoutItemStyles:i,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const Vb=(e,t,n,r)=>{let s={top:0,left:0,right:0,bottom:0};const i=[{id:"",layer:{...s}}];for(const o of e){const a=t.get(o),l=n.get(o),u=r.get(o);if(!a||!l||!u)continue;const c={...s,[a.value]:parseInt(s[a.value],10)+(u.value?parseInt(l.value,10):0)};i.push({id:o,layer:c}),s=c}return i};function jb(e){const t=ye(hs,null),n=M(()=>t?t.rootZIndex.value-100:nu),r=fe([]),s=ze(new Map),i=ze(new Map),o=ze(new Map),a=ze(new Map),l=ze(new Map),{resizeRef:u,contentRect:c}=Sm(),f=M(()=>{const O=new Map,B=e.overlaps??[];for(const T of B.filter(I=>I.includes(":"))){const[I,W]=T.split(":");if(!r.value.includes(I)||!r.value.includes(W))continue;const V=s.get(I),A=s.get(W),N=i.get(I),J=i.get(W);!V||!A||!N||!J||(O.set(W,{position:V.value,amount:parseInt(N.value,10)}),O.set(I,{position:A.value,amount:-parseInt(J.value,10)}))}return O}),d=M(()=>{const O=[...new Set([...o.values()].map(T=>T.value))].sort((T,I)=>T-I),B=[];for(const T of O){const I=r.value.filter(W=>{var V;return((V=o.get(W))==null?void 0:V.value)===T});B.push(...I)}return Vb(B,s,i,a)}),m=M(()=>!Array.from(l.values()).some(O=>O.value)),g=M(()=>d.value[d.value.length-1].layer),h=K(()=>({"--v-layout-left":de(g.value.left),"--v-layout-right":de(g.value.right),"--v-layout-top":de(g.value.top),"--v-layout-bottom":de(g.value.bottom),...m.value?void 0:{transition:"none"}})),b=M(()=>d.value.slice(1).map((O,B)=>{let{id:T}=O;const{layer:I}=d.value[B],W=i.get(T),V=s.get(T);return{id:T,...I,size:Number(W.value),position:V.value}})),v=O=>b.value.find(B=>B.id===O),w=Ue("createLayout"),S=ce(!1);Pn(()=>{S.value=!0}),st(hs,{register:(O,B)=>{let{id:T,order:I,position:W,layoutSize:V,elementSize:A,active:N,disableTransitions:J,absolute:X}=B;o.set(T,I),s.set(T,W),i.set(T,V),a.set(T,N),J&&l.set(T,J);const oe=cr(Cm,w==null?void 0:w.vnode).indexOf(O);oe>-1?r.value.splice(oe,0,T):r.value.push(T);const se=M(()=>b.value.findIndex(_e=>_e.id===T)),Fe=M(()=>n.value+d.value.length*2-se.value*2),Ce=M(()=>{const _e=W.value==="left"||W.value==="right",je=W.value==="right",it=W.value==="bottom",ue=A.value??V.value,Ne=ue===0?"%":"px",_={[W.value]:0,zIndex:Fe.value,transform:`translate${_e?"X":"Y"}(${(N.value?0:-(ue===0?100:ue))*(je||it?-1:1)}${Ne})`,position:X.value||n.value!==nu?"absolute":"fixed",...m.value?void 0:{transition:"none"}};if(!S.value)return _;const F=b.value[se.value],j=f.value.get(T);return j&&(F[j.position]+=j.amount),{..._,height:_e?`calc(100% - ${F.top}px - ${F.bottom}px)`:A.value?`${A.value}px`:void 0,left:je?void 0:`${F.left}px`,right:je?`${F.right}px`:void 0,top:W.value!=="bottom"?`${F.top}px`:void 0,bottom:W.value!=="top"?`${F.bottom}px`:void 0,width:_e?A.value?`${A.value}px`:void 0:`calc(100% - ${F.left}px - ${F.right}px)`}}),Le=M(()=>({zIndex:Fe.value-1}));return{layoutItemStyles:Ce,layoutItemScrimStyles:Le,zIndex:Fe}},unregister:O=>{o.delete(O),s.delete(O),i.delete(O),a.delete(O),l.delete(O),r.value=r.value.filter(B=>B!==O)},mainRect:g,mainStyles:h,getLayoutItem:v,items:b,layoutRect:c,rootZIndex:n});const E=K(()=>["v-layout",{"v-layout--full-height":e.fullHeight}]),D=K(()=>({zIndex:t?n.value:void 0,position:t?"relative":void 0,overflow:t?"hidden":void 0}));return{layoutClasses:E,layoutStyles:D,getLayoutItem:v,items:b,layoutRect:c,layoutRef:u}}function _m(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=rt(t,n),{aliases:s={},components:i={},directives:o={}}=r,a=Sr();return a.run(()=>{const l=Cy(r.defaults),u=wb(r.display,r.ssr),c=Bb(r.theme),f=Rb(r.icons),d=Ly(r.locale),m=yb(r.date,d),g=_b(r.goTo,d);function h(v){for(const S in o)v.directive(S,o[S]);for(const S in i)v.component(S,i[S]);for(const S in s)v.component(S,Pr({...s[S],name:S,aliasName:s[S].name}));const w=Sr();if(w.run(()=>{c.install(v)}),v.onUnmount(()=>w.stop()),v.provide(xr,l),v.provide(ca,u),v.provide(ms,c),v.provide(ua,f),v.provide(Ci,d),v.provide(hm,m.options),v.provide(qc,m.instance),v.provide(vm,g),ke&&r.ssr)if(v.$nuxt)v.$nuxt.hook("app:suspense:resolve",()=>{u.update()});else{const{mount:S}=v;v.mount=function(){const E=S(...arguments);return At(()=>u.update()),v.mount=S,E}}v.mixin({computed:{$vuetify(){return ze({defaults:sr.call(this,xr),display:sr.call(this,ca),theme:sr.call(this,ms),icons:sr.call(this,ua),locale:sr.call(this,Ci),date:sr.call(this,qc)})}}})}function b(){a.stop()}return{install:h,unmount:b,defaults:l,display:u,theme:c,icons:f,locale:d,date:m,goTo:g}})}const Hb="3.9.6";_m.version=Hb;function sr(e){var r,s;const t=this.$,n=((r=t.parent)==null?void 0:r.provides)??((s=t.vnode.appContext)==null?void 0:s.provides);if(n&&e in n)return n[e]}const Ub=_m({theme:{defaultTheme:"dark"}});/*! + * pinia v3.0.3 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const Wb=Symbol();var ru;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ru||(ru={}));function zb(){const e=Sr(!0),t=e.run(()=>fe({}));let n=[],r=[];const s=Ff({install(i){s._a=i,i.provide(Wb,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Kb=zb();/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const ar=typeof document<"u";function xm(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function qb(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&xm(e.default)}const we=Object.assign;function _o(e,t){const n={};for(const r in t){const s=t[r];n[r]=Dt(s)?s.map(e):e(s)}return n}const ss=()=>{},Dt=Array.isArray,Em=/#/g,Gb=/&/g,Yb=/\//g,Jb=/=/g,Xb=/\?/g,Am=/\+/g,Zb=/%5B/g,Qb=/%5D/g,Tm=/%5E/g,e0=/%60/g,Rm=/%7B/g,t0=/%7C/g,Pm=/%7D/g,n0=/%20/g;function hl(e){return encodeURI(""+e).replace(t0,"|").replace(Zb,"[").replace(Qb,"]")}function r0(e){return hl(e).replace(Rm,"{").replace(Pm,"}").replace(Tm,"^")}function fa(e){return hl(e).replace(Am,"%2B").replace(n0,"+").replace(Em,"%23").replace(Gb,"%26").replace(e0,"`").replace(Rm,"{").replace(Pm,"}").replace(Tm,"^")}function s0(e){return fa(e).replace(Jb,"%3D")}function i0(e){return hl(e).replace(Em,"%23").replace(Xb,"%3F")}function o0(e){return e==null?"":i0(e).replace(Yb,"%2F")}function gs(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const a0=/\/$/,l0=e=>e.replace(a0,"");function xo(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=d0(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:gs(o)}}function c0(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function su(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function u0(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Er(t.matched[r],n.matched[s])&&Om(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Er(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Om(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!f0(e[n],t[n]))return!1;return!0}function f0(e,t){return Dt(e)?iu(e,t):Dt(t)?iu(t,e):e===t}function iu(e,t){return Dt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function d0(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const yn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var vs;(function(e){e.pop="pop",e.push="push"})(vs||(vs={}));var is;(function(e){e.back="back",e.forward="forward",e.unknown=""})(is||(is={}));function m0(e){if(!e)if(ar){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),l0(e)}const h0=/^[^#]+#/;function g0(e,t){return e.replace(h0,"#")+t}function v0(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 zi=()=>({left:window.scrollX,top:window.scrollY});function p0(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=v0(s,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 ou(e,t){return(history.state?history.state.position-t:-1)+e}const da=new Map;function y0(e,t){da.set(e,t)}function b0(e){const t=da.get(e);return da.delete(e),t}let w0=()=>location.protocol+"//"+location.host;function km(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),su(l,"")}return su(n,e)+r+s}function S0(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const m=km(e,location),g=n.value,h=t.value;let b=0;if(d){if(n.value=m,t.value=d,o&&o===g){o=null;return}b=h?d.position-h.position:0}else r(m);s.forEach(v=>{v(n.value,g,{delta:b,type:vs.pop,direction:b?b>0?is.forward:is.back:is.unknown})})};function l(){o=n.value}function u(d){s.push(d);const m=()=>{const g=s.indexOf(d);g>-1&&s.splice(g,1)};return i.push(m),m}function c(){const{history:d}=window;d.state&&d.replaceState(we({},d.state,{scroll:zi()}),"")}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:l,listen:u,destroy:f}}function au(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?zi():null}}function C0(e){const{history:t,location:n}=window,r={value:km(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:w0()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(m){console.error(m),n[c?"replace":"assign"](d)}}function o(l,u){const c=we({},t.state,au(s.value.back,l,s.value.forward,!0),u,{position:s.value.position});i(l,c,!0),r.value=l}function a(l,u){const c=we({},s.value,t.state,{forward:l,scroll:zi()});i(c.current,c,!0);const f=we({},au(r.value,l,null),{position:c.position+1},u);i(l,f,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function _0(e){e=m0(e);const t=C0(e),n=S0(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=we({location:"",base:e,go:r,createHref:g0.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function x0(e){return typeof e=="string"||e&&typeof e=="object"}function Im(e){return typeof e=="string"||typeof e=="symbol"}const Dm=Symbol("");var lu;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lu||(lu={}));function Ar(e,t){return we(new Error,{type:e,[Dm]:!0},t)}function rn(e,t){return e instanceof Error&&Dm in e&&(t==null||!!(e.type&t))}const cu="[^/]+?",E0={sensitive:!1,strict:!1,start:!0,end:!0},A0=/[.+*?^${}()[\]/\\]/g;function T0(e,t){const n=we({},E0,t),r=[];let s=n.start?"^":"";const i=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Lm(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const P0={type:0,value:""},O0=/[a-zA-Z0-9_]/;function k0(e){if(!e)return[[]];if(e==="/")return[[P0]];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 s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,l,u="",c="";function f(){u&&(n===0?i.push({type:0,value:u}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;a{o(S)}:ss}function o(f){if(Im(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function a(){return n}function l(f){const d=M0(f,n);n.splice(d,0,f),f.record.name&&!mu(f)&&r.set(f.record.name,f)}function u(f,d){let m,g={},h,b;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw Ar(1,{location:f});b=m.record.name,g=we(fu(d.params,m.keys.filter(S=>!S.optional).concat(m.parent?m.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),f.params&&fu(f.params,m.keys.map(S=>S.name))),h=m.stringify(g)}else if(f.path!=null)h=f.path,m=n.find(S=>S.re.test(h)),m&&(g=m.parse(h),b=m.record.name);else{if(m=d.name?r.get(d.name):n.find(S=>S.re.test(d.path)),!m)throw Ar(1,{location:f,currentLocation:d});b=m.record.name,g=we({},d.params,f.params),h=m.stringify(g)}const v=[];let w=m;for(;w;)v.unshift(w.record),w=w.parent;return{name:b,path:h,params:g,matched:v,meta:N0(v)}}e.forEach(f=>i(f));function c(){n.length=0,r.clear()}return{addRoute:i,resolve:u,removeRoute:o,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function fu(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function du(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:L0(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function L0(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 mu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function N0(e){return e.reduce((t,n)=>we(t,n.meta),{})}function hu(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function M0(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;Lm(e,t[i])<0?r=i:n=i+1}const s=B0(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function B0(e){let t=e;for(;t=t.parent;)if(Nm(t)&&Lm(e,t)===0)return t}function Nm({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function F0(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&fa(i)):[r&&fa(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function $0(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Dt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const V0=Symbol(""),vu=Symbol(""),Ki=Symbol(""),gl=Symbol(""),ma=Symbol("");function Hr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Cn(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(Ar(4,{from:n,to:t})):d instanceof Error?l(d):x0(d)?l(Ar(2,{from:t,to:d})):(o&&r.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),a())},c=i(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function Eo(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let l=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(xm(l)){const c=(l.__vccOpts||l)[t];c&&i.push(Cn(c,n,r,o,a,s))}else{let u=l();i.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const f=qb(c)?c.default:c;o.mods[a]=c,o.components[a]=f;const m=(f.__vccOpts||f)[t];return m&&Cn(m,n,r,o,a,s)()}))}}return i}function pu(e){const t=ye(Ki),n=ye(gl),r=M(()=>{const l=yt(e.to);return t.resolve(l)}),s=M(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(Er.bind(null,c));if(d>-1)return d;const m=yu(l[u-2]);return u>1&&yu(c)===m&&f[f.length-1].path!==m?f.findIndex(Er.bind(null,l[u-2])):d}),i=M(()=>s.value>-1&&z0(n.params,r.value.params)),o=M(()=>s.value>-1&&s.value===n.matched.length-1&&Om(n.params,r.value.params));function a(l={}){if(W0(l)){const u=t[yt(e.replace)?"replace":"push"](yt(e.to)).catch(ss);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:M(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}function j0(e){return e.length===1?e[0]:e}const H0=Bi({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"},viewTransition:Boolean},useLink:pu,setup(e,{slots:t}){const n=ze(pu(e)),{options:r}=ye(Ki),s=M(()=>({[bu(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[bu(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&j0(t.default(n));return e.custom?i:On("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),U0=H0;function W0(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 z0(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Dt(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function yu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bu=(e,t,n)=>e??t??n,K0=Bi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ye(ma),s=M(()=>e.route||r.value),i=ye(vu,0),o=M(()=>{let u=yt(i);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=M(()=>s.value.matched[o.value]);st(vu,M(()=>o.value+1)),st(V0,a),st(ma,s);const l=fe();return me(()=>[l.value,a.value,e.name],([u,c,f],[d,m,g])=>{c&&(c.instances[f]=u,m&&m!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),u&&c&&(!m||!Er(c,m)||!d)&&(c.enterCallbacks[f]||[]).forEach(h=>h(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return wu(n.default,{Component:d,route:u});const m=f.props[c],g=m?m===!0?u.params:typeof m=="function"?m(u):m:null,b=On(d,we({},g,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return wu(n.default,{Component:b,route:u})||b}}});function wu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const q0=K0;function G0(e){const t=D0(e.routes,e),n=e.parseQuery||F0,r=e.stringifyQuery||gu,s=e.history,i=Hr(),o=Hr(),a=Hr(),l=ce(yn);let u=yn;ar&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=_o.bind(null,_=>""+_),f=_o.bind(null,o0),d=_o.bind(null,gs);function m(_,F){let j,Y;return Im(_)?(j=t.getRecordMatcher(_),Y=F):Y=_,t.addRoute(Y,j)}function g(_){const F=t.getRecordMatcher(_);F&&t.removeRoute(F)}function h(){return t.getRoutes().map(_=>_.record)}function b(_){return!!t.getRecordMatcher(_)}function v(_,F){if(F=we({},F||l.value),typeof _=="string"){const C=xo(n,_,F.path),k=t.resolve({path:C.path},F),L=s.createHref(C.fullPath);return we(C,k,{params:d(k.params),hash:gs(C.hash),redirectedFrom:void 0,href:L})}let j;if(_.path!=null)j=we({},_,{path:xo(n,_.path,F.path).path});else{const C=we({},_.params);for(const k in C)C[k]==null&&delete C[k];j=we({},_,{params:f(C)}),F.params=f(F.params)}const Y=t.resolve(j,F),he=_.hash||"";Y.params=c(d(Y.params));const p=c0(r,we({},_,{hash:r0(he),path:Y.path})),y=s.createHref(p);return we({fullPath:p,hash:he,query:r===gu?$0(_.query):_.query||{}},Y,{redirectedFrom:void 0,href:y})}function w(_){return typeof _=="string"?xo(n,_,l.value.path):we({},_)}function S(_,F){if(u!==_)return Ar(8,{from:F,to:_})}function E(_){return B(_)}function D(_){return E(we(w(_),{replace:!0}))}function O(_){const F=_.matched[_.matched.length-1];if(F&&F.redirect){const{redirect:j}=F;let Y=typeof j=="function"?j(_):j;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=w(Y):{path:Y},Y.params={}),we({query:_.query,hash:_.hash,params:Y.path!=null?{}:_.params},Y)}}function B(_,F){const j=u=v(_),Y=l.value,he=_.state,p=_.force,y=_.replace===!0,C=O(j);if(C)return B(we(w(C),{state:typeof C=="object"?we({},he,C.state):he,force:p,replace:y}),F||j);const k=j;k.redirectedFrom=F;let L;return!p&&u0(r,Y,j)&&(L=Ar(16,{to:k,from:Y}),Le(Y,Y,!0,!1)),(L?Promise.resolve(L):W(k,Y)).catch(P=>rn(P)?rn(P,2)?P:Ce(P):se(P,k,Y)).then(P=>{if(P){if(rn(P,2))return B(we({replace:y},w(P.to),{state:typeof P.to=="object"?we({},he,P.to.state):he,force:p}),F||k)}else P=A(k,Y,!0,y,he);return V(k,Y,P),P})}function T(_,F){const j=S(_,F);return j?Promise.reject(j):Promise.resolve()}function I(_){const F=it.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(_):_()}function W(_,F){let j;const[Y,he,p]=Y0(_,F);j=Eo(Y.reverse(),"beforeRouteLeave",_,F);for(const C of Y)C.leaveGuards.forEach(k=>{j.push(Cn(k,_,F))});const y=T.bind(null,_,F);return j.push(y),Ne(j).then(()=>{j=[];for(const C of i.list())j.push(Cn(C,_,F));return j.push(y),Ne(j)}).then(()=>{j=Eo(he,"beforeRouteUpdate",_,F);for(const C of he)C.updateGuards.forEach(k=>{j.push(Cn(k,_,F))});return j.push(y),Ne(j)}).then(()=>{j=[];for(const C of p)if(C.beforeEnter)if(Dt(C.beforeEnter))for(const k of C.beforeEnter)j.push(Cn(k,_,F));else j.push(Cn(C.beforeEnter,_,F));return j.push(y),Ne(j)}).then(()=>(_.matched.forEach(C=>C.enterCallbacks={}),j=Eo(p,"beforeRouteEnter",_,F,I),j.push(y),Ne(j))).then(()=>{j=[];for(const C of o.list())j.push(Cn(C,_,F));return j.push(y),Ne(j)}).catch(C=>rn(C,8)?C:Promise.reject(C))}function V(_,F,j){a.list().forEach(Y=>I(()=>Y(_,F,j)))}function A(_,F,j,Y,he){const p=S(_,F);if(p)return p;const y=F===yn,C=ar?history.state:{};j&&(Y||y?s.replace(_.fullPath,we({scroll:y&&C&&C.scroll},he)):s.push(_.fullPath,he)),l.value=_,Le(_,F,j,y),Ce()}let N;function J(){N||(N=s.listen((_,F,j)=>{if(!ue.listening)return;const Y=v(_),he=O(Y);if(he){B(we(he,{replace:!0,force:!0}),Y).catch(ss);return}u=Y;const p=l.value;ar&&y0(ou(p.fullPath,j.delta),zi()),W(Y,p).catch(y=>rn(y,12)?y:rn(y,2)?(B(we(w(y.to),{force:!0}),Y).then(C=>{rn(C,20)&&!j.delta&&j.type===vs.pop&&s.go(-1,!1)}).catch(ss),Promise.reject()):(j.delta&&s.go(-j.delta,!1),se(y,Y,p))).then(y=>{y=y||A(Y,p,!1),y&&(j.delta&&!rn(y,8)?s.go(-j.delta,!1):j.type===vs.pop&&rn(y,20)&&s.go(-1,!1)),V(Y,p,y)}).catch(ss)}))}let X=Hr(),re=Hr(),oe;function se(_,F,j){Ce(_);const Y=re.list();return Y.length?Y.forEach(he=>he(_,F,j)):console.error(_),Promise.reject(_)}function Fe(){return oe&&l.value!==yn?Promise.resolve():new Promise((_,F)=>{X.add([_,F])})}function Ce(_){return oe||(oe=!_,J(),X.list().forEach(([F,j])=>_?j(_):F()),X.reset()),_}function Le(_,F,j,Y){const{scrollBehavior:he}=e;if(!ar||!he)return Promise.resolve();const p=!j&&b0(ou(_.fullPath,0))||(Y||!j)&&history.state&&history.state.scroll||null;return At().then(()=>he(_,F,p)).then(y=>y&&p0(y)).catch(y=>se(y,_,F))}const _e=_=>s.go(_);let je;const it=new Set,ue={currentRoute:l,listening:!0,addRoute:m,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:h,resolve:v,options:e,push:E,replace:D,go:_e,back:()=>_e(-1),forward:()=>_e(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:re.add,isReady:Fe,install(_){const F=this;_.component("RouterLink",U0),_.component("RouterView",q0),_.config.globalProperties.$router=F,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>yt(l)}),ar&&!je&&l.value===yn&&(je=!0,E(s.location).catch(he=>{}));const j={};for(const he in yn)Object.defineProperty(j,he,{get:()=>l.value[he],enumerable:!0});_.provide(Ki,F),_.provide(gl,Bf(j)),_.provide(ma,l);const Y=_.unmount;it.add(_),_.unmount=function(){it.delete(_),it.size<1&&(u=yn,N&&N(),N=null,l.value=yn,je=!1,oe=!1),Y()}}};function Ne(_){return _.reduce((F,j)=>F.then(()=>I(j)),Promise.resolve())}return ue}function Y0(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oEr(u,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(u=>Er(u,l))||s.push(l))}return[n,r,s]}function J0(){return ye(Ki)}function X0(e){return ye(gl)}function Z0(e){const{extendRoutes:t,routes:n}=e;return t&&console.warn('"extendRoutes()" is deprecated, please modify the routes directly. See https://uvr.esm.is/guide/extending-routes.html#extending-routes-at-runtime for an alternative.'),G0(Object.assign(e,{routes:typeof t=="function"&&t(n)||n}))}const Q0="modulepreload",ew=function(e,t){return new URL(e,t).href},Su={},Ht=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(n.map(u=>{if(u=ew(u,r),u in Su)return;Su[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(!!r)for(let g=o.length-1;g>=0;g--){const h=o[g];if(h.href===u&&(!c||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${f}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":Q0,c||(m.as="script"),m.crossOrigin="",m.href=u,l&&m.setAttribute("nonce",l),document.head.appendChild(m),c)return new Promise((g,h)=>{m.addEventListener("load",g),m.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})},tw=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>Ht(()=>import("./default-BkVDT-XT.js"),__vite__mapDeps([0,1]),import.meta.url)})).forEach(([s,i])=>{let o=s.replace("/src/layouts/","").replace(".vue","");t[o]=i});function r(s,i=!0){return s.map(o=>{var a,l,u,c,f,d;if(((a=o.children)==null?void 0:a.length)>0&&(o.children=r(o.children,!1)),i){if(!o.component&&((l=o.children)==null?void 0:l.find(g=>{var h;return(g.path===""||g.path==="/")&&((h=g.meta)==null?void 0:h.isLayout)})))return o;if(((u=o.meta)==null?void 0:u.layout)!==!1)return{path:o.path,component:t[((c=o.meta)==null?void 0:c.layout)||"default"],children:o.path==="/"?[o]:[{...o,path:""}],meta:{isLayout:!0}}}return(f=o.meta)!=null&&f.layout?{path:o.path,component:t[(d=o.meta)==null?void 0:d.layout],children:[{...o,path:""}],meta:{isLayout:!0}}:o})}return r(e)},nw=[{path:"/",name:"/",component:()=>Ht(()=>import("./index-D5vdCSHD.js"),__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]),import.meta.url)},{path:"/404",name:"/404",component:()=>Ht(()=>import("./404-BJm7Jo-i.js"),__vite__mapDeps([22,20,19]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>Ht(()=>import("./CacheManagement-BBgWlMor.js"),__vite__mapDeps([23,24,25,26,27,7,8,28,29,20,19]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>Ht(()=>import("./cses2wakeup-DptYMSoX.js"),__vite__mapDeps([30,20,24,25,31,32,3,4,33,34,7,8,5,6,17,18,35,36,28,29,37,9,10,38,19,39]),import.meta.url)},{path:"/DataMigration",name:"/DataMigration",component:()=>Ht(()=>import("./DataMigration-Db9udzL3.js"),__vite__mapDeps([40,20,3,4,32,33,24,25,37,9,10,7,8,38,28,29,19,41]),import.meta.url)},{path:"/examschedule",name:"/examschedule",component:()=>Ht(()=>import("./examschedule-Czp1n8x5.js"),__vite__mapDeps([42,24,25,28,29,5,6,7,8,20,3,4,17,18,9,10,11,12,19,43]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>Ht(()=>import("./index-HJ4AKYAs.js"),__vite__mapDeps([44,14,15,3,4,19]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>Ht(()=>import("./_id_-BYSFipi2.js"),__vite__mapDeps([45,14,15,3,4,32,33,7,8,17,18,35,36,19]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>Ht(()=>import("./settings-BDKTM0jc.js"),__vite__mapDeps([46,13,14,15,7,8,3,4,16,20,35,32,33,36,37,9,10,38,24,25,19,26,27,17,18,31,34,47]),import.meta.url)}],vl=Z0({history:_0("./"),routes:tw(nw)});vl.onError((e,t)=>{var n,r;(r=(n=e==null?void 0:e.message)==null?void 0:n.includes)!=null&&r.call(n,"Failed to fetch dynamically imported module")?localStorage.getItem("vuetify:dynamic-reload")?console.error("Dynamic import error, reloading page did not fix it",e):(console.log("Reloading page to fix dynamic import error"),localStorage.setItem("vuetify:dynamic-reload","true"),location.assign(t.fullPath)):console.error(e)});vl.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function rw(e){e.use(Ub).use(vl).use(Kb)}let qs;const sw=new Uint8Array(16);function iw(){if(!qs&&(qs=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!qs))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qs(sw)}const Ke=[];for(let e=0;e<256;++e)Ke.push((e+256).toString(16).slice(1));function ow(e,t=0){return Ke[e[t+0]]+Ke[e[t+1]]+Ke[e[t+2]]+Ke[e[t+3]]+"-"+Ke[e[t+4]]+Ke[e[t+5]]+"-"+Ke[e[t+6]]+Ke[e[t+7]]+"-"+Ke[e[t+8]]+Ke[e[t+9]]+"-"+Ke[e[t+10]]+Ke[e[t+11]]+Ke[e[t+12]]+Ke[e[t+13]]+Ke[e[t+14]]+Ke[e[t+15]]}const aw=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Cu={randomUUID:aw};function lw(e,t,n){if(Cu.randomUUID&&!e)return Cu.randomUUID();e=e||{};const r=e.random||(e.rng||iw)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,ow(r)}async function cw(){return Notification&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function uw(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}async function fw(){if(await cw()&&In.getSetting("storage.persistOnLoad")){const t=await uw();console.log(`持久性存储状态: ${t?"已启用":"未启用"}`)}}typeof window<"u"&&window.addEventListener("load",fw);const Ao="Classworks_settings";function dw(){return lw()}const _u={"server.domain":"https://kv.wuyuan.dev","server.siteKey":""},Fn={"device.uuid":{type:"string",default:dw(),description:"设备唯一标识符",icon:"mdi-identifier"},"namespace.password":{type:"string",default:"",description:"命名空间访问密码",icon:"mdi-key"},"namespace.accessType":{type:"string",default:"readwrite",description:"访问权限类型",icon:"mdi-shield-lock",validate:e=>["readonly","readwrite"].includes(e)},"storage.persistOnLoad":{type:"boolean",default:!0,description:"是否在页面加载时自动请求持久性存储",icon:"mdi-database-sync"},"display.emptySubjectDisplay":{type:"string",default:"card",validate:e=>["card","button"].includes(e),description:"空科目的显示方式",icon:"mdi-card-outline"},"display.dynamicSort":{type:"boolean",default:!0,description:"是否启用动态排序",icon:"mdi-sort-variant"},"display.showRandomButton":{type:"boolean",default:!1,description:"是否显示随机点人按钮",icon:"mdi-shuffle-variant"},"display.showFullscreenButton":{type:"boolean",default:!0,description:"是否显示全屏按钮",icon:"mdi-fullscreen"},"display.cardHoverEffect":{type:"boolean",default:!0,description:"是否启用卡片悬浮效果",icon:"mdi-gesture-tap"},"display.enhancedTouchMode":{type:"boolean",default:!0,description:"是否启用增强触摸模式",icon:"mdi-gesture-tap-button"},"display.showAntiScreenBurnCard":{type:"boolean",default:!1,description:"是否显示防烧屏忽悠卡片",icon:"mdi-monitor-shimmer"},"display.showListCard":{type:"boolean",default:!0,description:"是否显示列表卡片",icon:"mdi-list-box"},"display.showExamScheduleButton":{type:"boolean",default:!0,description:"是否显示考试看板",icon:"mdi-calendar-check"},"server.domain":{type:"string",default:"",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("域名格式无效:",t),!1}},description:"后端服务器域名",icon:"mdi-web"},"server.classNumber":{type:"string",default:"高三八班",validate:e=>/.*/.test(e),description:"班级编号",icon:"mdi-account-group"},"server.siteKey":{type:"string",default:"",description:"网站令牌",icon:"mdi-key-chain"},"server.provider":{type:"string",default:"kv-local",validate:e=>["kv-local","kv-server","classworkscloud"].includes(e),description:"数据提供者",icon:"mdi-database"},"refresh.auto":{type:"boolean",default:!1,description:"是否启用自动刷新",icon:"mdi-refresh-auto"},"refresh.interval":{type:"number",default:300,validate:e=>e>=10&&e<=3600,description:"自动刷新间隔(秒)",icon:"mdi-timer-outline"},"font.size":{type:"number",default:28,validate:e=>e>=16&&e<=100,description:"字体大小",icon:"mdi-format-size"},"edit.autoSave":{type:"boolean",default:!0,description:"是否启用自动保存",icon:"mdi-content-save-outline"},"edit.blockNonTodayAutoSave":{type:"boolean",default:!0,description:"禁止自动保存非当天数据",icon:"mdi-calendar-lock"},"edit.refreshBeforeEdit":{type:"boolean",default:!0,description:"编辑前是否自动刷新",icon:"mdi-refresh"},"edit.confirmNonTodaySave":{type:"boolean",default:!0,description:"保存非当天数据需确认",icon:"mdi-calendar-alert"},"developer.enabled":{type:"boolean",default:!1,description:"是否启用开发者选项",icon:"mdi-developer-board"},"developer.showDebugConfig":{type:"boolean",default:!1,description:"是否显示调试配置",icon:"mdi-bug-outline"},"developer.disableMessageLog":{type:"boolean",default:!1,description:"禁用消息日志记录",requireDeveloper:!0,icon:"mdi-message-off-outline"},"message.showSidebar":{type:"boolean",default:!0,description:"是否显示消息记录侧栏",requireDeveloper:!0,icon:"mdi-message-text-outline"},"message.maxActiveMessages":{type:"number",default:5,validate:e=>e>=1&&e<=10,description:"同时显示的最大消息数量",requireDeveloper:!0,icon:"mdi-message-badge-outline"},"message.timeout":{type:"number",default:5e3,validate:e=>e>=1e3&&e<=3e4,description:"消息自动关闭时间(毫秒)",requireDeveloper:!0,icon:"mdi-timer-sand"},"message.saveHistory":{type:"boolean",default:!0,description:"是否保存消息历史记录",requireDeveloper:!0,icon:"mdi-history"},"theme.mode":{type:"string",default:"dark",validate:e=>["light","dark"].includes(e),description:"主题模式",icon:"mdi-theme-light-dark"},"randomPicker.enabled":{type:"boolean",default:!0,description:"是否启用随机点名功能",icon:"mdi-account-question"},"randomPicker.animation":{type:"boolean",default:!0,description:"是否启用随机点名动画效果",icon:"mdi-animation-play"},"randomPicker.defaultCount":{type:"number",default:1,validate:e=>e>=1&&e,description:"默认抽取人数",icon:"mdi-counter"},"randomPicker.excludeAbsent":{type:"boolean",default:!0,description:"是否排除请假学生",icon:"mdi-account-off"},"randomPicker.excludeLate":{type:"boolean",default:!1,description:"是否排除迟到学生",icon:"mdi-clock-alert"},"randomPicker.excludeExcluded":{type:"boolean",default:!0,description:"是否排除不参与学生",icon:"mdi-account-cancel"},"randomPicker.mode":{type:"string",default:"name",validate:e=>["name","number"].includes(e),description:"随机点名模式",icon:"mdi-format-list-numbered"},"randomPicker.maxNumber":{type:"number",default:60,validate:e=>e>=1&&e,description:"学号模式最大值",icon:"mdi-numeric"},"randomPicker.minNumber":{type:"number",default:1,validate:e=>e>=1&&e,description:"学号模式最小值",icon:"mdi-numeric-negative-1"}};class mw{constructor(){this.settingsCache=null,this.isInitialized=!1}init(){this.isInitialized||(this.loadSettings(),this.isInitialized=!0)}loadSettings(){this.settingsCache={};try{const t=typeof localStorage<"u"?localStorage.getItem(Ao):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(Fn))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(Ao,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=Fn[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&_u[t]!==void 0)return _u[t];const r=this.settingsCache[t];return r!==void 0?r:n.default}setSetting(t,n){this.isInitialized||this.init();const r=Fn[t];if(!r)return console.warn(`未定义的设置项: ${t}`),!1;if(r.requireDeveloper&&!this.settingsCache["developer.enabled"])return console.warn(`设置项 ${t} 需要启用开发者选项`),!1;try{const s=this.settingsCache[t];if(typeof n!==r.type&&(n=r.type==="boolean"?!!n:r.type==="number"?Number(n):String(n)),r.validate&&!r.validate(n))return console.warn(`设置项 ${t} 的值无效`),!1;this.settingsCache[t]=n,this.saveSettings(),this.logSettingsChange(t,s,n);const i=r.legacyKey;return i&&typeof localStorage<"u"&&localStorage.setItem(i,n.toString()),!0}catch(s){return console.error(`设置配置项 ${t} 失败:`,s),!1}}logSettingsChange(t,n,r){this.settingsCache["developer.enabled"]&&this.settingsCache["developer.showDebugConfig"]&&console.log(`[Settings] ${t}:`,{old:n,new:r,time:new Date().toLocaleTimeString()})}resetSetting(t){this.isInitialized||this.init();const n=Fn[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings()}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(Fn))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=r=>{r.key===Ao&&(this.settingsCache=JSON.parse(r.newValue),t(this.settingsCache))};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}getSettingDefinition(t){return Fn[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in Fn)t[n]=this.getSetting(n);return t}}const In=new mw;typeof window<"u"&&In.init();const ve=e=>In.getSetting(e),pr=(e,t)=>In.setSetting(e,t),Q_=e=>In.resetSetting(e),ex=e=>In.watchSettings(e),tx=e=>In.getSettingDefinition(e),nx=()=>In.exportSettingsAsKeyValue();class hw{constructor(){this.logs=[]}async addLog(t){return this.logs.push(t),this.logs.length>100&&this.logs.shift(),!0}async getLogs(t=20){return this.logs.slice(-t).reverse()}}const ri=new hw,Kt=[];let si=null,Wt=null;const Ur={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},gw={timeout:3e3,showSnackbar:!0,addToLog:!0};async function Gs(e,t,n="",r={}){const s={...gw,...r},i={id:Date.now()+Math.random(),type:e,title:t,content:n.substring(0,500),timestamp:new Date};if(s.addToLog)try{for(await ri.addLog(i),Kt.unshift(i);Kt.length>ve("message.maxActiveMessages");)Kt.pop();Wt==null||Wt(Kt)}catch(o){console.error("保存日志失败:",o)}return s.showSnackbar&&(si==null||si(i)),i}function vw(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}const lr={install:e=>{e.config.globalProperties.$message={success:(t,n,r)=>Gs(Ur.SUCCESS,t,n,r),error:(t,n,r)=>Gs(Ur.ERROR,t,n,r),info:(t,n,r)=>Gs(Ur.INFO,t,n,r),warning:(t,n,r)=>Gs(Ur.WARNING,t,n,r)}},onSnackbar:e=>{si=e},onLog:e=>{Wt=e},getMessages:async()=>{try{return await ri.getLogs()}catch(e){return console.error("获取日志失败:",e),[...Kt]}},clearMessages:async()=>{try{await ri.clearLogs(),Kt.length=0,Wt==null||Wt(Kt)}catch(e){console.error("清除日志失败:",e)}},MessageType:Ur,markAsRead:()=>{},deleteMessage:async e=>{try{await ri.deleteLog(e);const t=Kt.findIndex(n=>n.id===e);t!==-1&&Kt.splice(t,1),Wt==null||Wt(Kt)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:vw},Mm=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Or=Z({border:[Boolean,Number,String]},"border");function kr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();return{borderClasses:M(()=>{const r=e.border;return r===!0||r===""?`${t}--border`:typeof r=="string"||r===0?String(r).split(" ").map(s=>`border-${s}`):[]})}}const pw=[null,"default","comfortable","compact"],Qn=Z({density:{type:String,default:"default",validator:e=>pw.includes(e)}},"density");function Ir(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();return{densityClasses:K(()=>`${t}--density-${e.density}`)}}const ks=Z({elevation:{type:[Number,String],validator(e){const t=parseInt(e);return!isNaN(t)&&t>=0&&t<=24}}},"elevation");function Is(e){return{elevationClasses:K(()=>{const n=$e(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const gn=Z({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function vn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();return{roundedClasses:M(()=>{const r=$e(e)?e.value:e.rounded,s=$e(e)?e.value:e.tile,i=[];if(r===!0||r==="")i.push(`${t}--rounded`);else if(typeof r=="string"||r===0)for(const o of String(r).split(" "))i.push(`rounded-${o}`);else(s||r===!1)&&i.push("rounded-0");return i})}}const gt=Z({tag:{type:[String,Object,Function],default:"div"}},"tag");function pl(e){return al(()=>{const t=Qt(e),n=[],r={};if(t.background)if(sa(t.background)){if(r.backgroundColor=t.background,!t.text&&my(t.background)){const s=Yt(t.background);if(s.a==null||s.a===1){const i=im(s);r.color=i,r.caretColor=i}}}else n.push(`bg-${t.background}`);return t.text&&(sa(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{colorClasses:n,colorStyles:r}})}function Tr(e){const{colorClasses:t,colorStyles:n}=pl(()=>({text:Qt(e)}));return{textColorClasses:t,textColorStyles:n}}function yr(e){const{colorClasses:t,colorStyles:n}=pl(()=>({background:Qt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}const yw=["elevated","flat","tonal","outlined","text","plain"];function Ds(e,t){return q(Ie,null,[e&&q("span",{key:"overlay",class:pe(`${t}__overlay`)},null),q("span",{key:"underlay",class:pe(`${t}__underlay`)},null)])}const er=Z({color:String,variant:{type:String,default:"elevated",validator:e=>yw.includes(e)}},"variant");function Ls(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();const n=K(()=>{const{variant:i}=Qt(e);return`${t}--variant-${i}`}),{colorClasses:r,colorStyles:s}=pl(()=>{const{variant:i,color:o}=Qt(e);return{[["elevated","flat"].includes(i)?"background":"text"]:o}});return{colorClasses:r,colorStyles:s,variantClasses:n}}const Bm=Z({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...Or(),...Be(),...Qn(),...ks(),...gn(),...gt(),...wt(),...er()},"VBtnGroup"),xu=be()({name:"VBtnGroup",props:Bm(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=Rt(e),{densityClasses:s}=Ir(e),{borderClasses:i}=kr(e),{elevationClasses:o}=Is(e),{roundedClasses:a}=vn(e);Ui({VBtn:{height:K(()=>e.direction==="horizontal"?"auto":null),baseColor:K(()=>e.baseColor),color:K(()=>e.color),density:K(()=>e.density),flat:!0,variant:K(()=>e.variant)}}),De(()=>R(e.tag,{class:pe(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},r.value,i.value,s.value,o.value,a.value,e.class]),style:Pe(e.style)},n))}}),bw=Z({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),ww=Z({value:null,disabled:Boolean,selectedClass:String},"group-item");function Sw(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const r=Ue("useGroupItem");if(!r)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const s=rd();st(Symbol.for(`${t.description}:id`),s);const i=ye(t,null);if(!i){if(!n)return i;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const o=K(()=>e.value),a=M(()=>!!(i.disabled.value||e.disabled));i.register({id:s,value:o,disabled:a},r),Tt(()=>{i.unregister(s)});const l=M(()=>i.isSelected(s)),u=M(()=>i.items.value[0].id===s),c=M(()=>i.items.value[i.items.value.length-1].id===s),f=M(()=>l.value&&[i.selectedClass.value,e.selectedClass]);return me(l,d=>{r.emit("group:selected",{value:d})},{flush:"sync"}),{id:s,isSelected:l,isFirst:u,isLast:c,toggle:()=>i.select(s,!l.value),select:d=>i.select(s,d),selectedClass:f,value:o,disabled:a,group:i}}function Cw(e,t){let n=!1;const r=ze([]),s=un(e,"modelValue",[],d=>d==null?[]:Fm(r,ol(d)),d=>{const m=xw(r,d);return e.multiple?m:m[0]}),i=Ue("useGroup");function o(d,m){const g=d,h=Symbol.for(`${t.description}:id`),v=cr(h,i==null?void 0:i.vnode).indexOf(m);yt(g.value)==null&&(g.value=v,g.useIndexAsValue=!0),v>-1?r.splice(v,0,g):r.push(g)}function a(d){if(n)return;l();const m=r.findIndex(g=>g.id===d);r.splice(m,1)}function l(){const d=r.find(m=>!m.disabled);d&&e.mandatory==="force"&&!s.value.length&&(s.value=[d.id])}Pn(()=>{l()}),Tt(()=>{n=!0}),Ya(()=>{for(let d=0;dh.id===d);if(!(m&&(g!=null&&g.disabled)))if(e.multiple){const h=s.value.slice(),b=h.findIndex(w=>w===d),v=~b;if(m=m??!v,v&&e.mandatory&&h.length<=1||!v&&e.max!=null&&h.length+1>e.max)return;b<0&&m?h.push(d):b>=0&&!m&&h.splice(b,1),s.value=h}else{const h=s.value.includes(d);if(e.mandatory&&h||!h&&!m)return;s.value=m??!h?[d]:[]}}function c(d){if(e.multiple,s.value.length){const m=s.value[0],g=r.findIndex(v=>v.id===m);let h=(g+d)%r.length,b=r[h];for(;b.disabled&&h!==g;)h=(h+d)%r.length,b=r[h];if(b.disabled)return;s.value=[r[h].id]}else{const m=r.find(g=>!g.disabled);m&&(s.value=[m.id])}}const f={register:o,unregister:a,selected:s,select:u,disabled:K(()=>e.disabled),prev:()=>c(r.length-1),next:()=>c(1),isSelected:d=>s.value.includes(d),selectedClass:K(()=>e.selectedClass),items:K(()=>r),getItemIndex:d=>_w(r,d)};return st(t,f),f}function _w(e,t){const n=Fm(e,[t]);return n.length?e.findIndex(r=>r.id===n[0]):-1}function Fm(e,t){const n=[];return t.forEach(r=>{const s=e.find(o=>Kn(r,o.value)),i=e[r];(s==null?void 0:s.value)!=null?n.push(s.id):i!=null&&i.useIndexAsValue&&n.push(i.id)}),n}function xw(e,t){const n=[];return t.forEach(r=>{const s=e.findIndex(i=>i.id===r);if(~s){const i=e[s];n.push(i.value!=null?i.value:s)}}),n}const $m=Symbol.for("vuetify:v-btn-toggle"),Ew=Z({...Bm(),...bw()},"VBtnToggle"),rx=be()({name:"VBtnToggle",props:Ew(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:r,next:s,prev:i,select:o,selected:a}=Cw(e,$m);return De(()=>{const l=xu.filterProps(e);return R(xu,Oe({class:["v-btn-toggle",e.class]},l,{style:e.style}),{default:()=>{var u;return[(u=n.default)==null?void 0:u.call(n,{isSelected:r,next:s,prev:i,select:o,selected:a})]}})}),{next:s,prev:i,select:o}}}),Aw=Z({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),Et=be(!1)({name:"VDefaultsProvider",props:Aw(),setup(e,t){let{slots:n}=t;const{defaults:r,disabled:s,reset:i,root:o,scoped:a}=jf(e);return Ui(r,{reset:i,root:o,scoped:a,disabled:s}),()=>{var l;return(l=n.default)==null?void 0:l.call(n)}}}),Tw=["x-small","small","default","large","x-large"],qi=Z({size:{type:[String,Number],default:"default"}},"size");function Gi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();return al(()=>{const n=e.size;let r,s;return bi(Tw,n)?r=`${t}--size-${n}`:n&&(s={width:de(n),height:de(n)}),{sizeClasses:r,sizeStyles:s}})}const Rw=Z({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:Ze,opacity:[String,Number],...Be(),...qi(),...gt({tag:"i"}),...wt()},"VIcon"),Zt=be()({name:"VIcon",props:Rw(),setup(e,t){let{attrs:n,slots:r}=t;const s=ce(),{themeClasses:i}=wm(),{iconData:o}=Pb(()=>s.value||e.icon),{sizeClasses:a}=Gi(e),{textColorClasses:l,textColorStyles:u}=Tr(()=>e.color);return De(()=>{var d,m;const c=(d=r.default)==null?void 0:d.call(r);c&&(s.value=(m=qd(c).filter(g=>g.type===xs&&g.children&&typeof g.children=="string")[0])==null?void 0:m.children);const f=!!(n.onClick||n.onClickOnce);return R(o.value.component,{tag:e.tag,icon:o.value.icon,class:pe(["v-icon","notranslate",i.value,a.value,l.value,{"v-icon--clickable":f,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:Pe([{"--v-icon-opacity":e.opacity},a.value?void 0:{fontSize:de(e.size),height:de(e.size),width:de(e.size)},u.value,e.style]),role:f?"button":void 0,"aria-hidden":!f,tabindex:f?e.disabled?-1:0:void 0},{default:()=>[c]})}),{}}});function Vm(e,t){const n=fe(),r=ce(!1);if(rl){const s=new IntersectionObserver(i=>{r.value=!!i.find(o=>o.isIntersecting)},t);ut(()=>{s.disconnect()}),me(n,(i,o)=>{o&&(s.unobserve(o),r.value=!1),i&&s.observe(i)},{flush:"post"})}return{intersectionRef:n,isIntersecting:r}}const Pw=Z({bgColor:String,color:String,indeterminate:[Boolean,String],modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Be(),...qi(),...gt({tag:"div"}),...wt()},"VProgressCircular"),Ow=be()({name:"VProgressCircular",props:Pw(),setup(e,t){let{slots:n}=t;const r=20,s=2*Math.PI*r,i=fe(),{themeClasses:o}=Rt(e),{sizeClasses:a,sizeStyles:l}=Gi(e),{textColorClasses:u,textColorStyles:c}=Tr(()=>e.color),{textColorClasses:f,textColorStyles:d}=Tr(()=>e.bgColor),{intersectionRef:m,isIntersecting:g}=Vm(),{resizeRef:h,contentRect:b}=Sm(),v=K(()=>Tn(parseFloat(e.modelValue),0,100)),w=K(()=>Number(e.width)),S=K(()=>l.value?Number(e.size):b.value?b.value.width:Math.max(w.value,32)),E=K(()=>r/(1-w.value/S.value)*2),D=K(()=>w.value/S.value*E.value),O=K(()=>de((100-v.value)/100*s));return en(()=>{m.value=i.value,h.value=i.value}),De(()=>R(e.tag,{ref:i,class:pe(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":g.value,"v-progress-circular--disable-shrink":e.indeterminate==="disable-shrink"},o.value,a.value,u.value,e.class]),style:Pe([l.value,c.value,e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:v.value},{default:()=>[q("svg",{style:{transform:`rotate(calc(-90deg + ${Number(e.rotate)}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${E.value} ${E.value}`},[q("circle",{class:pe(["v-progress-circular__underlay",f.value]),style:Pe(d.value),fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":D.value,"stroke-dasharray":s,"stroke-dashoffset":0},null),q("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":D.value,"stroke-dasharray":s,"stroke-dashoffset":O.value},null)]),n.default&&q("div",{class:"v-progress-circular__content"},[n.default({value:v.value})])]})),{}}}),Dr=Z({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function Lr(e){return{dimensionStyles:M(()=>{const n={},r=de(e.height),s=de(e.maxHeight),i=de(e.maxWidth),o=de(e.minHeight),a=de(e.minWidth),l=de(e.width);return r!=null&&(n.height=r),s!=null&&(n.maxHeight=s),i!=null&&(n.maxWidth=i),o!=null&&(n.minHeight=o),a!=null&&(n.minWidth=a),l!=null&&(n.width=l),n})}}const Eu={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Yi=Z({location:String},"location");function yl(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:r}=Ps();return{locationStyles:M(()=>{if(!e.location)return{};const{side:i,align:o}=ra(e.location.split(" ").length>1?e.location:`${e.location} center`,r.value);function a(u){return n?n(u):0}const l={};return i!=="center"&&(t?l[Eu[i]]=`calc(100% - ${a(i)}px)`:l[i]=0),o!=="center"?t?l[Eu[o]]=`calc(100% - ${a(o)}px)`:l[o]=0:(i==="center"?l.top=l.left="50%":l[{top:"left",bottom:"left",left:"top",right:"top"}[i]]="50%",l.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[i]),l})}}const kw=Z({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Be(),...Yi({location:"top"}),...gn(),...gt(),...wt()},"VProgressLinear"),jm=be()({name:"VProgressLinear",props:kw(),emits:{"update:modelValue":e=>!0},setup(e,t){var V;let{slots:n}=t;const r=un(e,"modelValue"),{isRtl:s,rtlClasses:i}=Ps(),{themeClasses:o}=Rt(e),{locationStyles:a}=yl(e),{textColorClasses:l,textColorStyles:u}=Tr(()=>e.color),{backgroundColorClasses:c,backgroundColorStyles:f}=yr(()=>e.bgColor||e.color),{backgroundColorClasses:d,backgroundColorStyles:m}=yr(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:g,backgroundColorStyles:h}=yr(()=>e.color),{roundedClasses:b}=vn(e),{intersectionRef:v,isIntersecting:w}=Vm(),S=M(()=>parseFloat(e.max)),E=M(()=>parseFloat(e.height)),D=M(()=>Tn(parseFloat(e.bufferValue)/S.value*100,0,100)),O=M(()=>Tn(parseFloat(r.value)/S.value*100,0,100)),B=M(()=>s.value!==e.reverse),T=M(()=>e.indeterminate?"fade-transition":"slide-x-transition"),I=ke&&((V=window.matchMedia)==null?void 0:V.call(window,"(forced-colors: active)").matches);function W(A){if(!v.value)return;const{left:N,right:J,width:X}=v.value.getBoundingClientRect(),re=B.value?X-A.clientX+(J-X):A.clientX-N;r.value=Math.round(re/X*S.value)}return De(()=>R(e.tag,{ref:v,class:pe(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&w.value,"v-progress-linear--reverse":B.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},b.value,o.value,i.value,e.class]),style:Pe([{bottom:e.location==="bottom"?0:void 0,top:e.location==="top"?0:void 0,height:e.active?de(E.value):0,"--v-progress-linear-height":de(E.value),...e.absolute?a.value:{}},e.style]),role:"progressbar","aria-hidden":e.active?"false":"true","aria-valuemin":"0","aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(r.value),S.value),onClick:e.clickable&&W},{default:()=>[e.stream&&q("div",{key:"stream",class:pe(["v-progress-linear__stream",l.value]),style:{...u.value,[B.value?"left":"right"]:de(-E.value),borderTop:`${de(E.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${de(E.value/4)})`,width:de(100-D.value,"%"),"--v-progress-linear-stream-to":de(E.value*(B.value?1:-1))}},null),q("div",{class:pe(["v-progress-linear__background",I?void 0:c.value]),style:Pe([f.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),q("div",{class:pe(["v-progress-linear__buffer",I?void 0:d.value]),style:Pe([m.value,{opacity:parseFloat(e.bufferOpacity),width:de(D.value,"%")}])},null),R(An,{name:T.value},{default:()=>[e.indeterminate?q("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(A=>q("div",{key:A,class:pe(["v-progress-linear__indeterminate",A,I?void 0:g.value]),style:Pe(h.value)},null))]):q("div",{class:pe(["v-progress-linear__determinate",I?void 0:g.value]),style:Pe([h.value,{width:de(O.value,"%")}])},null)]}),n.default&&q("div",{class:"v-progress-linear__content"},[n.default({value:O.value,buffer:D.value})])]})),{}}}),Hm=Z({loading:[Boolean,String]},"loader");function Um(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();return{loaderClasses:K(()=>({[`${t}--loading`]:e.loading}))}}function Iw(e,t){var r;let{slots:n}=t;return q("div",{class:pe(`${e.name}__loader`)},[((r=n.default)==null?void 0:r.call(n,{color:e.color,isActive:e.active}))||R(jm,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const Dw=["static","relative","fixed","absolute","sticky"],bl=Z({position:{type:String,validator:e=>Dw.includes(e)}},"position");function wl(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn();return{positionClasses:K(()=>e.position?`${t}--${e.position}`:void 0)}}function Lw(){const e=Ue("useRoute");return M(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Nw(){var e,t;return(t=(e=Ue("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function Sl(e,t){var c,f;const n=fd("RouterLink"),r=K(()=>!!(e.href||e.to)),s=M(()=>(r==null?void 0:r.value)||Rc(t,"click")||Rc(e,"click"));if(typeof n=="string"||!("useLink"in n)){const d=K(()=>e.href);return{isLink:r,isClickable:s,href:d,linkProps:ze({href:d})}}const i=n.useLink({to:K(()=>e.to||""),replace:K(()=>e.replace)}),o=M(()=>e.to?i:void 0),a=Lw(),l=M(()=>{var d,m,g;return o.value?e.exact?a.value?((g=o.value.isExactActive)==null?void 0:g.value)&&Kn(o.value.route.value.query,a.value.query):((m=o.value.isExactActive)==null?void 0:m.value)??!1:((d=o.value.isActive)==null?void 0:d.value)??!1:!1}),u=M(()=>{var d;return e.to?(d=o.value)==null?void 0:d.route.value.href:e.href});return{isLink:r,isClickable:s,isActive:l,route:(c=o.value)==null?void 0:c.route,navigate:(f=o.value)==null?void 0:f.navigate,href:u,linkProps:ze({href:u,"aria-current":K(()=>l.value?"page":void 0)})}}const Cl=Z({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let To=!1;function Mw(e,t){let n=!1,r,s;ke&&(e!=null&&e.beforeEach)&&(At(()=>{window.addEventListener("popstate",i),r=e.beforeEach((o,a,l)=>{To?n?t(l):l():setTimeout(()=>n?t(l):l()),To=!0}),s=e==null?void 0:e.afterEach(()=>{To=!1})}),ut(()=>{window.removeEventListener("popstate",i),r==null||r(),s==null||s()}));function i(o){var a;(a=o.state)!=null&&a.replaced||(n=!0,setTimeout(()=>n=!1))}}function Bw(e,t){me(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&At(()=>{t(n)})},{immediate:!0})}const ha=Symbol("rippleStop"),Fw=80;function Au(e,t){e.style.transform=t,e.style.webkitTransform=t}function ga(e){return e.constructor.name==="TouchEvent"}function Wm(e){return e.constructor.name==="KeyboardEvent"}const $w=function(e,t){var f;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=0,s=0;if(!Wm(e)){const d=t.getBoundingClientRect(),m=ga(e)?e.touches[e.touches.length-1]:e;r=m.clientX-d.left,s=m.clientY-d.top}let i=0,o=.3;(f=t._ripple)!=null&&f.circle?(o=.15,i=t.clientWidth/2,i=n.center?i:i+Math.sqrt((r-i)**2+(s-i)**2)/4):i=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;const a=`${(t.clientWidth-i*2)/2}px`,l=`${(t.clientHeight-i*2)/2}px`,u=n.center?a:`${r-i}px`,c=n.center?l:`${s-i}px`;return{radius:i,scale:o,x:u,y:c,centerX:a,centerY:l}},Ei={show(e,t){var m;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((m=t==null?void 0:t._ripple)!=null&&m.enabled))return;const r=document.createElement("span"),s=document.createElement("span");r.appendChild(s),r.className="v-ripple__container",n.class&&(r.className+=` ${n.class}`);const{radius:i,scale:o,x:a,y:l,centerX:u,centerY:c}=$w(e,t,n),f=`${i*2}px`;s.className="v-ripple__animation",s.style.width=f,s.style.height=f,t.appendChild(r);const d=window.getComputedStyle(t);d&&d.position==="static"&&(t.style.position="relative",t.dataset.previousPosition="static"),s.classList.add("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--visible"),Au(s,`translate(${a}, ${l}) scale3d(${o},${o},${o})`),s.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{s.classList.remove("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--in"),Au(s,`translate(${u}, ${c}) scale3d(1,1,1)`)})})},hide(e){var i;if(!((i=e==null?void 0:e._ripple)!=null&&i.enabled))return;const t=e.getElementsByClassName("v-ripple__animation");if(t.length===0)return;const n=Array.from(t).findLast(o=>!o.dataset.isHiding);if(n)n.dataset.isHiding="true";else return;const r=performance.now()-Number(n.dataset.activated),s=Math.max(250-r,0);setTimeout(()=>{n.classList.remove("v-ripple__animation--in"),n.classList.add("v-ripple__animation--out"),setTimeout(()=>{var a;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((a=n.parentNode)==null?void 0:a.parentNode)===e&&e.removeChild(n.parentNode)},300)},s)}};function zm(e){return typeof e>"u"||!!e}function ps(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[ha])){if(e[ha]=!0,ga(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||Wm(e),n._ripple.class&&(t.class=n._ripple.class),ga(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{Ei.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{var r;(r=n==null?void 0:n._ripple)!=null&&r.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},Fw)}else Ei.show(e,n,t)}}function Tu(e){e[ha]=!0}function pt(e){const t=e.currentTarget;if(t!=null&&t._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type==="touchend"&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{pt(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),Ei.hide(t)}}function Km(e){const t=e.currentTarget;t!=null&&t._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}let ys=!1;function Ru(e,t){!ys&&t.includes(e.key)&&(ys=!0,ps(e))}function qm(e){ys=!1,pt(e)}function Gm(e){ys&&(ys=!1,pt(e))}function Ym(e,t,n){const{value:r,modifiers:s}=t,i=zm(r);i||Ei.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=i,e._ripple.centered=s.center,e._ripple.circle=s.circle;const o=ea(r)?r:{};o.class&&(e._ripple.class=o.class);const a=o.keys??["Enter","Space"];if(e._ripple.keyDownHandler=l=>Ru(l,a),i&&!n){if(s.stop){e.addEventListener("touchstart",Tu,{passive:!0}),e.addEventListener("mousedown",Tu);return}e.addEventListener("touchstart",ps,{passive:!0}),e.addEventListener("touchend",pt,{passive:!0}),e.addEventListener("touchmove",Km,{passive:!0}),e.addEventListener("touchcancel",pt),e.addEventListener("mousedown",ps),e.addEventListener("mouseup",pt),e.addEventListener("mouseleave",pt),e.addEventListener("keydown",l=>Ru(l,a)),e.addEventListener("keyup",qm),e.addEventListener("blur",Gm),e.addEventListener("dragstart",pt,{passive:!0})}else!i&&n&&Jm(e)}function Jm(e){var t;e.removeEventListener("mousedown",ps),e.removeEventListener("touchstart",ps),e.removeEventListener("touchend",pt),e.removeEventListener("touchmove",Km),e.removeEventListener("touchcancel",pt),e.removeEventListener("mouseup",pt),e.removeEventListener("mouseleave",pt),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",qm),e.removeEventListener("dragstart",pt),e.removeEventListener("blur",Gm)}function Vw(e,t){Ym(e,t,!1)}function jw(e){Jm(e),delete e._ripple}function Hw(e,t){if(t.value===t.oldValue)return;const n=zm(t.oldValue);Ym(e,t,n)}const bs={mounted:Vw,unmounted:jw,updated:Hw},Uw=Z({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:$m},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:Ze,appendIcon:Ze,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...Or(),...Be(),...Qn(),...Dr(),...ks(),...ww(),...Hm(),...Yi(),...bl(),...gn(),...Cl(),...qi(),...gt({tag:"button"}),...wt(),...er({variant:"elevated"})},"VBtn"),Xm=be()({name:"VBtn",props:Uw(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Rt(e),{borderClasses:i}=kr(e),{densityClasses:o}=Ir(e),{dimensionStyles:a}=Lr(e),{elevationClasses:l}=Is(e),{loaderClasses:u}=Um(e),{locationStyles:c}=yl(e),{positionClasses:f}=wl(e),{roundedClasses:d}=vn(e),{sizeClasses:m,sizeStyles:g}=Gi(e),h=Sw(e,e.symbol,!1),b=Sl(e,n),v=M(()=>{var V;return e.active!==void 0?e.active:b.isLink.value?(V=b.isActive)==null?void 0:V.value:h==null?void 0:h.isSelected.value}),w=K(()=>v.value?e.activeColor??e.color:e.color),S=M(()=>{var A,N;return{color:(h==null?void 0:h.isSelected.value)&&(!b.isLink.value||((A=b.isActive)==null?void 0:A.value))||!h||((N=b.isActive)==null?void 0:N.value)?w.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:E,colorStyles:D,variantClasses:O}=Ls(S),B=M(()=>(h==null?void 0:h.disabled.value)||e.disabled),T=K(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),I=M(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function W(V){var A;B.value||b.isLink.value&&(V.metaKey||V.ctrlKey||V.shiftKey||V.button!==0||n.target==="_blank")||((A=b.navigate)==null||A.call(b,V),h==null||h.toggle())}return Bw(b,h==null?void 0:h.select),De(()=>{const V=b.isLink.value?"a":e.tag,A=!!(e.prependIcon||r.prepend),N=!!(e.appendIcon||r.append),J=!!(e.icon&&e.icon!==!0);return Jn(R(V,Oe({type:V==="a"?void 0:"button",class:["v-btn",h==null?void 0:h.selectedClass.value,{"v-btn--active":v.value,"v-btn--block":e.block,"v-btn--disabled":B.value,"v-btn--elevated":T.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},s.value,i.value,E.value,o.value,l.value,u.value,f.value,d.value,m.value,O.value,e.class],style:[D.value,a.value,c.value,g.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:B.value||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:W,value:I.value},b.linkProps),{default:()=>{var X;return[Ds(!0,"v-btn"),!e.icon&&A&&q("span",{key:"prepend",class:"v-btn__prepend"},[r.prepend?R(Et,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},r.prepend):R(Zt,{key:"prepend-icon",icon:e.prependIcon},null)]),q("span",{class:"v-btn__content","data-no-activator":""},[!r.default&&J?R(Zt,{key:"content-icon",icon:e.icon},null):R(Et,{key:"content-defaults",disabled:!J,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var re;return[((re=r.default)==null?void 0:re.call(r))??Ot(e.text)]}})]),!e.icon&&N&&q("span",{key:"append",class:"v-btn__append"},[r.append?R(Et,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},r.append):R(Zt,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&q("span",{key:"loader",class:"v-btn__loader"},[((X=r.loader)==null?void 0:X.call(r))??R(Ow,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[bs,!B.value&&e.ripple,"",{center:!!e.icon}]])}),{group:h}}});function Ro(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ww(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Pu(e,t){if(e.side==="top"||e.side==="bottom"){const{side:n,align:r}=e,s=r==="left"?0:r==="center"?t.width/2:r==="right"?t.width:r,i=n==="top"?0:n==="bottom"?t.height:n;return Ro({x:s,y:i},t)}else if(e.side==="left"||e.side==="right"){const{side:n,align:r}=e,s=n==="left"?0:n==="right"?t.width:n,i=r==="top"?0:r==="center"?t.height/2:r==="bottom"?t.height:r;return Ro({x:s,y:i},t)}return Ro({x:t.width/2,y:t.height/2},t)}const Zm={static:qw,connected:Yw},zw=Z({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in Zm},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array]},"VOverlay-location-strategies");function Kw(e,t){const n=fe({}),r=fe();ke&&Ts(()=>!!(t.isActive.value&&e.locationStrategy),a=>{var l,u;me(()=>e.locationStrategy,a),ut(()=>{window.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("scroll",o),r.value=void 0}),window.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",o,{passive:!0}),typeof e.locationStrategy=="function"?r.value=(l=e.locationStrategy(t,e,n))==null?void 0:l.updateLocation:r.value=(u=Zm[e.locationStrategy](t,e,n))==null?void 0:u.updateLocation});function s(a){var l;(l=r.value)==null||l.call(r,a)}function i(a){var l;(l=r.value)==null||l.call(r,a)}function o(a){var l;(l=r.value)==null||l.call(r,a)}return{contentStyles:n,updateLocation:r}}function qw(){}function Gw(e,t){const n=Qd(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Yw(e,t,n){(Array.isArray(e.target.value)||Oy(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:s,preferredOrigin:i}=al(()=>{const v=ra(t.location,e.isRtl.value),w=t.origin==="overlap"?v:t.origin==="auto"?bo(v):ra(t.origin,e.isRtl.value);return v.side===w.side&&v.align===wo(w).align?{preferredAnchor:Oc(v),preferredOrigin:Oc(w)}:{preferredAnchor:v,preferredOrigin:w}}),[o,a,l,u]=["minWidth","minHeight","maxWidth","maxHeight"].map(v=>M(()=>{const w=parseFloat(t[v]);return isNaN(w)?1/0:w})),c=M(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const v=t.offset.split(" ").map(parseFloat);return v.length<2&&v.push(0),v}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let f=!1,d=-1;const m=new Wp(4),g=new ResizeObserver(()=>{if(!f)return;if(requestAnimationFrame(w=>{w!==d&&m.clear(),requestAnimationFrame(S=>{d=S})}),m.isFull){const w=m.values();if(Kn(w.at(-1),w.at(-3))&&!Kn(w.at(-1),w.at(-2)))return}const v=b();v&&m.push(v.flipped)});let h=new Xt({x:0,y:0,width:0,height:0});me(e.target,(v,w)=>{w&&!Array.isArray(w)&&g.unobserve(w),Array.isArray(v)?Kn(v,w)||b():v&&g.observe(v)},{immediate:!0}),me(e.contentEl,(v,w)=>{w&&g.unobserve(w),v&&g.observe(v)},{immediate:!0}),ut(()=>{g.disconnect()});function b(){if(f=!1,requestAnimationFrame(()=>f=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(h=Zd(e.target.value));const v=Gw(e.contentEl.value,e.isRtl.value),w=Si(e.contentEl.value),S=12;w.length||(w.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(v.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),v.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const E=w.reduce((N,J)=>{const X=Xp(J);return N?new Xt({x:Math.max(N.left,X.left),y:Math.max(N.top,X.top),width:Math.min(N.right,X.right)-Math.max(N.left,X.left),height:Math.min(N.bottom,X.bottom)-Math.max(N.top,X.top)}):X},void 0);E.x+=S,E.y+=S,E.width-=S*2,E.height-=S*2;let D={anchor:s.value,origin:i.value};function O(N){const J=new Xt(v),X=Pu(N.anchor,h),re=Pu(N.origin,J);let{x:oe,y:se}=Ww(X,re);switch(N.anchor.side){case"top":se-=c.value[0];break;case"bottom":se+=c.value[0];break;case"left":oe-=c.value[0];break;case"right":oe+=c.value[0];break}switch(N.anchor.align){case"top":se-=c.value[1];break;case"bottom":se+=c.value[1];break;case"left":oe-=c.value[1];break;case"right":oe+=c.value[1];break}return J.x+=oe,J.y+=se,J.width=Math.min(J.width,l.value),J.height=Math.min(J.height,u.value),{overflows:Ic(J,E),x:oe,y:se}}let B=0,T=0;const I={x:0,y:0},W={x:!1,y:!1};let V=-1;for(;!(V++>10);){const{x:N,y:J,overflows:X}=O(D);B+=N,T+=J,v.x+=N,v.y+=J;{const re=kc(D.anchor),oe=X.x.before||X.x.after,se=X.y.before||X.y.after;let Fe=!1;if(["x","y"].forEach(Ce=>{if(Ce==="x"&&oe&&!W.x||Ce==="y"&&se&&!W.y){const Le={anchor:{...D.anchor},origin:{...D.origin}},_e=Ce==="x"?re==="y"?wo:bo:re==="y"?bo:wo;Le.anchor=_e(Le.anchor),Le.origin=_e(Le.origin);const{overflows:je}=O(Le);(je[Ce].before<=X[Ce].before&&je[Ce].after<=X[Ce].after||je[Ce].before+je[Ce].after<(X[Ce].before+X[Ce].after)/2)&&(D=Le,Fe=W[Ce]=!0)}}),Fe)continue}X.x.before&&(B+=X.x.before,v.x+=X.x.before),X.x.after&&(B-=X.x.after,v.x-=X.x.after),X.y.before&&(T+=X.y.before,v.y+=X.y.before),X.y.after&&(T-=X.y.after,v.y-=X.y.after);{const re=Ic(v,E);I.x=E.width-re.x.before-re.x.after,I.y=E.height-re.y.before-re.y.after,B+=re.x.before,v.x+=re.x.before,T+=re.y.before,v.y+=re.y.before}break}const A=kc(D.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${D.anchor.side} ${D.anchor.align}`,transformOrigin:`${D.origin.side} ${D.origin.align}`,top:de(Po(T)),left:e.isRtl.value?void 0:de(Po(B)),right:e.isRtl.value?de(Po(-B)):void 0,minWidth:de(A==="y"?Math.min(o.value,h.width):o.value),maxWidth:de(Ou(Tn(I.x,o.value===1/0?0:o.value,l.value))),maxHeight:de(Ou(Tn(I.y,a.value===1/0?0:a.value,u.value)))}),{available:I,contentBox:v,flipped:W}}return me(()=>[s.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>b()),At(()=>{const v=b();if(!v)return;const{available:w,contentBox:S}=v;S.height>w.y&&requestAnimationFrame(()=>{b(),requestAnimationFrame(()=>{b()})})}),{updateLocation:b}}function Po(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function Ou(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let va=!0;const Ai=[];function Jw(e){!va||Ai.length?(Ai.push(e),pa()):(va=!1,e(),pa())}let ku=-1;function pa(){cancelAnimationFrame(ku),ku=requestAnimationFrame(()=>{const e=Ai.shift();e&&e(),Ai.length?pa():va=!0})}const ii={none:null,close:Qw,block:eS,reposition:tS},Xw=Z({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in ii}},"VOverlay-scroll-strategies");function Zw(e,t){if(!ke)return;let n;en(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=Sr(),await new Promise(r=>setTimeout(r)),n.active&&n.run(()=>{var r;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(r=ii[e.scrollStrategy])==null||r.call(ii,t,e,n)}))}),ut(()=>{n==null||n.stop()})}function Qw(e){function t(n){e.isActive.value=!1}Qm(_l(e.target.value,e.contentEl.value),t)}function eS(e,t){var a;const n=(a=e.root.value)==null?void 0:a.offsetParent,r=_l(e.target.value,e.contentEl.value),s=[...new Set([...Si(r,t.contained?n:void 0),...Si(e.contentEl.value,t.contained?n:void 0)])].filter(l=>!l.classList.contains("v-overlay-scroll-blocked")),i=window.innerWidth-document.documentElement.offsetWidth,o=(l=>fl(l)&&l)(n||document.documentElement);o&&e.root.value.classList.add("v-overlay--scroll-blocked"),s.forEach((l,u)=>{l.style.setProperty("--v-body-scroll-x",de(-l.scrollLeft)),l.style.setProperty("--v-body-scroll-y",de(-l.scrollTop)),l!==document.documentElement&&l.style.setProperty("--v-scrollbar-offset",de(i)),l.classList.add("v-overlay-scroll-blocked")}),ut(()=>{s.forEach((l,u)=>{const c=parseFloat(l.style.getPropertyValue("--v-body-scroll-x")),f=parseFloat(l.style.getPropertyValue("--v-body-scroll-y")),d=l.style.scrollBehavior;l.style.scrollBehavior="auto",l.style.removeProperty("--v-body-scroll-x"),l.style.removeProperty("--v-body-scroll-y"),l.style.removeProperty("--v-scrollbar-offset"),l.classList.remove("v-overlay-scroll-blocked"),l.scrollLeft=-c,l.scrollTop=-f,l.style.scrollBehavior=d}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function tS(e,t,n){let r=!1,s=-1,i=-1;function o(a){Jw(()=>{var c,f;const l=performance.now();(f=(c=e.updateLocation).value)==null||f.call(c,a),r=(performance.now()-l)/(1e3/60)>2})}i=(typeof requestIdleCallback>"u"?a=>a():requestIdleCallback)(()=>{n.run(()=>{Qm(_l(e.target.value,e.contentEl.value),a=>{r?(cancelAnimationFrame(s),s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{o(a)})})):o(a)})})}),ut(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(i),cancelAnimationFrame(s)})}function _l(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function Qm(e,t){const n=[document,...Si(e)];n.forEach(r=>{r.addEventListener("scroll",t,{passive:!0})}),ut(()=>{n.forEach(r=>{r.removeEventListener("scroll",t)})})}const nS=Symbol.for("vuetify:v-menu"),rS=Z({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function sS(e,t){let n=()=>{};function r(o){n==null||n();const a=Number(o?e.openDelay:e.closeDelay);return new Promise(l=>{n=Gp(a,()=>{t==null||t(o),l(o)})})}function s(){return r(!0)}function i(){return r(!1)}return{clearDelay:n,runOpenDelay:s,runCloseDelay:i}}const iS=Z({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...rS()},"VOverlay-activator");function oS(e,t){let{isActive:n,isTop:r,contentEl:s}=t;const i=Ue("useActivator"),o=fe();let a=!1,l=!1,u=!0;const c=M(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),f=M(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:d,runCloseDelay:m}=sS(e,T=>{T===(e.openOnHover&&a||c.value&&l)&&!(e.openOnHover&&n.value&&!r.value)&&(n.value!==T&&(u=!0),n.value=T)}),g=fe(),h={onClick:T=>{T.stopPropagation(),o.value=T.currentTarget||T.target,n.value||(g.value=[T.clientX,T.clientY]),n.value=!n.value},onMouseenter:T=>{var I;(I=T.sourceCapabilities)!=null&&I.firesTouchEvents||(a=!0,o.value=T.currentTarget||T.target,d())},onMouseleave:T=>{a=!1,m()},onFocus:T=>{Kp(T.target,":focus-visible")!==!1&&(l=!0,T.stopPropagation(),o.value=T.currentTarget||T.target,d())},onBlur:T=>{l=!1,T.stopPropagation(),m()}},b=M(()=>{const T={};return f.value&&(T.onClick=h.onClick),e.openOnHover&&(T.onMouseenter=h.onMouseenter,T.onMouseleave=h.onMouseleave),c.value&&(T.onFocus=h.onFocus,T.onBlur=h.onBlur),T}),v=M(()=>{const T={};if(e.openOnHover&&(T.onMouseenter=()=>{a=!0,d()},T.onMouseleave=()=>{a=!1,m()}),c.value&&(T.onFocusin=()=>{l=!0,d()},T.onFocusout=()=>{l=!1,m()}),e.closeOnContentClick){const I=ye(nS,null);T.onClick=()=>{n.value=!1,I==null||I.closeParents()}}return T}),w=M(()=>{const T={};return e.openOnHover&&(T.onMouseenter=()=>{u&&(a=!0,u=!1,d())},T.onMouseleave=()=>{a=!1,m()}),T});me(r,T=>{var I;T&&(e.openOnHover&&!a&&(!c.value||!l)||c.value&&!l&&(!e.openOnHover||!a))&&!((I=s.value)!=null&&I.contains(document.activeElement))&&(n.value=!1)}),me(n,T=>{T||setTimeout(()=>{g.value=void 0})},{flush:"post"});const S=ta();en(()=>{S.value&&At(()=>{o.value=S.el})});const E=ta(),D=M(()=>e.target==="cursor"&&g.value?g.value:E.value?E.el:eh(e.target,i)||o.value),O=M(()=>Array.isArray(D.value)?void 0:D.value);let B;return me(()=>!!e.activator,T=>{T&&ke?(B=Sr(),B.run(()=>{aS(e,i,{activatorEl:o,activatorEvents:b})})):B&&B.stop()},{flush:"post",immediate:!0}),ut(()=>{B==null||B.stop()}),{activatorEl:o,activatorRef:S,target:D,targetEl:O,targetRef:E,activatorEvents:b,contentEvents:v,scrimEvents:w}}function aS(e,t,n){let{activatorEl:r,activatorEvents:s}=n;me(()=>e.activator,(l,u)=>{if(u&&l!==u){const c=a(u);c&&o(c)}l&&At(()=>i())},{immediate:!0}),me(()=>e.activatorProps,()=>{i()}),ut(()=>{o()});function i(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;l&&Zp(l,Oe(s.value,u))}function o(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;l&&Qp(l,Oe(s.value,u))}function a(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const u=eh(l,t);return r.value=(u==null?void 0:u.nodeType)===Node.ELEMENT_NODE?u:void 0,r.value}}function eh(e,t){var r,s;if(!e)return;let n;if(e==="parent"){let i=(s=(r=t==null?void 0:t.proxy)==null?void 0:r.$el)==null?void 0:s.parentNode;for(;i!=null&&i.hasAttribute("data-no-activator");)i=i.parentNode;n=i}else typeof e=="string"?n=document.querySelector(e):"$el"in e?n=e.$el:n=e;return n}function lS(){if(!ke)return ce(!1);const{ssr:e}=Sb();if(e){const t=ce(!1);return Pn(()=>{t.value=!0}),t}else return ce(!0)}const cS=Z({eager:Boolean},"lazy");function uS(e,t){const n=ce(!1),r=K(()=>n.value||e.eager||t.value);me(t,()=>n.value=!0);function s(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:s}}function xl(){const t=Ue("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const Iu=Symbol.for("vuetify:stack"),Wr=ze([]);function fS(e,t,n){const r=Ue("useStack"),s=!n,i=ye(Iu,void 0),o=ze({activeChildren:new Set});st(Iu,o);const a=ce(Number(Qt(t)));Ts(e,()=>{var f;const c=(f=Wr.at(-1))==null?void 0:f[1];a.value=c?c+10:Number(Qt(t)),s&&Wr.push([r.uid,a.value]),i==null||i.activeChildren.add(r.uid),ut(()=>{if(s){const d=ee(Wr).findIndex(m=>m[0]===r.uid);Wr.splice(d,1)}i==null||i.activeChildren.delete(r.uid)})});const l=ce(!0);s&&en(()=>{var f;const c=((f=Wr.at(-1))==null?void 0:f[0])===r.uid;setTimeout(()=>l.value=c)});const u=K(()=>!o.activeChildren.size);return{globalTop:Cs(l),localTop:u,stackStyles:K(()=>({zIndex:a.value}))}}function dS(e){return{teleportTarget:M(()=>{const n=e();if(n===!0||!ke)return;const r=n===!1?document.body:typeof n=="string"?document.querySelector(n):n;if(r==null)return;let s=[...r.children].find(i=>i.matches(".v-overlay-container"));return s||(s=document.createElement("div"),s.className="v-overlay-container",r.appendChild(s)),s})}}const th=Z({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),ur=(e,t)=>{let{slots:n}=t;const{transition:r,disabled:s,group:i,...o}=e,{component:a=i?nl:An,...l}=ea(r)?r:{};let u;return ea(r)?u=Oe(l,Yp({disabled:s,group:i}),o):u=Oe({name:s||!r?"":r},o),On(a,u,n)};function mS(){return!0}function nh(e,t,n){if(!e||rh(e,n)===!1)return!1;const r=om(t);if(typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&r.host===e.target)return!1;const s=(typeof n.value=="object"&&n.value.include||(()=>[]))();return s.push(t),!s.some(i=>i==null?void 0:i.contains(e.target))}function rh(e,t){return(typeof t.value=="object"&&t.value.closeConditional||mS)(e)}function hS(e,t,n){const r=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&nh(e,t,n)&&setTimeout(()=>{rh(e,n)&&r&&r(e)},0)}function Du(e,t){const n=om(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const Lu={mounted(e,t){const n=s=>hS(s,e,t),r=s=>{e._clickOutside.lastMousedownWasOutside=nh(s,e,t)};Du(e,s=>{s.addEventListener("click",n,!0),s.addEventListener("mousedown",r,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(Du(e,n=>{var i;if(!n||!((i=e._clickOutside)!=null&&i[t.instance.$.uid]))return;const{onClick:r,onMousedown:s}=e._clickOutside[t.instance.$.uid];n.removeEventListener("click",r,!0),n.removeEventListener("mousedown",s,!0)}),delete e._clickOutside[t.instance.$.uid])}};function gS(e){const{modelValue:t,color:n,...r}=e;return R(An,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&q("div",Oe({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}const El=Z({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...iS(),...Be(),...Dr(),...cS(),...zw(),...Xw(),...wt(),...th()},"VOverlay"),Ti=be()({name:"VOverlay",directives:{vClickOutside:Lu},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...El()},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{slots:n,attrs:r,emit:s}=t;const i=Ue("VOverlay"),o=fe(),a=fe(),l=fe(),u=un(e,"modelValue"),c=M({get:()=>u.value,set:_=>{_&&e.disabled||(u.value=_)}}),{themeClasses:f}=Rt(e),{rtlClasses:d,isRtl:m}=Ps(),{hasContent:g,onAfterLeave:h}=uS(e,c),b=yr(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:v,localTop:w,stackStyles:S}=fS(c,()=>e.zIndex,e._disableGlobalStack),{activatorEl:E,activatorRef:D,target:O,targetEl:B,targetRef:T,activatorEvents:I,contentEvents:W,scrimEvents:V}=oS(e,{isActive:c,isTop:w,contentEl:l}),{teleportTarget:A}=dS(()=>{var j,Y,he;const _=e.attach||e.contained;if(_)return _;const F=((j=E==null?void 0:E.value)==null?void 0:j.getRootNode())||((he=(Y=i.proxy)==null?void 0:Y.$el)==null?void 0:he.getRootNode());return F instanceof ShadowRoot?F:!1}),{dimensionStyles:N}=Lr(e),J=lS(),{scopeId:X}=xl();me(()=>e.disabled,_=>{_&&(c.value=!1)});const{contentStyles:re,updateLocation:oe}=Kw(e,{isRtl:m,contentEl:l,target:O,isActive:c});Zw(e,{root:o,contentEl:l,targetEl:B,target:O,isActive:c,updateLocation:oe});function se(_){s("click:outside",_),e.persistent?it():c.value=!1}function Fe(_){return c.value&&v.value&&(!e.scrim||_.target===a.value||_ instanceof MouseEvent&&_.shadowTarget===a.value)}ke&&me(c,_=>{_?window.addEventListener("keydown",Ce):window.removeEventListener("keydown",Ce)},{immediate:!0}),Tt(()=>{ke&&window.removeEventListener("keydown",Ce)});function Ce(_){var F,j,Y;_.key==="Escape"&&v.value&&((F=l.value)!=null&&F.contains(document.activeElement)||s("keydown",_),e.persistent?it():(c.value=!1,(j=l.value)!=null&&j.contains(document.activeElement)&&((Y=E.value)==null||Y.focus())))}function Le(_){_.key==="Escape"&&!v.value||s("keydown",_)}const _e=Nw();Ts(()=>e.closeOnBack,()=>{Mw(_e,_=>{v.value&&c.value?(_(!1),e.persistent?it():c.value=!1):_()})});const je=fe();me(()=>c.value&&(e.absolute||e.contained)&&A.value==null,_=>{if(_){const F=Ry(o.value);F&&F!==document.scrollingElement&&(je.value=F.scrollTop)}});function it(){e.noClickAnimation||l.value&&Gr(l.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:ia})}function ue(){s("afterEnter")}function Ne(){h(),s("afterLeave")}return De(()=>{var _;return q(Ie,null,[(_=n.activator)==null?void 0:_.call(n,{isActive:c.value,targetRef:T,props:Oe({ref:D},I.value,e.activatorProps)}),J.value&&g.value&&R(ov,{disabled:!A.value,to:A.value},{default:()=>[q("div",Oe({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":c.value,"v-overlay--contained":e.contained},f.value,d.value,e.class],style:[S.value,{"--v-overlay-opacity":e.opacity,top:de(je.value)},e.style],ref:o,onKeydown:Le},X,r),[R(gS,Oe({color:b,modelValue:c.value&&!!e.scrim,ref:a},V.value),null),R(ur,{appear:!0,persisted:!0,transition:e.transition,target:O.value,onAfterEnter:ue,onAfterLeave:Ne},{default:()=>{var F;return[Jn(q("div",Oe({ref:l,class:["v-overlay__content",e.contentClass],style:[N.value,re.value]},W.value,e.contentProps),[(F=n.default)==null?void 0:F.call(n,{isActive:c})]),[[tl,c.value],[Lu,{handler:se,closeConditional:Fe,include:()=>[E.value]}]])]}})])]})])}),{activatorEl:E,scrimEl:a,target:O,animateClick:it,contentEl:l,globalTop:v,localTop:w,updateLocation:oe}}}),Oo=Symbol("Forwarded refs");function ko(e,t){let n=e;for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function sh(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rt.value=e())}function i(o){const a=o?getComputedStyle(o):{transitionDuration:.2},l=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;const u=performance.now();n=window.setInterval(()=>{const c=performance.now()-u+l;t.value=Math.max(e()-c,0),t.value<=0&&r()},l)}return ut(r),{clear:r,time:t,start:i,reset:s}}const pS=Z({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Yi({location:"bottom"}),...bl(),...gn(),...er(),...wt(),...Rs(El({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","scrim","scrollStrategy"])},"VSnackbar"),yS=be()({name:"VSnackbar",props:pS(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=un(e,"modelValue"),{positionClasses:s}=wl(e),{scopeId:i}=xl(),{themeClasses:o}=Rt(e),{colorClasses:a,colorStyles:l,variantClasses:u}=Ls(e),{roundedClasses:c}=vn(e),f=vS(()=>Number(e.timeout)),d=fe(),m=fe(),g=ce(!1),h=ce(0),b=fe(),v=ye(hs,void 0);Ts(()=>!!v,()=>{const V=$b();en(()=>{b.value=V.mainStyles.value})}),me(r,S),me(()=>e.timeout,S),Pn(()=>{r.value&&S()});let w=-1;function S(){f.reset(),window.clearTimeout(w);const V=Number(e.timeout);if(!r.value||V===-1)return;const A=sl(m.value);f.start(A),w=window.setTimeout(()=>{r.value=!1},V)}function E(){f.reset(),window.clearTimeout(w)}function D(){g.value=!0,E()}function O(){g.value=!1,S()}function B(V){h.value=V.touches[0].clientY}function T(V){Math.abs(h.value-V.changedTouches[0].clientY)>50&&(r.value=!1)}function I(){g.value&&O()}const W=M(()=>e.location.split(" ").reduce((V,A)=>(V[`v-snackbar--${A}`]=!0,V),{}));return De(()=>{const V=Ti.filterProps(e),A=!!(n.default||n.text||e.text);return R(Ti,Oe({ref:d,class:["v-snackbar",{"v-snackbar--active":r.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},W.value,s.value,e.class],style:[b.value,e.style]},V,{modelValue:r.value,"onUpdate:modelValue":N=>r.value=N,contentProps:Oe({class:["v-snackbar__wrapper",o.value,a.value,c.value,u.value],style:[l.value],onPointerenter:D,onPointerleave:O},V.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:B,onTouchend:T,onAfterLeave:I},i),{default:()=>{var N,J;return[Ds(!1,"v-snackbar"),e.timer&&!g.value&&q("div",{key:"timer",class:"v-snackbar__timer"},[R(jm,{ref:m,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:f.time.value},null)]),A&&q("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((N=n.text)==null?void 0:N.call(n))??e.text,(J=n.default)==null?void 0:J.call(n)]),n.actions&&R(Et,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[q("div",{class:"v-snackbar__actions"},[n.actions({isActive:r})])]})]},activator:n.activator})}),sh({},d)}}),bS=Bi({name:"GlobalMessage",setup(){var i;const e=fe(!1),t=fe(null),n={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},r={success:"success",error:"error",warning:"warning",info:"info"},s=(i=lr==null?void 0:lr.onSnackbar)==null?void 0:i.call(lr,async o=>{o&&(e.value&&(e.value=!1,await At()),t.value=o,e.value=!0)});return Tt(()=>s==null?void 0:s()),{snackbar:e,message:t,icons:n,colors:r}}}),wS={class:"d-flex align-center"},SS={class:"text-subtitle-2 font-weight-medium"},CS={key:0,class:"text-body-2"};function _S(e,t,n,r,s,i){var o;return _t(),Gt(yS,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=a=>e.snackbar=a),color:e.colors[(o=e.message)==null?void 0:o.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:We(()=>[R(Xm,{variant:"text",icon:"mdi-close",onClick:t[0]||(t[0]=a=>e.snackbar=!1)})]),default:We(()=>{var a,l,u,c;return[q("div",wS,[R(Zt,{icon:e.icons[(a=e.message)==null?void 0:a.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),q("div",null,[q("div",SS,Ot((l=e.message)==null?void 0:l.title),1),(u=e.message)!=null&&u.content?(_t(),Od("div",CS,Ot((c=e.message)==null?void 0:c.content),1)):Yo("",!0)])])]}),_:1},8,["modelValue","color"])}const ih=Mm(bS,[["render",_S]]),oh=be()({name:"VCardActions",props:Be(),setup(e,t){let{slots:n}=t;return Ui({VBtn:{slim:!0,variant:"text"}}),De(()=>{var r;return q("div",{class:pe(["v-card-actions",e.class]),style:Pe(e.style)},[(r=n.default)==null?void 0:r.call(n)])}),{}}}),xS=Z({opacity:[Number,String],...Be(),...gt()},"VCardSubtitle"),ES=be()({name:"VCardSubtitle",props:xS(),setup(e,t){let{slots:n}=t;return De(()=>R(e.tag,{class:pe(["v-card-subtitle",e.class]),style:Pe([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),ah=ul("v-card-title");function AS(e){return{aspectStyles:M(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const lh=Z({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Be(),...Dr()},"VResponsive"),Nu=be()({name:"VResponsive",props:lh(),setup(e,t){let{slots:n}=t;const{aspectStyles:r}=AS(e),{dimensionStyles:s}=Lr(e);return De(()=>{var i;return q("div",{class:pe(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:Pe([s.value,e.style])},[q("div",{class:"v-responsive__sizer",style:Pe(r.value)},null),(i=n.additional)==null?void 0:i.call(n),n.default&&q("div",{class:pe(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function TS(e,t){if(!rl)return;const n=t.modifiers||{},r=t.value,{handler:s,options:i}=typeof r=="object"?r:{handler:r,options:{}},o=new IntersectionObserver(function(){var f;let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],l=arguments.length>1?arguments[1]:void 0;const u=(f=e._observe)==null?void 0:f[t.instance.$.uid];if(!u)return;const c=a.some(d=>d.isIntersecting);s&&(!n.quiet||u.init)&&(!n.once||c||u.init)&&s(c,a,l),c&&n.once?ch(e,t):u.init=!0},i);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function ch(e,t){var r;const n=(r=e._observe)==null?void 0:r[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const Mu={mounted:TS,unmounted:ch},RS=Z({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...lh(),...Be(),...gn(),...th()},"VImg"),uh=be()({name:"VImg",directives:{vIntersect:Mu},props:RS(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:r}=t;const{backgroundColorClasses:s,backgroundColorStyles:i}=yr(()=>e.color),{roundedClasses:o}=vn(e),a=Ue("VImg"),l=ce(""),u=fe(),c=ce(e.eager?"loading":"idle"),f=ce(),d=ce(),m=M(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),g=M(()=>m.value.aspect||f.value/d.value||0);me(()=>e.src,()=>{h(c.value!=="idle")}),me(g,(A,N)=>{!A&&N&&u.value&&E(u.value)}),Vi(()=>h());function h(A){if(!(e.eager&&A)&&!(rl&&!A&&!e.eager)){if(c.value="loading",m.value.lazySrc){const N=new Image;N.src=m.value.lazySrc,E(N,null)}m.value.src&&At(()=>{var N;n("loadstart",((N=u.value)==null?void 0:N.currentSrc)||m.value.src),setTimeout(()=>{var J;if(!a.isUnmounted)if((J=u.value)!=null&&J.complete){if(u.value.naturalWidth||v(),c.value==="error")return;g.value||E(u.value,null),c.value==="loading"&&b()}else g.value||E(u.value),w()})})}}function b(){var A;a.isUnmounted||(w(),E(u.value),c.value="loaded",n("load",((A=u.value)==null?void 0:A.currentSrc)||m.value.src))}function v(){var A;a.isUnmounted||(c.value="error",n("error",((A=u.value)==null?void 0:A.currentSrc)||m.value.src))}function w(){const A=u.value;A&&(l.value=A.currentSrc||A.src)}let S=-1;Tt(()=>{clearTimeout(S)});function E(A){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const J=()=>{if(clearTimeout(S),a.isUnmounted)return;const{naturalHeight:X,naturalWidth:re}=A;X||re?(f.value=re,d.value=X):!A.complete&&c.value==="loading"&&N!=null?S=window.setTimeout(J,N):(A.currentSrc.endsWith(".svg")||A.currentSrc.startsWith("data:image/svg+xml"))&&(f.value=1,d.value=1)};J()}const D=K(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),O=()=>{var J;if(!m.value.src||c.value==="idle")return null;const A=q("img",{class:pe(["v-img__img",D.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:m.value.src,srcset:m.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:u,onLoad:b,onError:v},null),N=(J=r.sources)==null?void 0:J.call(r);return R(ur,{transition:e.transition,appear:!0},{default:()=>[Jn(N?q("picture",{class:"v-img__picture"},[N,A]):A,[[tl,c.value==="loaded"]])]})},B=()=>R(ur,{transition:e.transition},{default:()=>[m.value.lazySrc&&c.value!=="loaded"&&q("img",{class:pe(["v-img__img","v-img__img--preload",D.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:m.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),T=()=>r.placeholder?R(ur,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!r.error)&&q("div",{class:"v-img__placeholder"},[r.placeholder()])]}):null,I=()=>r.error?R(ur,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&q("div",{class:"v-img__error"},[r.error()])]}):null,W=()=>e.gradient?q("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,V=ce(!1);{const A=me(g,N=>{N&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{V.value=!0})}),A())})}return De(()=>{const A=Nu.filterProps(e);return Jn(R(Nu,Oe({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!V.value},s.value,o.value,e.class],style:[{width:de(e.width==="auto"?f.value:e.width)},i.value,e.style]},A,{aspectRatio:g.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>q(Ie,null,[R(O,null,null),R(B,null,null),R(W,null,null),R(T,null,null),R(I,null,null)]),default:r.default}),[[Mu,{handler:h,options:e.options},null,{once:!0}]])}),{currentSrc:l,image:u,state:c,naturalWidth:f,naturalHeight:d}}}),PS=Z({start:Boolean,end:Boolean,icon:Ze,image:String,text:String,...Or(),...Be(),...Qn(),...gn(),...qi(),...gt(),...wt(),...er({variant:"flat"})},"VAvatar"),Ri=be()({name:"VAvatar",props:PS(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=Rt(e),{borderClasses:s}=kr(e),{colorClasses:i,colorStyles:o,variantClasses:a}=Ls(e),{densityClasses:l}=Ir(e),{roundedClasses:u}=vn(e),{sizeClasses:c,sizeStyles:f}=Gi(e);return De(()=>R(e.tag,{class:pe(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},r.value,s.value,i.value,l.value,u.value,c.value,a.value,e.class]),style:Pe([o.value,f.value,e.style])},{default:()=>[n.default?R(Et,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?R(uh,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?R(Zt,{key:"icon",icon:e.icon},null):e.text,Ds(!1,"v-avatar")]})),{}}}),OS=Z({appendAvatar:String,appendIcon:Ze,prependAvatar:String,prependIcon:Ze,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Be(),...Qn()},"VCardItem"),kS=be()({name:"VCardItem",props:OS(),setup(e,t){let{slots:n}=t;return De(()=>{var u;const r=!!(e.prependAvatar||e.prependIcon),s=!!(r||n.prepend),i=!!(e.appendAvatar||e.appendIcon),o=!!(i||n.append),a=!!(e.title!=null||n.title),l=!!(e.subtitle!=null||n.subtitle);return q("div",{class:pe(["v-card-item",e.class]),style:Pe(e.style)},[s&&q("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?R(Et,{key:"prepend-defaults",disabled:!r,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):q(Ie,null,[e.prependAvatar&&R(Ri,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&R(Zt,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),q("div",{class:"v-card-item__content"},[a&&R(ah,{key:"title"},{default:()=>{var c;return[((c=n.title)==null?void 0:c.call(n))??Ot(e.title)]}}),l&&R(ES,{key:"subtitle"},{default:()=>{var c;return[((c=n.subtitle)==null?void 0:c.call(n))??Ot(e.subtitle)]}}),(u=n.default)==null?void 0:u.call(n)]),o&&q("div",{key:"append",class:"v-card-item__append"},[n.append?R(Et,{key:"append-defaults",disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):q(Ie,null,[e.appendIcon&&R(Zt,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&R(Ri,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])])}),{}}}),IS=Z({opacity:[Number,String],...Be(),...gt()},"VCardText"),ya=be()({name:"VCardText",props:IS(),setup(e,t){let{slots:n}=t;return De(()=>R(e.tag,{class:pe(["v-card-text",e.class]),style:Pe([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),DS=Z({appendAvatar:String,appendIcon:Ze,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:Ze,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Or(),...Be(),...Qn(),...Dr(),...ks(),...Hm(),...Yi(),...bl(),...gn(),...Cl(),...gt(),...wt(),...er({variant:"elevated"})},"VCard"),Bu=be()({name:"VCard",directives:{vRipple:bs},props:DS(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Rt(e),{borderClasses:i}=kr(e),{colorClasses:o,colorStyles:a,variantClasses:l}=Ls(e),{densityClasses:u}=Ir(e),{dimensionStyles:c}=Lr(e),{elevationClasses:f}=Is(e),{loaderClasses:d}=Um(e),{locationStyles:m}=yl(e),{positionClasses:g}=wl(e),{roundedClasses:h}=vn(e),b=Sl(e,n);return De(()=>{const v=e.link!==!1&&b.isLink.value,w=!e.disabled&&e.link!==!1&&(e.link||b.isClickable.value),S=v?"a":e.tag,E=!!(r.title||e.title!=null),D=!!(r.subtitle||e.subtitle!=null),O=E||D,B=!!(r.append||e.appendAvatar||e.appendIcon),T=!!(r.prepend||e.prependAvatar||e.prependIcon),I=!!(r.image||e.image),W=O||T||B,V=!!(r.text||e.text!=null);return Jn(R(S,Oe({class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":w},s.value,i.value,o.value,u.value,f.value,d.value,g.value,h.value,l.value,e.class],style:[a.value,c.value,m.value,e.style],onClick:w&&b.navigate,tabindex:e.disabled?-1:void 0},b.linkProps),{default:()=>{var A;return[I&&q("div",{key:"image",class:"v-card__image"},[r.image?R(Et,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},r.image):R(uh,{key:"image-img",cover:!0,src:e.image},null)]),R(Iw,{name:"v-card",active:!!e.loading,color:typeof e.loading=="boolean"?void 0:e.loading},{default:r.loader}),W&&R(kS,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:r.item,prepend:r.prepend,title:r.title,subtitle:r.subtitle,append:r.append}),V&&R(ya,{key:"text"},{default:()=>{var N;return[((N=r.text)==null?void 0:N.call(r))??e.text]}}),(A=r.default)==null?void 0:A.call(r),r.actions&&R(oh,null,{default:r.actions}),Ds(w,"v-card")]}}),[[bs,w&&e.ripple]])}),{}}}),LS=Z({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function St(e,t,n){return be()({name:e,props:LS({mode:n,origin:t}),setup(r,s){let{slots:i}=s;const o={onBeforeEnter(a){r.origin&&(a.style.transformOrigin=r.origin)},onLeave(a){if(r.leaveAbsolute){const{offsetTop:l,offsetLeft:u,offsetWidth:c,offsetHeight:f}=a;a._transitionInitialStyles={position:a.style.position,top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height},a.style.position="absolute",a.style.top=`${l}px`,a.style.left=`${u}px`,a.style.width=`${c}px`,a.style.height=`${f}px`}r.hideOnLeave&&a.style.setProperty("display","none","important")},onAfterLeave(a){if(r.leaveAbsolute&&(a!=null&&a._transitionInitialStyles)){const{position:l,top:u,left:c,width:f,height:d}=a._transitionInitialStyles;delete a._transitionInitialStyles,a.style.position=l||"",a.style.top=u||"",a.style.left=c||"",a.style.width=f||"",a.style.height=d||""}}};return()=>{const a=r.group?nl:An;return On(a,{name:r.disabled?"":e,css:!r.disabled,...r.group?void 0:{mode:r.mode},...r.disabled?{}:o},i.default)}}})}function fh(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return be()({name:e,props:{mode:{type:String,default:n},disabled:Boolean,group:Boolean},setup(r,s){let{slots:i}=s;const o=r.group?nl:An;return()=>On(o,{name:r.disabled?"":e,css:!r.disabled,...r.disabled?{}:t},i.default)}})}function dh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";const n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)?"width":"height",r=ct(`offset-${n}`);return{onBeforeEnter(o){o._parent=o.parentNode,o._initialStyle={transition:o.style.transition,overflow:o.style.overflow,[n]:o.style[n]}},onEnter(o){const a=o._initialStyle;if(!a)return;o.style.setProperty("transition","none","important"),o.style.overflow="hidden";const l=`${o[r]}px`;o.style[n]="0",o.offsetHeight,o.style.transition=a.transition,e&&o._parent&&o._parent.classList.add(e),requestAnimationFrame(()=>{o.style[n]=l})},onAfterEnter:i,onEnterCancelled:i,onLeave(o){o._initialStyle={transition:"",overflow:o.style.overflow,[n]:o.style[n]},o.style.overflow="hidden",o.style[n]=`${o[r]}px`,o.offsetHeight,requestAnimationFrame(()=>o.style[n]="0")},onAfterLeave:s,onLeaveCancelled:s};function s(o){e&&o._parent&&o._parent.classList.remove(e),i(o)}function i(o){if(!o._initialStyle)return;const a=o._initialStyle[n];o.style.overflow=o._initialStyle.overflow,a!=null&&(o.style[n]=a),delete o._initialStyle}}const NS=Z({target:[Object,Array]},"v-dialog-transition"),Io=new WeakMap,MS=be()({name:"VDialogTransition",props:NS(),setup(e,t){let{slots:n}=t;const r={onBeforeEnter(s){s.style.pointerEvents="none",s.style.visibility="hidden"},async onEnter(s,i){var m;await new Promise(g=>requestAnimationFrame(g)),await new Promise(g=>requestAnimationFrame(g)),s.style.visibility="";const o=$u(e.target,s),{x:a,y:l,sx:u,sy:c,speed:f}=o;Io.set(s,o);const d=Gr(s,[{transform:`translate(${a}px, ${l}px) scale(${u}, ${c})`,opacity:0},{}],{duration:225*f,easing:Ey});(m=Fu(s))==null||m.forEach(g=>{Gr(g,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*f,easing:ia})}),d.finished.then(()=>i())},onAfterEnter(s){s.style.removeProperty("pointer-events")},onBeforeLeave(s){s.style.pointerEvents="none"},async onLeave(s,i){var m;await new Promise(g=>requestAnimationFrame(g));let o;!Io.has(s)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?o=$u(e.target,s):o=Io.get(s);const{x:a,y:l,sx:u,sy:c,speed:f}=o;Gr(s,[{},{transform:`translate(${a}px, ${l}px) scale(${u}, ${c})`,opacity:0}],{duration:125*f,easing:Ay}).finished.then(()=>i()),(m=Fu(s))==null||m.forEach(g=>{Gr(g,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*f,easing:ia})})},onAfterLeave(s){s.style.removeProperty("pointer-events")}};return()=>e.target?R(An,Oe({name:"dialog-transition"},r,{css:!1}),n):R(An,{name:"dialog-transition"},n)}});function Fu(e){var n;const t=(n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:n.children;return t&&[...t]}function $u(e,t){const n=Zd(e),r=Qd(t),[s,i]=getComputedStyle(t).transformOrigin.split(" ").map(v=>parseFloat(v)),[o,a]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let l=n.left+n.width/2;o==="left"||a==="left"?l-=n.width/2:(o==="right"||a==="right")&&(l+=n.width/2);let u=n.top+n.height/2;o==="top"||a==="top"?u-=n.height/2:(o==="bottom"||a==="bottom")&&(u+=n.height/2);const c=n.width/r.width,f=n.height/r.height,d=Math.max(1,c,f),m=c/d||0,g=f/d||0,h=r.width*r.height/(window.innerWidth*window.innerHeight),b=h>.12?Math.min(1.5,(h-.12)*10+1):1;return{x:l-(s+r.left),y:u-(i+r.top),sx:m,sy:g,speed:b}}St("fab-transition","center center","out-in");St("dialog-bottom-transition");St("dialog-top-transition");const sx=St("fade-transition"),ix=St("scale-transition");St("scroll-x-transition");St("scroll-x-reverse-transition");St("scroll-y-transition");St("scroll-y-reverse-transition");const ox=St("slide-x-transition");St("slide-x-reverse-transition");const ax=St("slide-y-transition");St("slide-y-reverse-transition");const BS=fh("expand-transition",dh()),lx=fh("expand-x-transition",dh("",!0)),FS=Z({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...El({origin:"center center",scrollStrategy:"block",transition:{component:MS},zIndex:2400})},"VDialog"),$S=be()({name:"VDialog",props:FS(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{emit:n,slots:r}=t;const s=un(e,"modelValue"),{scopeId:i}=xl(),o=fe();function a(c){var m,g;const f=c.relatedTarget,d=c.target;if(f!==d&&((m=o.value)!=null&&m.contentEl)&&((g=o.value)!=null&&g.globalTop)&&![document,o.value.contentEl].includes(d)&&!o.value.contentEl.contains(d)){const h=Yd(o.value.contentEl);if(!h.length)return;const b=h[0],v=h[h.length-1];f===b?v.focus():b.focus()}}Tt(()=>{document.removeEventListener("focusin",a)}),ke&&me(()=>s.value&&e.retainFocus,c=>{c?document.addEventListener("focusin",a):document.removeEventListener("focusin",a)},{immediate:!0});function l(){var c;n("afterEnter"),(e.scrim||e.retainFocus)&&((c=o.value)!=null&&c.contentEl)&&!o.value.contentEl.contains(document.activeElement)&&o.value.contentEl.focus({preventScroll:!0})}function u(){n("afterLeave")}return me(s,async c=>{var f;c||(await At(),(f=o.value.activatorEl)==null||f.focus({preventScroll:!0}))}),De(()=>{const c=Ti.filterProps(e),f=Oe({"aria-haspopup":"dialog"},e.activatorProps),d=Oe({tabindex:-1},e.contentProps);return R(Ti,Oe({ref:o,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},c,{modelValue:s.value,"onUpdate:modelValue":m=>s.value=m,"aria-modal":"true",activatorProps:f,contentProps:d,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:l,onAfterLeave:u},i),{activator:r.activator,default:function(){for(var m=arguments.length,g=new Array(m),h=0;h{var b;return[(b=r.default)==null?void 0:b.call(r,...g)]}})}})}),sh({},o)}}),VS=Z({color:String,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,...Be(),...wt()},"VDivider"),mh=be()({name:"VDivider",props:VS(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Rt(e),{textColorClasses:i,textColorStyles:o}=Tr(()=>e.color),a=M(()=>{const l={};return e.length&&(l[e.vertical?"height":"width"]=de(e.length)),e.thickness&&(l[e.vertical?"borderRightWidth":"borderTopWidth"]=de(e.thickness)),l});return De(()=>{const l=q("hr",{class:pe([{"v-divider":!0,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},s.value,i.value,e.class]),style:Pe([a.value,o.value,{"--v-border-opacity":e.opacity},e.style]),"aria-orientation":!n.role||n.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${n.role||"separator"}`},null);return r.default?q("div",{class:pe(["v-divider__wrapper",{"v-divider__wrapper--vertical":e.vertical,"v-divider__wrapper--inset":e.inset}])},[l,q("div",{class:"v-divider__content"},[r.default()]),l]):l}),{}}}),jS=ul("v-spacer","div","VSpacer"),ba=Symbol.for("vuetify:list");function hh(){let{filterable:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=ye(ba,{filterable:!1,hasPrepend:ce(!1),updateHasPrepend:()=>null}),n={filterable:t.filterable||e,hasPrepend:ce(!1),updateHasPrepend:r=>{r&&(n.hasPrepend.value=r)}};return st(ba,n),t}function gh(){return ye(ba,null)}const Al=e=>{const t={activate:n=>{let{id:r,value:s,activated:i}=n;return r=ee(r),e&&!s&&i.size===1&&i.has(r)||(s?i.add(r):i.delete(r)),i},in:(n,r,s)=>{let i=new Set;if(n!=null)for(const o of ol(n))i=t.activate({id:o,value:!0,activated:new Set(i),children:r,parents:s});return i},out:n=>Array.from(n)};return t},vh=e=>{const t=Al(e);return{activate:r=>{let{activated:s,id:i,...o}=r;i=ee(i);const a=s.has(i)?new Set([i]):new Set;return t.activate({...o,id:i,activated:a})},in:(r,s,i)=>{let o=new Set;if(r!=null){const a=ol(r);a.length&&(o=t.in(a.slice(0,1),s,i))}return o},out:(r,s,i)=>t.out(r,s,i)}},HS=e=>{const t=Al(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},US=e=>{const t=vh(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},WS={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){const i=new Set;i.add(t);let o=s.get(t);for(;o!=null;)i.add(o),o=s.get(o);return i}else return r.delete(t),r},select:()=>null},ph={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){let i=s.get(t);for(r.add(t);i!=null&&i!==t;)r.add(i),i=s.get(i);return r}else r.delete(t);return r},select:()=>null},zS={open:ph.open,select:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(!n)return r;const i=[];let o=s.get(t);for(;o!=null;)i.push(o),o=s.get(o);return new Set(i)}},Tl=e=>{const t={select:n=>{let{id:r,value:s,selected:i}=n;if(r=ee(r),e&&!s){const o=Array.from(i.entries()).reduce((a,l)=>{let[u,c]=l;return c==="on"&&a.push(u),a},[]);if(o.length===1&&o[0]===r)return i}return i.set(r,s?"on":"off"),i},in:(n,r,s,i)=>{const o=new Map;for(const a of n||[])t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:n=>{const r=[];for(const[s,i]of n.entries())i==="on"&&r.push(s);return r}};return t},yh=e=>{const t=Tl(e);return{select:r=>{let{selected:s,id:i,...o}=r;i=ee(i);const a=s.has(i)?new Map([[i,s.get(i)]]):new Map;return t.select({...o,id:i,selected:a})},in:(r,s,i,o)=>r!=null&&r.length?t.in(r.slice(0,1),s,i,o):new Map,out:(r,s,i)=>t.out(r,s,i)}},KS=e=>{const t=Tl(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},qS=e=>{const t=yh(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},bh=e=>{const t={select:n=>{let{id:r,value:s,selected:i,children:o,parents:a,disabled:l}=n;r=ee(r);const u=new Map(i),c=[r];for(;c.length;){const d=c.shift();l.has(d)||i.set(ee(d),s?"on":"off"),o.has(d)&&c.push(...o.get(d))}let f=ee(a.get(r));for(;f;){let d=!0,m=!0;for(const g of o.get(f)){const h=ee(g);if(!l.has(h)&&(i.get(h)!=="on"&&(d=!1),i.has(h)&&i.get(h)!=="off"&&(m=!1),!d&&!m))break}i.set(f,d?"on":m?"off":"indeterminate"),f=ee(a.get(f))}return e&&!s&&Array.from(i.entries()).reduce((m,g)=>{let[h,b]=g;return b==="on"&&m.push(h),m},[]).length===0?u:i},in:(n,r,s,i)=>{let o=new Map;for(const a of n||[])o=t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:(n,r)=>{const s=[];for(const[i,o]of n.entries())o==="on"&&!r.has(i)&&s.push(i);return s}};return t},GS=e=>{const t=bh(e);return{select:t.select,in:t.in,out:(r,s,i)=>{const o=[];for(const[a,l]of r.entries())if(l==="on"){if(i.has(a)){const u=i.get(a);if(r.get(u)==="on")continue}o.push(a)}return o}}},ws=Symbol.for("vuetify:nested"),wh={id:ce(),root:{register:()=>null,unregister:()=>null,children:fe(new Map),parents:fe(new Map),disabled:fe(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:fe(!1),selectable:fe(!1),opened:fe(new Set),activated:fe(new Set),selected:fe(new Map),selectedValues:fe([]),getPath:()=>[]}},YS=Z({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean},"nested"),JS=e=>{let t=!1;const n=ce(new Map),r=ce(new Map),s=ce(new Set),i=un(e,"opened",e.opened,h=>new Set(Array.isArray(h)?h.map(b=>ee(b)):h),h=>[...h.values()]),o=M(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return HS(e.mandatory);case"single-leaf":return US(e.mandatory);case"independent":return Al(e.mandatory);case"single-independent":default:return vh(e.mandatory)}}),a=M(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return qS(e.mandatory);case"leaf":return KS(e.mandatory);case"independent":return Tl(e.mandatory);case"single-independent":return yh(e.mandatory);case"trunk":return GS(e.mandatory);case"classic":default:return bh(e.mandatory)}}),l=M(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return zS;case"single":return WS;case"multiple":default:return ph}}),u=un(e,"activated",e.activated,h=>o.value.in(h,n.value,r.value),h=>o.value.out(h,n.value,r.value)),c=un(e,"selected",e.selected,h=>a.value.in(h,n.value,r.value,s.value),h=>a.value.out(h,n.value,r.value));Tt(()=>{t=!0});function f(h){const b=[];let v=ee(h);for(;v!=null;)b.unshift(v),v=r.value.get(v);return b}const d=Ue("nested"),m=new Set,g={id:ce(),root:{opened:i,activatable:K(()=>e.activatable),selectable:K(()=>e.selectable),activated:u,selected:c,selectedValues:M(()=>{const h=[];for(const[b,v]of c.value.entries())v==="on"&&h.push(b);return h}),register:(h,b,v,w)=>{if(m.has(h)){f(h).map(String).join(" -> "),f(b).concat(h).map(String).join(" -> ");return}else m.add(h);b&&h!==b&&r.value.set(h,b),v&&s.value.add(h),w&&n.value.set(h,[]),b!=null&&n.value.set(b,[...n.value.get(b)||[],h])},unregister:h=>{if(t)return;m.delete(h),n.value.delete(h),s.value.delete(h);const b=r.value.get(h);if(b){const v=n.value.get(b)??[];n.value.set(b,v.filter(w=>w!==h))}r.value.delete(h)},open:(h,b,v)=>{d.emit("click:open",{id:h,value:b,path:f(h),event:v});const w=l.value.open({id:h,value:b,opened:new Set(i.value),children:n.value,parents:r.value,event:v});w&&(i.value=w)},openOnSelect:(h,b,v)=>{const w=l.value.select({id:h,value:b,selected:new Map(c.value),opened:new Set(i.value),children:n.value,parents:r.value,event:v});w&&(i.value=w)},select:(h,b,v)=>{d.emit("click:select",{id:h,value:b,path:f(h),event:v});const w=a.value.select({id:h,value:b,selected:new Map(c.value),children:n.value,parents:r.value,disabled:s.value,event:v});w&&(c.value=w),g.root.openOnSelect(h,b,v)},activate:(h,b,v)=>{if(!e.activatable)return g.root.select(h,!0,v);d.emit("click:activate",{id:h,value:b,path:f(h),event:v});const w=o.value.activate({id:h,value:b,activated:new Set(u.value),children:n.value,parents:r.value,event:v});if(w.size!==u.value.size)u.value=w;else{for(const S of w)if(!u.value.has(S)){u.value=w;return}for(const S of u.value)if(!w.has(S)){u.value=w;return}}},children:n,parents:r,disabled:s,getPath:f}};return st(ws,g),g.root},Sh=(e,t,n)=>{const r=ye(ws,wh),s=Symbol("nested item"),i=M(()=>ee(Qt(e))??s),o={...r,id:i,open:(a,l)=>r.root.open(i.value,a,l),openOnSelect:(a,l)=>r.root.openOnSelect(i.value,a,l),isOpen:M(()=>r.root.opened.value.has(i.value)),parent:M(()=>r.root.parents.value.get(i.value)),activate:(a,l)=>r.root.activate(i.value,a,l),isActivated:M(()=>r.root.activated.value.has(i.value)),select:(a,l)=>r.root.select(i.value,a,l),isSelected:M(()=>r.root.selected.value.get(i.value)==="on"),isIndeterminate:M(()=>r.root.selected.value.get(i.value)==="indeterminate"),isLeaf:M(()=>!r.root.children.value.get(i.value)),isGroupActivator:r.isGroupActivator};return Vi(()=>{r.isGroupActivator||r.root.register(i.value,r.id.value,Qt(t),n)}),Tt(()=>{r.isGroupActivator||r.root.unregister(i.value)}),n&&st(ws,o),o},XS=()=>{const e=ye(ws,wh);st(ws,{...e,isGroupActivator:!0})};function ZS(){const e=ce(!1);return Pn(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:K(()=>e.value?void 0:{transition:"none !important"}),isBooted:Cs(e)}}const QS=Pr({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return XS(),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),e1=Z({activeColor:String,baseColor:String,color:String,collapseIcon:{type:Ze,default:"$collapse"},disabled:Boolean,expandIcon:{type:Ze,default:"$expand"},rawId:[String,Number],prependIcon:Ze,appendIcon:Ze,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Be(),...gt()},"VListGroup"),Vu=be()({name:"VListGroup",props:e1(),setup(e,t){let{slots:n}=t;const{isOpen:r,open:s,id:i}=Sh(()=>e.value,()=>e.disabled,!0),o=M(()=>`v-list-group--id-${String(e.rawId??i.value)}`),a=gh(),{isBooted:l}=ZS();function u(m){var g;["INPUT","TEXTAREA"].includes((g=m.target)==null?void 0:g.tagName)||s(!r.value,m)}const c=M(()=>({onClick:u,class:"v-list-group__header",id:o.value})),f=M(()=>r.value?e.collapseIcon:e.expandIcon),d=M(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return De(()=>R(e.tag,{class:pe(["v-list-group",{"v-list-group--prepend":a==null?void 0:a.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":r.value},e.class]),style:Pe(e.style)},{default:()=>[n.activator&&R(Et,{defaults:d.value},{default:()=>[R(QS,null,{default:()=>[n.activator({props:c.value,isOpen:r.value})]})]}),R(ur,{transition:{component:BS},disabled:!l.value},{default:()=>{var m;return[Jn(q("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(m=n.default)==null?void 0:m.call(n)]),[[tl,r.value]])]}})]})),{isOpen:r}}}),t1=Z({opacity:[Number,String],...Be(),...gt()},"VListItemSubtitle"),Ch=be()({name:"VListItemSubtitle",props:t1(),setup(e,t){let{slots:n}=t;return De(()=>R(e.tag,{class:pe(["v-list-item-subtitle",e.class]),style:Pe([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),_h=ul("v-list-item-title"),n1=Z({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:Ze,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:Ze,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,onClick:rs(),onClickOnce:rs(),...Or(),...Be(),...Qn(),...Dr(),...ks(),...gn(),...Cl(),...gt(),...wt(),...er({variant:"text"})},"VListItem"),wa=be()({name:"VListItem",directives:{vRipple:bs},props:n1(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:r,emit:s}=t;const i=Sl(e,n),o=M(()=>e.value===void 0?i.href.value:e.value),{activate:a,isActivated:l,select:u,isOpen:c,isSelected:f,isIndeterminate:d,isGroupActivator:m,root:g,parent:h,openOnSelect:b,id:v}=Sh(o,()=>e.disabled,!1),w=gh(),S=M(()=>{var ue;return e.active!==!1&&(e.active||((ue=i.isActive)==null?void 0:ue.value)||(g.activatable.value?l.value:f.value))}),E=K(()=>e.link!==!1&&i.isLink.value),D=M(()=>!!w&&(g.selectable.value||g.activatable.value||e.value!=null)),O=M(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||D.value)),B=K(()=>e.rounded||e.nav),T=K(()=>e.color??e.activeColor),I=K(()=>({color:S.value?T.value??e.baseColor:e.baseColor,variant:e.variant}));me(()=>{var ue;return(ue=i.isActive)==null?void 0:ue.value},ue=>{ue&&W()}),Vi(()=>{var ue;(ue=i.isActive)!=null&&ue.value&&W()});function W(){h.value!=null&&g.open(h.value,!0),b(!0)}const{themeClasses:V}=Rt(e),{borderClasses:A}=kr(e),{colorClasses:N,colorStyles:J,variantClasses:X}=Ls(I),{densityClasses:re}=Ir(e),{dimensionStyles:oe}=Lr(e),{elevationClasses:se}=Is(e),{roundedClasses:Fe}=vn(B),Ce=K(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),Le=K(()=>e.ripple!==void 0&&e.ripple&&(w!=null&&w.filterable)?{keys:["Enter"]}:e.ripple),_e=M(()=>({isActive:S.value,select:u,isOpen:c.value,isSelected:f.value,isIndeterminate:d.value}));function je(ue){var Ne,_;s("click",ue),!["INPUT","TEXTAREA"].includes((Ne=ue.target)==null?void 0:Ne.tagName)&&O.value&&((_=i.navigate)==null||_.call(i,ue),!m&&(g.activatable.value?a(!l.value,ue):(g.selectable.value||e.value!=null)&&u(!f.value,ue)))}function it(ue){const Ne=ue.target;["INPUT","TEXTAREA"].includes(Ne.tagName)||(ue.key==="Enter"||ue.key===" "&&!(w!=null&&w.filterable))&&(ue.preventDefault(),ue.stopPropagation(),ue.target.dispatchEvent(new MouseEvent("click",ue)))}return De(()=>{const ue=E.value?"a":e.tag,Ne=r.title||e.title!=null,_=r.subtitle||e.subtitle!=null,F=!!(e.appendAvatar||e.appendIcon),j=!!(F||r.append),Y=!!(e.prependAvatar||e.prependIcon),he=!!(Y||r.prepend);return w==null||w.updateHasPrepend(he),e.activeColor&&em("active-color",["color","base-color"]),Jn(R(ue,Oe({class:["v-list-item",{"v-list-item--active":S.value,"v-list-item--disabled":e.disabled,"v-list-item--link":O.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!he&&(w==null?void 0:w.hasPrepend.value),"v-list-item--slim":e.slim,[`${e.activeClass}`]:e.activeClass&&S.value},V.value,A.value,N.value,re.value,se.value,Ce.value,Fe.value,X.value,e.class],style:[J.value,oe.value,e.style],tabindex:O.value?w?-2:0:void 0,"aria-selected":D.value?g.activatable.value?l.value:g.selectable.value?f.value:S.value:void 0,onClick:je,onKeydown:O.value&&!E.value&&it},i.linkProps),{default:()=>{var p;return[Ds(O.value||S.value,"v-list-item"),he&&q("div",{key:"prepend",class:"v-list-item__prepend"},[r.prepend?R(Et,{key:"prepend-defaults",disabled:!Y,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0}}},{default:()=>{var y;return[(y=r.prepend)==null?void 0:y.call(r,_e.value)]}}):q(Ie,null,[e.prependAvatar&&R(Ri,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&R(Zt,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),q("div",{class:"v-list-item__spacer"},null)]),q("div",{class:"v-list-item__content","data-no-activator":""},[Ne&&R(_h,{key:"title"},{default:()=>{var y;return[((y=r.title)==null?void 0:y.call(r,{title:e.title}))??Ot(e.title)]}}),_&&R(Ch,{key:"subtitle"},{default:()=>{var y;return[((y=r.subtitle)==null?void 0:y.call(r,{subtitle:e.subtitle}))??Ot(e.subtitle)]}}),(p=r.default)==null?void 0:p.call(r,_e.value)]),j&&q("div",{key:"append",class:"v-list-item__append"},[r.append?R(Et,{key:"append-defaults",disabled:!F,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0}}},{default:()=>{var y;return[(y=r.append)==null?void 0:y.call(r,_e.value)]}}):q(Ie,null,[e.appendIcon&&R(Zt,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&R(Ri,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),q("div",{class:"v-list-item__spacer"},null)])]}}),[[bs,O.value&&Le.value]])}),{activate:a,isActivated:l,isGroupActivator:m,isSelected:f,list:w,select:u,root:g,id:v,link:i}}}),r1=Z({color:String,inset:Boolean,sticky:Boolean,title:String,...Be(),...gt()},"VListSubheader"),s1=be()({name:"VListSubheader",props:r1(),setup(e,t){let{slots:n}=t;const{textColorClasses:r,textColorStyles:s}=Tr(()=>e.color);return De(()=>{const i=!!(n.default||e.title);return R(e.tag,{class:pe(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},r.value,e.class]),style:Pe([{textColorStyles:s},e.style])},{default:()=>{var o;return[i&&q("div",{class:"v-list-subheader__text"},[((o=n.default)==null?void 0:o.call(n))??e.title])]}})}),{}}}),i1=Z({items:Array,returnObject:Boolean},"VListChildren"),xh=be()({name:"VListChildren",props:i1(),setup(e,t){let{slots:n}=t;return hh(),()=>{var r,s;return((r=n.default)==null?void 0:r.call(n))??((s=e.items)==null?void 0:s.map(i=>{var d,m;let{children:o,props:a,type:l,raw:u}=i;if(l==="divider")return((d=n.divider)==null?void 0:d.call(n,{props:a}))??R(mh,a,null);if(l==="subheader")return((m=n.subheader)==null?void 0:m.call(n,{props:a}))??R(s1,a,null);const c={subtitle:n.subtitle?g=>{var h;return(h=n.subtitle)==null?void 0:h.call(n,{...g,item:u})}:void 0,prepend:n.prepend?g=>{var h;return(h=n.prepend)==null?void 0:h.call(n,{...g,item:u})}:void 0,append:n.append?g=>{var h;return(h=n.append)==null?void 0:h.call(n,{...g,item:u})}:void 0,title:n.title?g=>{var h;return(h=n.title)==null?void 0:h.call(n,{...g,item:u})}:void 0},f=Vu.filterProps(a);return o?R(Vu,Oe(f,{value:e.returnObject?u:a==null?void 0:a.value,rawId:a==null?void 0:a.value}),{activator:g=>{let{props:h}=g;const b=Oe(a,h,{value:e.returnObject?u:a.value});return n.header?n.header({props:b}):R(wa,b,c)},default:()=>R(xh,{items:o,returnObject:e.returnObject},n)}):n.item?n.item({props:a}):R(wa,Oe(a,{value:e.returnObject?u:a.value}),c)}))}}}),o1=Z({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),a1=new Set(["item","divider","subheader"]);function br(e,t){const n=qt(t,e.itemTitle,t),r=qt(t,e.itemValue,n),s=qt(t,e.itemChildren),i=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?Rs(t,["children"]):t:void 0:qt(t,e.itemProps);let o=qt(t,e.itemType,"item");a1.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:String(a.title??""),value:a.value,props:a,children:o==="item"&&Array.isArray(s)?Eh(e,s):void 0,raw:t}}br.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function Eh(e,t){const n=il(e,br.neededProps),r=[];for(const s of t)r.push(br(n,s));return r}function cx(e){const t=M(()=>Eh(e,e.items)),n=M(()=>t.value.some(a=>a.value===null)),r=ce(new Map),s=ce([]);en(()=>{const a=t.value,l=new Map,u=[];for(let c=0;c{let{raw:u}=l;return u}):a.map(l=>{let{value:u}=l;return u})}return{items:t,transformIn:i,transformOut:o}}const l1=new Set(["item","divider","subheader"]);function c1(e,t){const n=na(t)?t:qt(t,e.itemTitle),r=na(t)?t:qt(t,e.itemValue,void 0),s=qt(t,e.itemChildren),i=e.itemProps===!0?Rs(t,["children"]):qt(t,e.itemProps);let o=qt(t,e.itemType,"item");l1.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:a.title,value:a.value,props:a,children:o==="item"&&s?Ah(e,s):void 0,raw:t}}function Ah(e,t){const n=[];for(const r of t)n.push(c1(e,r));return n}function u1(e){return{items:M(()=>Ah(e,e.items))}}const f1=Z({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:Ze,collapseIcon:Ze,lines:{type:[Boolean,String],default:"one"},slim:Boolean,nav:Boolean,"onClick:open":rs(),"onClick:select":rs(),"onUpdate:opened":rs(),...YS({selectStrategy:"single-leaf",openStrategy:"list"}),...Or(),...Be(),...Qn(),...Dr(),...ks(),...o1(),...gn(),...gt(),...wt(),...er({variant:"text"})},"VList"),d1=be()({name:"VList",props:f1(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,t){let{slots:n}=t;const{items:r}=u1(e),{themeClasses:s}=Rt(e),{backgroundColorClasses:i,backgroundColorStyles:o}=yr(()=>e.bgColor),{borderClasses:a}=kr(e),{densityClasses:l}=Ir(e),{dimensionStyles:u}=Lr(e),{elevationClasses:c}=Is(e),{roundedClasses:f}=vn(e),{children:d,open:m,parents:g,select:h,getPath:b}=JS(e),v=K(()=>e.lines?`v-list--${e.lines}-line`:void 0),w=K(()=>e.activeColor),S=K(()=>e.baseColor),E=K(()=>e.color);hh({filterable:e.filterable}),Ui({VListGroup:{activeColor:w,baseColor:S,color:E,expandIcon:K(()=>e.expandIcon),collapseIcon:K(()=>e.collapseIcon)},VListItem:{activeClass:K(()=>e.activeClass),activeColor:w,baseColor:S,color:E,density:K(()=>e.density),disabled:K(()=>e.disabled),lines:K(()=>e.lines),nav:K(()=>e.nav),slim:K(()=>e.slim),variant:K(()=>e.variant)}});const D=ce(!1),O=fe();function B(N){D.value=!0}function T(N){D.value=!1}function I(N){var J;!D.value&&!(N.relatedTarget&&((J=O.value)!=null&&J.contains(N.relatedTarget)))&&A()}function W(N){const J=N.target;if(!(!O.value||J.tagName==="INPUT"&&["Home","End"].includes(N.key)||J.tagName==="TEXTAREA")){if(N.key==="ArrowDown")A("next");else if(N.key==="ArrowUp")A("prev");else if(N.key==="Home")A("first");else if(N.key==="End")A("last");else return;N.preventDefault()}}function V(N){D.value=!0}function A(N){if(O.value)return Jd(O.value,N)}return De(()=>R(e.tag,{ref:O,class:pe(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},s.value,i.value,a.value,l.value,c.value,v.value,f.value,e.class]),style:Pe([o.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:"listbox","aria-activedescendant":void 0,onFocusin:B,onFocusout:T,onFocus:I,onKeydown:W,onMousedown:V},{default:()=>[R(xh,{items:r.value,returnObject:e.returnObject},n)]})),{open:m,select:h,focus:A,children:d,parents:g,getPath:b}}});let Sa=null;const Th={name:"RateLimitModal",data(){return{isVisible:!1,activeRequests:[]}},computed:{hasActiveRequests(){return this.activeRequests.length>0}},watch:{hasActiveRequests(e){this.isVisible=e}},methods:{close(){this.isVisible=!1},show(e,t,n){const r=Date.now()+Math.random().toString(36).substring(2,9),s=Math.max(0,Math.floor((new Date(e)-new Date)/1e3)),i={id:r,resetTime:e,path:t,method:n,remainingSeconds:s};this.activeRequests.push(i),this.startCountdown(r),this.isVisible=!0},startCountdown(e){const t=this.activeRequests.find(r=>r.id===e);if(!t)return;const n=setInterval(()=>{const r=this.activeRequests.findIndex(s=>s.id===e);if(r===-1){clearInterval(n);return}this.activeRequests[r].remainingSeconds--,this.activeRequests[r].remainingSeconds<=0&&(clearInterval(n),this.activeRequests.splice(r,1))},1e3);t.intervalId=n},clearAllCountdowns(){this.activeRequests.forEach(e=>{e.intervalId&&clearInterval(e.intervalId)}),this.activeRequests=[]}},beforeUnmount(){this.clearAllCountdowns()},created(){Sa=this}};Th.show=function(e,t,n){Sa&&Sa.show(e,t,n)};const m1=Th,h1={class:"text-primary font-weight-bold"};function g1(e,t,n,r,s,i){return _t(),Gt($S,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=o=>e.isVisible=o),"max-width":"500",persistent:""},{default:We(()=>[R(Bu,{class:"rate-limit-modal"},{default:We(()=>[R(ah,{class:"text-center pa-4 bg-error text-white"},{default:We(()=>[R(Zt,{icon:"mdi-clock-alert-outline",size:"large",class:"mr-2"}),t[1]||(t[1]=qr(" 请求频率超限 ",-1))]),_:1}),R(ya,{class:"pa-6"},{default:We(()=>[t[3]||(t[3]=q("div",{class:"text-body-1 mb-4"},"您的请求过于频繁,请稍后再试。",-1)),e.activeRequests.length>0?(_t(),Gt(Bu,{key:0,flat:"",class:"mb-4"},{default:We(()=>[R(ya,null,{default:We(()=>[(_t(!0),Od(Ie,null,vv(e.activeRequests,(o,a)=>(_t(),Gt(d1,{key:a,class:"mb-4"},{default:We(()=>[R(wa,{"prepend-icon":"mdi-web",color:"primary"},{default:We(()=>[R(_h,null,{default:We(()=>[t[2]||(t[2]=qr(" 等待时间: ",-1)),q("span",h1,Ot(o.remainingSeconds),1)]),_:2},1024),R(Ch,null,{default:We(()=>[qr(Ot(o.method)+" "+Ot(o.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[R(jS),R(Xm,{color:"primary",variant:"tonal",onClick:e.close},{default:We(()=>[...t[5]||(t[5]=[qr(" 我知道了 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Rh=Mm(m1,[["render",g1]]);function v1(e){try{(function(t,n,r,s,i,o,a){n.getElementById("clarity-script")||(t[r]=t[r]||function(){(t[r].q=t[r].q||[]).push(arguments)},o=n.createElement(s),o.async=1,o.src="https://www.clarity.ms/tag/"+i+"?ref=npm",o.id="clarity-script",a=n.getElementsByTagName(s)[0],a.parentNode.insertBefore(o,a))})(window,document,"clarity","script",e);return}catch{return}}const Ph={init(e){v1(e)},setTag(e,t){window.clarity("set",e,t)},identify(e,t,n,r){window.clarity("identify",e,t,n,r)},consent(e=!0){window.clarity("consent",e)},upgrade(e){window.clarity("upgrade",e)},event(e){window.clarity("event",e)}};function Oh(e,t){return function(){return e.apply(t,arguments)}}const{toString:p1}=Object.prototype,{getPrototypeOf:Rl}=Object,{iterator:Ji,toStringTag:kh}=Symbol,Xi=(e=>t=>{const n=p1.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Lt=e=>(e=e.toLowerCase(),t=>Xi(t)===e),Zi=e=>t=>typeof t===e,{isArray:Nr}=Array,Ss=Zi("undefined");function Ns(e){return e!==null&&!Ss(e)&&e.constructor!==null&&!Ss(e.constructor)&&mt(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ih=Lt("ArrayBuffer");function y1(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ih(e.buffer),t}const b1=Zi("string"),mt=Zi("function"),Dh=Zi("number"),Ms=e=>e!==null&&typeof e=="object",w1=e=>e===!0||e===!1,oi=e=>{if(Xi(e)!=="object")return!1;const t=Rl(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(kh in e)&&!(Ji in e)},S1=e=>{if(!Ms(e)||Ns(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},C1=Lt("Date"),_1=Lt("File"),x1=Lt("Blob"),E1=Lt("FileList"),A1=e=>Ms(e)&&mt(e.pipe),T1=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||mt(e.append)&&((t=Xi(e))==="formdata"||t==="object"&&mt(e.toString)&&e.toString()==="[object FormData]"))},R1=Lt("URLSearchParams"),[P1,O1,k1,I1]=["ReadableStream","Request","Response","Headers"].map(Lt),D1=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Bs(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),Nr(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Un=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Nh=e=>!Ss(e)&&e!==Un;function Ca(){const{caseless:e}=Nh(this)&&this||{},t={},n=(r,s)=>{const i=e&&Lh(t,s)||s;oi(t[i])&&oi(r)?t[i]=Ca(t[i],r):oi(r)?t[i]=Ca({},r):Nr(r)?t[i]=r.slice():t[i]=r};for(let r=0,s=arguments.length;r(Bs(t,(s,i)=>{n&&mt(s)?e[i]=Oh(s,n):e[i]=s},{allOwnKeys:r}),e),N1=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),M1=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},B1=(e,t,n,r)=>{let s,i,o;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=n!==!1&&Rl(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},F1=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},$1=e=>{if(!e)return null;if(Nr(e))return e;let t=e.length;if(!Dh(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},V1=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Rl(Uint8Array)),j1=(e,t)=>{const r=(e&&e[Ji]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},H1=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},U1=Lt("HTMLFormElement"),W1=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ju=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),z1=Lt("RegExp"),Mh=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Bs(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},K1=e=>{Mh(e,(t,n)=>{if(mt(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(mt(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},q1=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return Nr(e)?r(e):r(String(e).split(t)),n},G1=()=>{},Y1=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function J1(e){return!!(e&&mt(e.append)&&e[kh]==="FormData"&&e[Ji])}const X1=e=>{const t=new Array(10),n=(r,s)=>{if(Ms(r)){if(t.indexOf(r)>=0)return;if(Ns(r))return r;if(!("toJSON"in r)){t[s]=r;const i=Nr(r)?[]:{};return Bs(r,(o,a)=>{const l=n(o,s+1);!Ss(l)&&(i[a]=l)}),t[s]=void 0,i}}return r};return n(e,0)},Z1=Lt("AsyncFunction"),Q1=e=>e&&(Ms(e)||mt(e))&&mt(e.then)&&mt(e.catch),Bh=((e,t)=>e?setImmediate:t?((n,r)=>(Un.addEventListener("message",({source:s,data:i})=>{s===Un&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Un.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",mt(Un.postMessage)),eC=typeof queueMicrotask<"u"?queueMicrotask.bind(Un):typeof process<"u"&&process.nextTick||Bh,tC=e=>e!=null&&mt(e[Ji]),x={isArray:Nr,isArrayBuffer:Ih,isBuffer:Ns,isFormData:T1,isArrayBufferView:y1,isString:b1,isNumber:Dh,isBoolean:w1,isObject:Ms,isPlainObject:oi,isEmptyObject:S1,isReadableStream:P1,isRequest:O1,isResponse:k1,isHeaders:I1,isUndefined:Ss,isDate:C1,isFile:_1,isBlob:x1,isRegExp:z1,isFunction:mt,isStream:A1,isURLSearchParams:R1,isTypedArray:V1,isFileList:E1,forEach:Bs,merge:Ca,extend:L1,trim:D1,stripBOM:N1,inherits:M1,toFlatObject:B1,kindOf:Xi,kindOfTest:Lt,endsWith:F1,toArray:$1,forEachEntry:j1,matchAll:H1,isHTMLForm:U1,hasOwnProperty:ju,hasOwnProp:ju,reduceDescriptors:Mh,freezeMethods:K1,toObjectSet:q1,toCamelCase:W1,noop:G1,toFiniteNumber:Y1,findKey:Lh,global:Un,isContextDefined:Nh,isSpecCompliantForm:J1,toJSONObject:X1,isAsyncFn:Z1,isThenable:Q1,setImmediate:Bh,asap:eC,isIterable:tC};function le(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}x.inherits(le,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:x.toJSONObject(this.config),code:this.code,status:this.status}}});const Fh=le.prototype,$h={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$h[e]={value:e}});Object.defineProperties(le,$h);Object.defineProperty(Fh,"isAxiosError",{value:!0});le.from=(e,t,n,r,s,i)=>{const o=Object.create(Fh);return x.toFlatObject(e,o,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),le.call(o,e.message,t,n,r,s),o.cause=e,o.name=e.name,i&&Object.assign(o,i),o};const nC=null;function _a(e){return x.isPlainObject(e)||x.isArray(e)}function Vh(e){return x.endsWith(e,"[]")?e.slice(0,-2):e}function Hu(e,t,n){return e?e.concat(t).map(function(s,i){return s=Vh(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function rC(e){return x.isArray(e)&&!e.some(_a)}const sC=x.toFlatObject(x,{},null,function(t){return/^is[A-Z]/.test(t)});function Qi(e,t,n){if(!x.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=x.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,b){return!x.isUndefined(b[h])});const r=n.metaTokens,s=n.visitor||c,i=n.dots,o=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&x.isSpecCompliantForm(t);if(!x.isFunction(s))throw new TypeError("visitor must be a function");function u(g){if(g===null)return"";if(x.isDate(g))return g.toISOString();if(x.isBoolean(g))return g.toString();if(!l&&x.isBlob(g))throw new le("Blob is not supported. Use a Buffer instead.");return x.isArrayBuffer(g)||x.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function c(g,h,b){let v=g;if(g&&!b&&typeof g=="object"){if(x.endsWith(h,"{}"))h=r?h:h.slice(0,-2),g=JSON.stringify(g);else if(x.isArray(g)&&rC(g)||(x.isFileList(g)||x.endsWith(h,"[]"))&&(v=x.toArray(g)))return h=Vh(h),v.forEach(function(S,E){!(x.isUndefined(S)||S===null)&&t.append(o===!0?Hu([h],E,i):o===null?h:h+"[]",u(S))}),!1}return _a(g)?!0:(t.append(Hu(b,h,i),u(g)),!1)}const f=[],d=Object.assign(sC,{defaultVisitor:c,convertValue:u,isVisitable:_a});function m(g,h){if(!x.isUndefined(g)){if(f.indexOf(g)!==-1)throw Error("Circular reference detected in "+h.join("."));f.push(g),x.forEach(g,function(v,w){(!(x.isUndefined(v)||v===null)&&s.call(t,v,x.isString(w)?w.trim():w,h,d))===!0&&m(v,h?h.concat(w):[w])}),f.pop()}}if(!x.isObject(e))throw new TypeError("data must be an object");return m(e),t}function Uu(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Pl(e,t){this._pairs=[],e&&Qi(e,this,t)}const jh=Pl.prototype;jh.append=function(t,n){this._pairs.push([t,n])};jh.toString=function(t){const n=t?function(r){return t.call(this,r,Uu)}:Uu;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function iC(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Hh(e,t,n){if(!t)return e;const r=n&&n.encode||iC;x.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=x.isURLSearchParams(t)?t.toString():new Pl(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Wu{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){x.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Uh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},oC=typeof URLSearchParams<"u"?URLSearchParams:Pl,aC=typeof FormData<"u"?FormData:null,lC=typeof Blob<"u"?Blob:null,cC={isBrowser:!0,classes:{URLSearchParams:oC,FormData:aC,Blob:lC},protocols:["http","https","file","blob","url","data"]},Ol=typeof window<"u"&&typeof document<"u",xa=typeof navigator=="object"&&navigator||void 0,uC=Ol&&(!xa||["ReactNative","NativeScript","NS"].indexOf(xa.product)<0),fC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",dC=Ol&&window.location.href||"http://localhost",mC=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ol,hasStandardBrowserEnv:uC,hasStandardBrowserWebWorkerEnv:fC,navigator:xa,origin:dC},Symbol.toStringTag,{value:"Module"})),nt={...mC,...cC};function hC(e,t){return Qi(e,new nt.classes.URLSearchParams,{visitor:function(n,r,s,i){return nt.isNode&&x.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function gC(e){return x.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function vC(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&x.isArray(s)?s.length:o,l?(x.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!x.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&x.isArray(s[o])&&(s[o]=vC(s[o])),!a)}if(x.isFormData(e)&&x.isFunction(e.entries)){const n={};return x.forEachEntry(e,(r,s)=>{t(gC(r),s,n,0)}),n}return null}function pC(e,t,n){if(x.isString(e))try{return(t||JSON.parse)(e),x.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Fs={transitional:Uh,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=x.isObject(t);if(i&&x.isHTMLForm(t)&&(t=new FormData(t)),x.isFormData(t))return s?JSON.stringify(Wh(t)):t;if(x.isArrayBuffer(t)||x.isBuffer(t)||x.isStream(t)||x.isFile(t)||x.isBlob(t)||x.isReadableStream(t))return t;if(x.isArrayBufferView(t))return t.buffer;if(x.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return hC(t,this.formSerializer).toString();if((a=x.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Qi(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),pC(t)):t}],transformResponse:[function(t){const n=this.transitional||Fs.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(x.isResponse(t)||x.isReadableStream(t))return t;if(t&&x.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(o)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:nt.classes.FormData,Blob:nt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};x.forEach(["delete","get","head","post","put","patch"],e=>{Fs.headers[e]={}});const yC=x.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),bC=e=>{const t={};let n,r,s;return e&&e.split(` +`).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&yC[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},zu=Symbol("internals");function zr(e){return e&&String(e).trim().toLowerCase()}function ai(e){return e===!1||e==null?e:x.isArray(e)?e.map(ai):String(e)}function wC(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const SC=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Do(e,t,n,r,s){if(x.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!x.isString(t)){if(x.isString(r))return t.indexOf(r)!==-1;if(x.isRegExp(r))return r.test(t)}}function CC(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function _C(e,t){const n=x.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}let ht=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(a,l,u){const c=zr(l);if(!c)throw new Error("header name must be a non-empty string");const f=x.findKey(s,c);(!f||s[f]===void 0||u===!0||u===void 0&&s[f]!==!1)&&(s[f||l]=ai(a))}const o=(a,l)=>x.forEach(a,(u,c)=>i(u,c,l));if(x.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(x.isString(t)&&(t=t.trim())&&!SC(t))o(bC(t),n);else if(x.isObject(t)&&x.isIterable(t)){let a={},l,u;for(const c of t){if(!x.isArray(c))throw TypeError("Object iterator must return a key-value pair");a[u=c[0]]=(l=a[u])?x.isArray(l)?[...l,c[1]]:[l,c[1]]:c[1]}o(a,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=zr(t),t){const r=x.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return wC(s);if(x.isFunction(n))return n.call(this,s,r);if(x.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=zr(t),t){const r=x.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Do(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=zr(o),o){const a=x.findKey(r,o);a&&(!n||Do(r,r[a],a,n))&&(delete r[a],s=!0)}}return x.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||Do(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return x.forEach(this,(s,i)=>{const o=x.findKey(r,i);if(o){n[o]=ai(s),delete n[i];return}const a=t?CC(i):String(i).trim();a!==i&&delete n[i],n[a]=ai(s),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return x.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&x.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[zu]=this[zu]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=zr(o);r[a]||(_C(s,o),r[a]=!0)}return x.isArray(t)?t.forEach(i):i(t),this}};ht.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);x.reduceDescriptors(ht.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});x.freezeMethods(ht);function Lo(e,t){const n=this||Fs,r=t||n,s=ht.from(r.headers);let i=r.data;return x.forEach(e,function(a){i=a.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function zh(e){return!!(e&&e.__CANCEL__)}function Mr(e,t,n){le.call(this,e??"canceled",le.ERR_CANCELED,t,n),this.name="CanceledError"}x.inherits(Mr,le,{__CANCEL__:!0});function Kh(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new le("Request failed with status code "+n.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function xC(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function EC(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=r[i];o||(o=u),n[s]=l,r[s]=u;let f=i,d=0;for(;f!==s;)d+=n[f++],f=f%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),u-o{n=c,s=null,i&&(clearTimeout(i),i=null),e(...u)};return[(...u)=>{const c=Date.now(),f=c-n;f>=r?o(u,c):(s=u,i||(i=setTimeout(()=>{i=null,o(s)},r-f)))},()=>s&&o(s)]}const Pi=(e,t,n=3)=>{let r=0;const s=EC(50,250);return AC(i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,l=o-r,u=s(l),c=o<=a;r=o;const f={loaded:o,total:a,progress:a?o/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a&&c?(a-o)/u:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},Ku=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},qu=e=>(...t)=>x.asap(()=>e(...t)),TC=nt.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,nt.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(nt.origin),nt.navigator&&/(msie|trident)/i.test(nt.navigator.userAgent)):()=>!0,RC=nt.hasStandardBrowserEnv?{write(e,t,n,r,s,i){const o=[e+"="+encodeURIComponent(t)];x.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),x.isString(r)&&o.push("path="+r),x.isString(s)&&o.push("domain="+s),i===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function PC(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function OC(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function qh(e,t,n){let r=!PC(t);return e&&(r||n==!1)?OC(e,t):t}const Gu=e=>e instanceof ht?{...e}:e;function Zn(e,t){t=t||{};const n={};function r(u,c,f,d){return x.isPlainObject(u)&&x.isPlainObject(c)?x.merge.call({caseless:d},u,c):x.isPlainObject(c)?x.merge({},c):x.isArray(c)?c.slice():c}function s(u,c,f,d){if(x.isUndefined(c)){if(!x.isUndefined(u))return r(void 0,u,f,d)}else return r(u,c,f,d)}function i(u,c){if(!x.isUndefined(c))return r(void 0,c)}function o(u,c){if(x.isUndefined(c)){if(!x.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function a(u,c,f){if(f in t)return r(u,c);if(f in e)return r(void 0,u)}const l={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,c,f)=>s(Gu(u),Gu(c),f,!0)};return x.forEach(Object.keys({...e,...t}),function(c){const f=l[c]||s,d=f(e[c],t[c],c);x.isUndefined(d)&&f!==a||(n[c]=d)}),n}const Gh=e=>{const t=Zn({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:a}=t;t.headers=o=ht.from(o),t.url=Hh(qh(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(x.isFormData(n)){if(nt.hasStandardBrowserEnv||nt.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((l=o.getContentType())!==!1){const[u,...c]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];o.setContentType([u||"multipart/form-data",...c].join("; "))}}if(nt.hasStandardBrowserEnv&&(r&&x.isFunction(r)&&(r=r(t)),r||r!==!1&&TC(t.url))){const u=s&&i&&RC.read(i);u&&o.set(s,u)}return t},kC=typeof XMLHttpRequest<"u",IC=kC&&function(e){return new Promise(function(n,r){const s=Gh(e);let i=s.data;const o=ht.from(s.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:u}=s,c,f,d,m,g;function h(){m&&m(),g&&g(),s.cancelToken&&s.cancelToken.unsubscribe(c),s.signal&&s.signal.removeEventListener("abort",c)}let b=new XMLHttpRequest;b.open(s.method.toUpperCase(),s.url,!0),b.timeout=s.timeout;function v(){if(!b)return;const S=ht.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),D={data:!a||a==="text"||a==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:S,config:e,request:b};Kh(function(B){n(B),h()},function(B){r(B),h()},D),b=null}"onloadend"in b?b.onloadend=v:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(v)},b.onabort=function(){b&&(r(new le("Request aborted",le.ECONNABORTED,e,b)),b=null)},b.onerror=function(){r(new le("Network Error",le.ERR_NETWORK,e,b)),b=null},b.ontimeout=function(){let E=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const D=s.transitional||Uh;s.timeoutErrorMessage&&(E=s.timeoutErrorMessage),r(new le(E,D.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,e,b)),b=null},i===void 0&&o.setContentType(null),"setRequestHeader"in b&&x.forEach(o.toJSON(),function(E,D){b.setRequestHeader(D,E)}),x.isUndefined(s.withCredentials)||(b.withCredentials=!!s.withCredentials),a&&a!=="json"&&(b.responseType=s.responseType),u&&([d,g]=Pi(u,!0),b.addEventListener("progress",d)),l&&b.upload&&([f,m]=Pi(l),b.upload.addEventListener("progress",f),b.upload.addEventListener("loadend",m)),(s.cancelToken||s.signal)&&(c=S=>{b&&(r(!S||S.type?new Mr(null,e,b):S),b.abort(),b=null)},s.cancelToken&&s.cancelToken.subscribe(c),s.signal&&(s.signal.aborted?c():s.signal.addEventListener("abort",c)));const w=xC(s.url);if(w&&nt.protocols.indexOf(w)===-1){r(new le("Unsupported protocol "+w+":",le.ERR_BAD_REQUEST,e));return}b.send(i||null)})},DC=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const i=function(u){if(!s){s=!0,a();const c=u instanceof Error?u:this.reason;r.abort(c instanceof le?c:new Mr(c instanceof Error?c.message:c))}};let o=t&&setTimeout(()=>{o=null,i(new le(`timeout ${t} of ms exceeded`,le.ETIMEDOUT))},t);const a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));const{signal:l}=r;return l.unsubscribe=()=>x.asap(a),l}},LC=function*(e,t){let n=e.byteLength;if(n{const s=NC(e,t);let i=0,o,a=l=>{o||(o=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:u,value:c}=await s.next();if(u){a(),l.close();return}let f=c.byteLength;if(n){let d=i+=f;n(d)}l.enqueue(new Uint8Array(c))}catch(u){throw a(u),u}},cancel(l){return a(l),s.return()}},{highWaterMark:2})},eo=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Yh=eo&&typeof ReadableStream=="function",BC=eo&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Jh=(e,...t)=>{try{return!!e(...t)}catch{return!1}},FC=Yh&&Jh(()=>{let e=!1;const t=new Request(nt.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Ju=64*1024,Ea=Yh&&Jh(()=>x.isReadableStream(new Response("").body)),Oi={stream:Ea&&(e=>e.body)};eo&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Oi[t]&&(Oi[t]=x.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new le(`Response type '${t}' is not supported`,le.ERR_NOT_SUPPORT,r)})})})(new Response);const $C=async e=>{if(e==null)return 0;if(x.isBlob(e))return e.size;if(x.isSpecCompliantForm(e))return(await new Request(nt.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(x.isArrayBufferView(e)||x.isArrayBuffer(e))return e.byteLength;if(x.isURLSearchParams(e)&&(e=e+""),x.isString(e))return(await BC(e)).byteLength},VC=async(e,t)=>{const n=x.toFiniteNumber(e.getContentLength());return n??$C(t)},jC=eo&&(async e=>{let{url:t,method:n,data:r,signal:s,cancelToken:i,timeout:o,onDownloadProgress:a,onUploadProgress:l,responseType:u,headers:c,withCredentials:f="same-origin",fetchOptions:d}=Gh(e);u=u?(u+"").toLowerCase():"text";let m=DC([s,i&&i.toAbortSignal()],o),g;const h=m&&m.unsubscribe&&(()=>{m.unsubscribe()});let b;try{if(l&&FC&&n!=="get"&&n!=="head"&&(b=await VC(c,r))!==0){let D=new Request(t,{method:"POST",body:r,duplex:"half"}),O;if(x.isFormData(r)&&(O=D.headers.get("content-type"))&&c.setContentType(O),D.body){const[B,T]=Ku(b,Pi(qu(l)));r=Yu(D.body,Ju,B,T)}}x.isString(f)||(f=f?"include":"omit");const v="credentials"in Request.prototype;g=new Request(t,{...d,signal:m,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:v?f:void 0});let w=await fetch(g,d);const S=Ea&&(u==="stream"||u==="response");if(Ea&&(a||S&&h)){const D={};["status","statusText","headers"].forEach(I=>{D[I]=w[I]});const O=x.toFiniteNumber(w.headers.get("content-length")),[B,T]=a&&Ku(O,Pi(qu(a),!0))||[];w=new Response(Yu(w.body,Ju,B,()=>{T&&T(),h&&h()}),D)}u=u||"text";let E=await Oi[x.findKey(Oi,u)||"text"](w,e);return!S&&h&&h(),await new Promise((D,O)=>{Kh(D,O,{data:E,headers:ht.from(w.headers),status:w.status,statusText:w.statusText,config:e,request:g})})}catch(v){throw h&&h(),v&&v.name==="TypeError"&&/Load failed|fetch/i.test(v.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,e,g),{cause:v.cause||v}):le.from(v,v&&v.code,e,g)}}),Aa={http:nC,xhr:IC,fetch:jC};x.forEach(Aa,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Xu=e=>`- ${e}`,HC=e=>x.isFunction(e)||e===null||e===!1,Xh={getAdapter:e=>{e=x.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let i=0;i`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=t?i.length>1?`since : +`+i.map(Xu).join(` +`):" "+Xu(i[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:Aa};function No(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Mr(null,e)}function Zu(e){return No(e),e.headers=ht.from(e.headers),e.data=Lo.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Xh.getAdapter(e.adapter||Fs.adapter)(e).then(function(r){return No(e),r.data=Lo.call(e,e.transformResponse,r),r.headers=ht.from(r.headers),r},function(r){return zh(r)||(No(e),r&&r.response&&(r.response.data=Lo.call(e,e.transformResponse,r.response),r.response.headers=ht.from(r.response.headers))),Promise.reject(r)})}const Zh="1.11.0",to={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{to[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Qu={};to.transitional=function(t,n,r){function s(i,o){return"[Axios v"+Zh+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(t===!1)throw new le(s(o," has been removed"+(n?" in "+n:"")),le.ERR_DEPRECATED);return n&&!Qu[o]&&(Qu[o]=!0,console.warn(s(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,o,a):!0}};to.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function UC(e,t,n){if(typeof e!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const i=r[s],o=t[i];if(o){const a=e[i],l=a===void 0||o(a,i,e);if(l!==!0)throw new le("option "+i+" must be "+l,le.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new le("Unknown option "+i,le.ERR_BAD_OPTION)}}const li={assertOptions:UC,validators:to},$t=li.validators;let Gn=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Wu,response:new Wu}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Zn(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&li.assertOptions(r,{silentJSONParsing:$t.transitional($t.boolean),forcedJSONParsing:$t.transitional($t.boolean),clarifyTimeoutError:$t.transitional($t.boolean)},!1),s!=null&&(x.isFunction(s)?n.paramsSerializer={serialize:s}:li.assertOptions(s,{encode:$t.function,serialize:$t.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),li.assertOptions(n,{baseUrl:$t.spelling("baseURL"),withXsrfToken:$t.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=i&&x.merge(i.common,i[n.method]);i&&x.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g]}),n.headers=ht.concat(o,i);const a=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(l=l&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});const u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let c,f=0,d;if(!l){const g=[Zu.bind(this),void 0];for(g.unshift(...a),g.push(...u),d=g.length,c=Promise.resolve(n);f{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},t(function(i,o,a){r.reason||(r.reason=new Mr(i,o,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Qh(function(s){t=s}),cancel:t}}};function zC(e){return function(n){return e.apply(null,n)}}function KC(e){return x.isObject(e)&&e.isAxiosError===!0}const Ta={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ta).forEach(([e,t])=>{Ta[t]=e});function eg(e){const t=new Gn(e),n=Oh(Gn.prototype.request,t);return x.extend(n,Gn.prototype,t,{allOwnKeys:!0}),x.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return eg(Zn(e,s))},n}const Ve=eg(Fs);Ve.Axios=Gn;Ve.CanceledError=Mr;Ve.CancelToken=WC;Ve.isCancel=zh;Ve.VERSION=Zh;Ve.toFormData=Qi;Ve.AxiosError=le;Ve.Cancel=Ve.CanceledError;Ve.all=function(t){return Promise.all(t)};Ve.spread=zC;Ve.isAxiosError=KC;Ve.mergeConfig=Zn;Ve.AxiosHeaders=ht;Ve.formToJSON=e=>Wh(x.isHTMLForm(e)?new FormData(e):e);Ve.getAdapter=Xh.getAdapter;Ve.HttpStatusCode=Ta;Ve.default=Ve;const{Axios:dx,AxiosError:mx,CanceledError:hx,isCancel:gx,CancelToken:vx,VERSION:px,all:yx,Cancel:bx,isAxiosError:wx,spread:Sx,toFormData:Cx,AxiosHeaders:_x,HttpStatusCode:xx,formToJSON:Ex,getAdapter:Ax,mergeConfig:Tx}=Ve;function qC(e,t){return"headers"in e&&typeof e.headers=="object"&&!Array.isArray(e.headers)?Mo(e.headers):"getHeaders"in e&&typeof e.getHeaders=="function"?Mo(e.getHeaders()):Mo(e)}function Mo(e,t){const n=Vt(e,"ratelimit");if(n)return XC(n);let r;if(Vt(e,"ratelimit-remaining"))r="ratelimit-";else if(Vt(e,"x-ratelimit-remaining"))r="x-ratelimit-";else if(Vt(e,"x-rate-limit-remaining"))r="x-rate-limit-";else return;const s=Pt(Vt(e,`${r}limit`)),i=Pt(Vt(e,`${r}used`))||Pt(Vt(e,`${r}observed`)),o=Pt(Vt(e,`${r}remaining`));let a;const l=Vt(e,`${r}reset`);switch(void 0){case"date":{a=tg(l??"");break}case"unix":{a=Ra(l??"");break}case"seconds":{a=ng(l??"");break}case"milliseconds":{a=ZC(l??"");break}default:if(l)a=e_(l);else{const c=Vt(e,"retry-after");c&&(a=Ra(c))}}return{limit:Number.isNaN(s)?i+o:s,used:Number.isNaN(i)?s-o:i,remaining:o,reset:a}}var GC=/limit\s*=\s*(\d+)/i,YC=/remaining\s*=\s*(\d+)/i,JC=/reset\s*=\s*(\d+)/i;function XC(e){var t,n,r;const s=Pt((t=GC.exec(e))==null?void 0:t[1]),i=Pt((n=YC.exec(e))==null?void 0:n[1]),o=Pt((r=JC.exec(e))==null?void 0:r[1]),a=kl(o);return{limit:s,used:s-i,remaining:i,reset:a}}function kl(e){const t=new Date;return t.setSeconds(t.getSeconds()+e),t}function Pt(e){return typeof e=="number"?e:Number.parseInt(e??"",10)}function Vt(e,t){var n;if("get"in e&&typeof e.get=="function")return(n=e.get(t))!=null?n:void 0;if(t in e&&typeof e[t]=="string")return e[t]}function tg(e){return new Date(e)}function Ra(e){const t=Pt(e);return new Date(t*1e3)}function ng(e){const t=Pt(e);return kl(t)}function ZC(e){const t=Pt(e);return kl(t/1e3)}var QC=/[a-z]/i;function e_(e){if(QC.test(e))return tg(e);const t=Pt(e);return t&&t>1e9?Ra(t):ng(t)}const rg="3.7.8",t_=rg,Br=typeof Buffer=="function",ef=typeof TextDecoder=="function"?new TextDecoder:void 0,tf=typeof TextEncoder=="function"?new TextEncoder:void 0,n_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Yr=Array.prototype.slice.call(n_),Ys=(e=>{let t={};return e.forEach((n,r)=>t[n]=r),t})(Yr),r_=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Ge=String.fromCharCode.bind(String),nf=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),sg=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),ig=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),og=e=>{let t,n,r,s,i="";const o=e.length%3;for(let a=0;a255||(r=e.charCodeAt(a++))>255||(s=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|r<<8|s,i+=Yr[t>>18&63]+Yr[t>>12&63]+Yr[t>>6&63]+Yr[t&63]}return o?i.slice(0,o-3)+"===".substring(o):i},Il=typeof btoa=="function"?e=>btoa(e):Br?e=>Buffer.from(e,"binary").toString("base64"):og,Pa=Br?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let r=0,s=e.length;rt?sg(Pa(e)):Pa(e),s_=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Ge(192|t>>>6)+Ge(128|t&63):Ge(224|t>>>12&15)+Ge(128|t>>>6&63)+Ge(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Ge(240|t>>>18&7)+Ge(128|t>>>12&63)+Ge(128|t>>>6&63)+Ge(128|t&63)}},i_=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ag=e=>e.replace(i_,s_),rf=Br?e=>Buffer.from(e,"utf8").toString("base64"):tf?e=>Pa(tf.encode(e)):e=>Il(ag(e)),wr=(e,t=!1)=>t?sg(rf(e)):rf(e),sf=e=>wr(e,!0),o_=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,a_=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),n=t-65536;return Ge((n>>>10)+55296)+Ge((n&1023)+56320);case 3:return Ge((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return Ge((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},lg=e=>e.replace(o_,a_),cg=e=>{if(e=e.replace(/\s+/g,""),!r_.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,n,r,s=[];for(let i=0;i>16&255)):r===64?s.push(Ge(t>>16&255,t>>8&255)):s.push(Ge(t>>16&255,t>>8&255,t&255));return s.join("")},Dl=typeof atob=="function"?e=>atob(ig(e)):Br?e=>Buffer.from(e,"base64").toString("binary"):cg,ug=Br?e=>nf(Buffer.from(e,"base64")):e=>nf(Dl(e).split("").map(t=>t.charCodeAt(0))),fg=e=>ug(dg(e)),l_=Br?e=>Buffer.from(e,"base64").toString("utf8"):ef?e=>ef.decode(ug(e)):e=>lg(Dl(e)),dg=e=>ig(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Oa=e=>l_(dg(e)),c_=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},mg=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),hg=function(){const e=(t,n)=>Object.defineProperty(String.prototype,t,mg(n));e("fromBase64",function(){return Oa(this)}),e("toBase64",function(t){return wr(this,t)}),e("toBase64URI",function(){return wr(this,!0)}),e("toBase64URL",function(){return wr(this,!0)}),e("toUint8Array",function(){return fg(this)})},gg=function(){const e=(t,n)=>Object.defineProperty(Uint8Array.prototype,t,mg(n));e("toBase64",function(t){return ci(this,t)}),e("toBase64URI",function(){return ci(this,!0)}),e("toBase64URL",function(){return ci(this,!0)})},u_=()=>{hg(),gg()},of={version:rg,VERSION:t_,atob:Dl,atobPolyfill:cg,btoa:Il,btoaPolyfill:og,fromBase64:Oa,toBase64:wr,encode:wr,encodeURI:sf,encodeURL:sf,utob:ag,btou:lg,decode:Oa,isValid:c_,fromUint8Array:ci,toUint8Array:fg,extendString:hg,extendUint8Array:gg,extendBuiltins:u_},on=Ve.create({timeout:1e4});on.interceptors.request.use(e=>{const t=ve("server.provider");if(t==="kv-server"||t==="classworkscloud"){const n=ve("server.siteKey");n&&(e.headers["x-site-key"]=of.encode(n));const r=ve("namespace.password");r&&(e.headers["x-namespace-password"]=of.encode(r))}return e},e=>(console.log(e),Promise.reject(e)));on.interceptors.response.use(e=>e,e=>{if(e.response&&e.response.status===429)try{const t=qC(e.response);t&&Rh.show(t.reset,e.config.url,e.config.method.toUpperCase())}catch(t){console.error("解析限速头信息失败:",t)}return Promise.reject(e)});const ka=(e,t)=>t.some(n=>e instanceof n);let af,lf;function f_(){return af||(af=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function d_(){return lf||(lf=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Ia=new WeakMap,Bo=new WeakMap,no=new WeakMap;function m_(e){const t=new Promise((n,r)=>{const s=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{n(Yn(e.result)),s()},o=()=>{r(e.error),s()};e.addEventListener("success",i),e.addEventListener("error",o)});return no.set(t,e),t}function h_(e){if(Ia.has(e))return;const t=new Promise((n,r)=>{const s=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{n(),s()},o=()=>{r(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});Ia.set(e,t)}let Da={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return Ia.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Yn(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function vg(e){Da=e(Da)}function g_(e){return d_().includes(e)?function(...t){return e.apply(La(this),t),Yn(this.request)}:function(...t){return Yn(e.apply(La(this),t))}}function v_(e){return typeof e=="function"?g_(e):(e instanceof IDBTransaction&&h_(e),ka(e,f_())?new Proxy(e,Da):e)}function Yn(e){if(e instanceof IDBRequest)return m_(e);if(Bo.has(e))return Bo.get(e);const t=v_(e);return t!==e&&(Bo.set(e,t),no.set(t,e)),t}const La=e=>no.get(e);function p_(e,t,{blocked:n,upgrade:r,blocking:s,terminated:i}={}){const o=indexedDB.open(e,t),a=Yn(o);return r&&o.addEventListener("upgradeneeded",l=>{r(Yn(o.result),l.oldVersion,l.newVersion,Yn(o.transaction),l)}),n&&o.addEventListener("blocked",l=>n(l.oldVersion,l.newVersion,l)),a.then(l=>{i&&l.addEventListener("close",()=>i()),s&&l.addEventListener("versionchange",u=>s(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}const y_=["get","getKey","getAll","getAllKeys","count"],b_=["put","add","delete","clear"],Fo=new Map;function cf(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Fo.get(t))return Fo.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,s=b_.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(s||y_.includes(n)))return;const i=async function(o,...a){const l=this.transaction(o,s?"readwrite":"readonly");let u=l.store;return r&&(u=u.index(a.shift())),(await Promise.all([u[n](...a),s&&l.done]))[0]};return Fo.set(t,i),i}vg(e=>({...e,get:(t,n,r)=>cf(t,n)||e.get(t,n,r),has:(t,n)=>!!cf(t,n)||e.has(t,n)}));const w_=["continue","continuePrimaryKey","advance"],uf={},Na=new WeakMap,pg=new WeakMap,S_={get(e,t){if(!w_.includes(t))return e[t];let n=uf[t];return n||(n=uf[t]=function(...r){Na.set(this,pg.get(this)[t](...r))}),n}};async function*C_(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const n=new Proxy(t,S_);for(pg.set(n,t),no.set(n,La(t));t;)yield n,t=await(Na.get(n)||t.continue()),Na.delete(n)}function ff(e,t){return t===Symbol.asyncIterator&&ka(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&ka(e,[IDBIndex,IDBObjectStore])}vg(e=>({...e,get(t,n,r){return ff(t,n)?C_:e.get(t,n,r)},has(t,n){return ff(t,n)||e.has(t,n)}}));const __="ClassworksDB",x_=2,$o=async()=>p_(__,x_,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system")}}),Js={async loadData(e){try{const n=await(await $o()).get("kv",e);return n?Wn(JSON.parse(n)):qe("数据不存在","NOT_FOUND")}catch(t){return qe("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await $o()).put("kv",JSON.stringify(t),e),Wn(!0)}catch(n){return qe("保存本地数据失败:"+n)}},async loadKeys(e={}){try{const s=await(await $o()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:i="asc",limit:o=100,skip:a=0}=e,l=s.sort((d,m)=>i==="desc"?m.localeCompare(d):d.localeCompare(m)),u=l.length,c=l.slice(a,a+o),f={keys:c,total_rows:u,current_page:{limit:o,skip:a,count:c.length},load_more:null};return Wn(f)}catch(t){return qe("获取本地键名列表失败:"+t.message)}}},Wn=e=>e,qe=(e,t="UNKNOWN_ERROR")=>({success:!1,error:{code:t,message:e}}),Rx={loadData:async e=>{const t=ve("server.provider");return t==="kv-server"||t==="classworkscloud"?jn.loadData(e):Js.loadData(e)},saveData:async(e,t)=>{const n=ve("server.provider");return n==="kv-server"||n==="classworkscloud"?jn.saveData(e,t):Js.saveData(e,t)},loadKeys:async(e={})=>{const t=ve("server.provider");return t==="kv-server"||t==="classworkscloud"?jn.loadKeys(e):Js.loadKeys(e)},async getKeyCloudUrl(e,t={}){var s;const{migrateFromLocal:n=!0,autoConfigureCloud:r=!0}=t;try{let i=ve("server.domain"),o=ve("server.siteKey");const a=ve("device.uuid");let l=!1;if(!i||!a)if(r){const d={"server.domain":"https://kv.wuyuan.dev","server.siteKey":""};i||(pr("server.domain",d["server.domain"]),i=d["server.domain"],l=!0),o||(pr("server.siteKey",d["server.siteKey"]),o=d["server.siteKey"]),pr("server.provider","classworkscloud")}else return qe("云端配置无效,请检查服务器域名和设备UUID","CONFIG_ERROR");let u=!1;if(n)try{const d=await Js.loadData(e);if(d&&d.success!==!1){const m=await jn.loadData(e);if(m&&m.success===!1&&((s=m.error)==null?void 0:s.code)==="NOT_FOUND"){const g=await jn.saveData(e,d);g&&g.success!==!1&&(u=!0,console.log(`已成功将键 ${e} 的数据从本地迁移到云端`))}}}catch(d){console.warn(`迁移键 ${e} 的数据时出错:`,d)}let c=`${i}/${a}/${e}`;const f=await jn.loadNamespaceInfo();if(f&&f.success!==!1){const{accessType:d}=f;if(d==="private"&&o){const m=new URL(c);m.searchParams.set("token",o),c=m.toString()}}return{success:!0,url:c,migrated:u,configured:l}}catch(i){return console.error("获取键云端地址时出错:",i),qe(i.message||"获取键云端地址失败","CLOUD_URL_ERROR")}}},$n=()=>{const e={Accept:"application/json"},t=ve("server.siteKey"),n=ve("namespace.password");return t&&(e["x-site-key"]=t),n&&(e["x-namespace-password"]=n),e},jn={async loadNamespaceInfo(){var e,t;try{const n=ve("server.domain"),r=ve("device.uuid"),s=await on.get(`${n}/${r}/_info`,{headers:$n()}),{name:i,accessType:o}=s.data;if(i===null){const a=ve("server.classNumber");return await this.updateNamespaceInfo({name:a}),await this.loadNamespaceInfo()}return o&&pr("namespace.accessType",o),Wn(s)}catch(n){return qe(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.message)||"获取命名空间信息失败","NAMESPACE_ERROR")}},async updateNamespaceInfo(e){var t,n;try{const r=ve("server.domain"),s=ve("device.uuid");return await on.put(`${r}/${s}/_info`,e,{headers:$n()})}catch(r){return qe(((n=(t=r.response)==null?void 0:t.data)==null?void 0:n.message)||"更新命名空间信息失败","NAMESPACE_ERROR")}},async updatePassword(e,t,n=null){var r,s;try{const i=ve("server.domain"),o=ve("device.uuid"),a=await on.post(`${i}/${o}/_password`,{password:e,oldPassword:t,passwordHint:n},{headers:$n()});return a.status===200&&pr("namespace.password",e||""),a}catch(i){return qe(((s=(r=i.response)==null?void 0:r.data)==null?void 0:s.message)||"更新密码失败","PASSWORD_ERROR")}},async deletePassword(){var e,t;try{const n=ve("server.domain"),r=ve("device.uuid"),s=await on.delete(`${n}/${r}/_password`,{headers:$n()});return pr("namespace.password",""),s}catch(n){return qe(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.message)||"删除密码失败","PASSWORD_ERROR")}},async loadData(e){var t,n,r;try{const s=ve("server.domain"),i=ve("device.uuid"),o=await on.get(`${s}/${i}/${e}`,{headers:$n()});return Wn(o.data)}catch(s){return((t=s.response)==null?void 0:t.status)===404?qe("数据不存在","NOT_FOUND"):(console.log(s),qe(((r=(n=s.response)==null?void 0:n.data)==null?void 0:r.message)||"服务器连接失败","NETWORK_ERROR"))}},async saveData(e,t){var n,r;try{const s=ve("server.domain"),i=ve("device.uuid");return await on.post(`${s}/${i}/${e}`,t,{headers:$n()}),Wn(!0)}catch(s){return console.log(s),qe(((r=(n=s.response)==null?void 0:n.data)==null?void 0:r.message)||"保存失败","SAVE_ERROR")}},async loadKeys(e={}){var t,n,r,s,i;try{const o=ve("server.domain"),a=ve("device.uuid"),{sortBy:l="key",sortDir:u="asc",limit:c=100,skip:f=0}=e,d=new URLSearchParams({sortBy:l,sortDir:u,limit:c.toString(),skip:f.toString()}),m=await on.get(`${o}/${a}/_keys?${d}`,{headers:$n()});return Wn(m.data)}catch(o){return((t=o.response)==null?void 0:t.status)===404?qe("命名空间不存在","NOT_FOUND"):((n=o.response)==null?void 0:n.status)===403?qe("无权限访问此命名空间","PERMISSION_DENIED"):((r=o.response)==null?void 0:r.status)===401?qe("认证失败","UNAUTHORIZED"):(console.log(o),qe(((i=(s=o.response)==null?void 0:s.data)==null?void 0:i.message)||"获取键名列表失败","NETWORK_ERROR"))}}},E_=Z({...Be(),...Rs(Fb(),["fullHeight"]),...wt()},"VApp"),A_=be()({name:"VApp",props:E_(),setup(e,t){let{slots:n}=t;const r=Rt(e),{layoutClasses:s,getLayoutItem:i,items:o,layoutRef:a}=jb({...e,fullHeight:!0}),{rtlClasses:l}=Ps();return De(()=>{var u;return q("div",{ref:a,class:pe(["v-application",r.themeClasses.value,s.value,l.value,e.class]),style:Pe([e.style])},[q("div",{class:"v-application__wrap"},[(u=n.default)==null?void 0:u.call(n)])])}),{getLayoutItem:i,items:o,theme:r}}}),T_={__name:"App",setup(e){const t=wm(),n=J0(),r=X0();Pn(async()=>{const i=ve("theme.mode");t.global.name.value=i,s(),Ph.identify(ve("device.uuid"),ve("server.domain"),ve("server.provider"),ve("server.classNumber"));const o=ve("server.provider");if(o==="kv-server"||o==="classworkscloud")try{await jn.loadNamespaceInfo()}catch(a){console.error("加载命名空间信息失败:",a)}});function s(){const i=ve("server.provider");(i==="server"||i==="indexedDB")&&r.path!=="/datamigration"&&(console.log("检测到旧的数据提供者类型,正在重定向到数据迁移页面..."),n.push({path:"/datamigration",query:{reason:"legacy_provider",provider:i}}))}return me(()=>r.path,i=>{i!=="/datamigration"&&s()}),(i,o)=>{const a=gv("router-view"),l=ih;return _t(),Gt(A_,null,{default:We(()=>[R(a,null,{default:We(({Component:u,route:c})=>[R(An,{name:"md3",mode:"out-in"},{default:We(()=>[(_t(),Gt(fd(u),{key:c.path}))]),_:2},1024)]),_:1}),R(l),R(Rh)]),_:1})}}},R_="rhp8uqoc3l";Ph.init(R_);const ro=Mp(T_);rw(ro);ro.use(lr);ro.component("GlobalMessage",ih);ro.mount("#app");export{Fn as $,Od as A,Yo as B,Ot as C,rx as D,Oe as E,Ie as F,vv as G,$S as H,ox as I,xu as J,Jn as K,ax as L,Rx as M,ES as N,d1 as O,wa as P,yS as Q,bs as R,Ri as S,nl as T,mh as U,A_ as V,oh as W,_h as X,Ch as Y,of as Z,Mm as _,$b as a,wl as a$,ex as a0,Sb as a1,Nu as a2,uh as a3,Ti as a4,yr as a5,vn as a6,Ny as a7,Tr as a8,wm as a9,xl as aA,Ui as aB,de as aC,Qn as aD,ea as aE,P_ as aF,rd as aG,on as aH,p_ as aI,s1 as aJ,B_ as aK,Pn as aL,Wd as aM,I_ as aN,BS as aO,D_ as aP,Et as aQ,rs as aR,q_ as aS,K_ as aT,en as aU,Mu as aV,ta as aW,ul as aX,Rt as aY,kr as aZ,Is as a_,yl as aa,Ec as ab,ur as ac,tl as ad,th as ae,wt as af,gn as ag,Yi as ah,Ze as ai,un as aj,ol as ak,M as al,F_ as am,fe as an,K as ao,ce as ap,me as aq,M_ as ar,sh as as,At as at,$_ as au,Rs as av,Uw as aw,Gr as ax,ia as ay,Ir as az,ZS as b,V_ as b$,bl as b0,ks as b1,Or as b2,Ps as b3,sx as b4,El as b5,kS as b6,O_ as b7,jm as b8,An as b9,st as bA,Cw as bB,il as bC,bw as bD,N_ as bE,Kd as bF,uv as bG,Sm as bH,er as bI,qi as bJ,L_ as bK,qt as bL,ke as bM,Ue as bN,Ry as bO,cx as bP,Kn as bQ,U_ as bR,qp as bS,MS as bT,H_ as bU,Kp as bV,o1 as bW,z_ as bX,Rr as bY,W_ as bZ,Qo as b_,Q_ as ba,tx as bb,nx as bc,ze as bd,sS as be,rS as bf,jn as bg,Ve as bh,Tt as bi,Wp as bj,Ts as bk,ut as bl,Tn as bm,Nw as bn,Pc as bo,Z_ as bp,Cs as bq,X_ as br,Y_ as bs,Bi as bt,lr as bu,ye as bv,uS as bw,cS as bx,Sw as by,ww as bz,De as c,Um as c0,Iw as c1,Hm as c2,yt as c3,jf as c4,nS as c5,od as c6,Yd as c7,Jd as c8,zp as c9,j_ as ca,Ls as cb,Ds as cc,On as cd,G_ as ce,ix as cf,Ow as cg,k_ as ch,J_ as ci,Gi as cj,Sl as ck,lx as cl,Cl as cm,kn as cn,Qd as co,Ff as cp,Vi as cq,En as cr,R as d,pe as e,Dr as f,be as g,Be as h,q as i,Gt as j,ve as k,Bu as l,gt as m,Pe as n,_t as o,Z as p,ah as q,gv as r,pr as s,qr as t,Lr as u,Zt as v,We as w,jS as x,Xm as y,ya as z}; diff --git a/assets/index-CdfK4JOQ.js b/assets/index-CdfK4JOQ.js deleted file mode 100644 index d45d272..0000000 --- a/assets/index-CdfK4JOQ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as N,A as f,o as n,d as s,w as i,t as d,y as o,l as h,j as k,q as g,z as V,aq as C,F as v,G as x,ar as I,aw as b,C as y,b1 as A,b2 as L,v as w,B as _,H as B,av as E,x as F,ao as r}from"./index-DmGr2YjE.js";import{V as T,a as S}from"./VAppBarTitle-caQbgffg.js";import{V as D}from"./VTextField-C4kOar5O.js";import{V as K}from"./VContainer-D6AyJkGG.js";const M={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await r.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await r.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await r.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await r.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await r.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(p=>{u.push({id:p.id||Date.now()+Math.floor(Math.random()*1e3),name:p.name,completed:!1})}),await r.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await r.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await r.saveData("classworks-list-info",this.lists)}}},U={key:0},q={key:1,class:"d-flex align-center w-100"},P={key:0};function j(e,t,u,p,a,m){return n(),f(v,null,[s(S,{elevation:"1"},{prepend:i(()=>[s(o,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(T,{class:"text-h6"},{default:i(()=>[...t[5]||(t[5]=[d("列表",-1)])]),_:1})]),_:1}),s(K,null,{default:i(()=>[s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[6]||(t[6]=[d("现有列表",-1)])]),_:1}),a.lists.length===0?(n(),k(V,{key:0},{default:i(()=>[...t[7]||(t[7]=[d(" 暂无列表,请创建新列表 ",-1)])]),_:1})):(n(),k(C,{key:1},{default:i(()=>[(n(!0),f(v,null,x(a.lists,l=>(n(),k(I,{key:l.id,to:l.id!==a.editingListId?`/list/${l.id}`:void 0,active:l.id===a.editingListId},{append:i(()=>[l.id!==a.editingListId?(n(),f("div",P,[s(o,{icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"]),class:"mr-2",border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[10]||(t[10]=[d("mdi-pencil",-1)])]),_:1})]),_:2},1032,["onClick"]),s(o,{icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"]),border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[11]||(t[11]=[d("mdi-delete",-1)])]),_:1})]),_:2},1032,["onClick"])])):_("",!0)]),default:i(()=>[l.id!==a.editingListId?(n(),f("div",U,[s(b,null,{default:i(()=>[d(y(l.name),1)]),_:2},1024)])):(n(),f("div",q,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),label:"列表名称","hide-details":"",density:"compact",class:"mr-2",autofocus:"",onKeyup:A(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(o,{icon:"",color:"primary",onClick:L(m.saveListName,["stop","prevent"]),class:"mr-2",border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[8]||(t[8]=[d("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),s(o,{icon:"",color:"error",onClick:L(m.cancelEditing,["stop","prevent"]),border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[9]||(t[9]=[d("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["to","active"]))),128))]),_:1}))]),_:1}),s(h,{class:"mb-5",border:"",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[12]||(t[12]=[d("创建新列表",-1)])]),_:1}),s(V,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),label:"列表名称",rules:[l=>!!l||"名称不能为空"]},null,8,["modelValue","rules"]),s(o,{color:"primary",onClick:m.createNewList,disabled:!a.newListName},{default:i(()=>[...t[13]||(t[13]=[d(" 创建列表 ",-1)])]),_:1},8,["onClick","disabled"])]),_:1})]),_:1}),s(B,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(h,{border:""},{default:i(()=>[s(g,null,{default:i(()=>[...t[14]||(t[14]=[d("删除列表",-1)])]),_:1}),s(V,null,{default:i(()=>[d(y(a.deleteDialog.text),1)]),_:1}),s(E,null,{default:i(()=>[s(F),s(o,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>[...t[15]||(t[15]=[d(" 取消 ",-1)])]),_:1}),s(o,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>[...t[16]||(t[16]=[d(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const O=N(M,[["render",j]]);export{O as default}; diff --git a/assets/index-CxzoX4Xk.js b/assets/index-CxzoX4Xk.js deleted file mode 100644 index d3128fa..0000000 --- a/assets/index-CxzoX4Xk.js +++ /dev/null @@ -1,11 +0,0 @@ -import{_ as ve,k as x,s as ce,j as P,o as f,w as r,d as l,l as R,q as G,t as h,v as Y,x as ee,y as k,z as I,i as c,A as p,B as F,C as b,D as ht,F as A,E as U,T as xe,G as N,e as q,H as me,I as ft,g as J,p as K,J as Pe,K as T,c as X,L as _e,M as ye,N as Le,O as qe,P as Ae,n as he,Q as vt,R as ge,S as W,U as be,W as gt,X as pe,Y as Ce,Z as We,$ as fe,a0 as kt,a1 as Ke,a2 as Ge,a3 as Fe,a4 as yt,a5 as $,a6 as bt,a7 as pt,a8 as St,u as wt,a9 as Dt,aa as xt,ab as Ct,ac as Vt,ad as Pt,m as _t,ae as Lt,af as At,ag as Mt,ah as Tt,f as Ft,h as Nt,ai as Bt,aj as jt,ak as Et,al as Se,am as ne,an as Rt,ao as ue,ap as zt,r as It,aq as Ne,ar as Be,as as Ot,at as Yt,au as Ut,av as we,aw as Ht,ax as qt,ay as Wt,az as de,aA as Kt,aB as je}from"./index-DmGr2YjE.js";import{V as Ve}from"./VTextField-C4kOar5O.js";import{V as Je}from"./VTooltip-CQ-iFGD1.js";import{V as z}from"./VChip-Cb9zLh7n.js";import{V as Gt}from"./VMenu-BNxvK6X3.js";import{_ as Xe,a as Ze,p as Ee}from"./index-WOogkXEw.js";import{V as Jt}from"./VTextarea-GxradEKI.js";import{V as Xt,a as Zt}from"./VAppBarTitle-caQbgffg.js";import{V as Qt}from"./VContainer-D6AyJkGG.js";import{V as ke,a as De}from"./VRow-2V1J5F3c.js";const $t={name:"RandomPicker",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0,default:()=>({absent:[],late:[],exclude:[]})}},data(){return{dialog:!1,count:x("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:x,tempFilters:{excludeAbsent:x("randomPicker.excludeAbsent"),excludeLate:x("randomPicker.excludeLate"),excludeExcluded:x("randomPicker.excludeExcluded")},pickerMode:x("randomPicker.mode"),minNumber:x("randomPicker.minNumber"),maxNumber:x("randomPicker.maxNumber")}},computed:{absentCount(){return this.attendance.absent?this.attendance.absent.length:0},lateCount(){return this.attendance.late?this.attendance.late.length:0},excludedCount(){return this.attendance.exclude?this.attendance.exclude.length:0},numberModeStudents(){if(this.pickerMode!=="number")return[];const t=[];for(let e=this.minNumber;e<=this.maxNumber;e++)t.push(e.toString().padStart(2,"0")+"号");return t},filteredStudents(){return this.pickerMode==="number"?this.numberModeStudents:!this.studentList||!this.studentList.length?[]:this.studentList.filter(t=>!(this.tempFilters.excludeAbsent&&this.attendance.absent.includes(t)||this.tempFilters.excludeLate&&this.attendance.late.includes(t)||this.tempFilters.excludeExcluded&&this.attendance.exclude.includes(t)))},availableStudents(){return this.filteredStudents},maxAllowedCount(){return Math.min(10,this.filteredStudents.length)},remainingStudents(){return this.filteredStudents.filter(t=>!this.pickedStudents.includes(t))}},watch:{dialog(t){t?(this.count=x("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:x("randomPicker.excludeAbsent"),excludeLate:x("randomPicker.excludeLate"),excludeExcluded:x("randomPicker.excludeExcluded")}):this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},tempFilters:{handler(){this.count>this.maxAllowedCount&&(this.count=Math.max(1,this.maxAllowedCount))},deep:!0},pickerMode:{handler(t){ce("randomPicker.mode",t)}},minNumber:{handler(t){t>this.maxNumber&&(this.minNumber=this.maxNumber),t<1&&(this.minNumber=1),ce("randomPicker.minNumber",this.minNumber)}},maxNumber:{handler(t){t100&&(this.maxNumber=100),ce("randomPicker.maxNumber",this.maxNumber)}}},methods:{open(){this.dialog=!0},incrementCount(){this.count1&&this.count--},startPicking(){this.filteredStudents.length!==0&&(this.isPickingStarted=!0,x("randomPicker.animation")?this.startAnimation():this.finishPicking())},startAnimation(){this.isAnimating=!0,this.animationStudents=this.filteredStudents.map((t,e)=>({id:`student-${e}`,name:t})),this.animateHighlight()},animateHighlight(){let e=0;const n=50,i=()=>{this.highlightedIndices=[];const a=[];for(let m=0;m{this.finishPicking()},500)};i()},finishPicking(){this.isAnimating=!1;const t=[...this.filteredStudents].sort(()=>.5-Math.random());this.pickedStudents=t.slice(0,this.count)},resetPicker(){this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},refreshSingleStudent(t){if(this.remainingStudents.length===0)return;const e=Math.floor(Math.random()*this.remainingStudents.length),n=this.remainingStudents[e];this.pickedStudents[t]=n;const i=document.querySelectorAll(".result-card");i[t]&&(i[t].classList.add("refresh-animation"),setTimeout(()=>{i[t].classList.remove("refresh-animation")},500))}}},ea={class:"d-flex justify-center align-center counter-container"},ta={class:"count-display mx-8"},aa={class:"text-h2 font-weight-bold"},na={class:"mode-switch-container mt-6"},sa={key:0,class:"number-range-container mt-4"},la={class:"d-flex justify-center align-center gap-4"},ia={class:"mt-4"},ra={key:1,class:"mt-4 text-error"},oa={class:"mt-4 text-caption"},da={class:"pa-2"},ua={key:0},ca={key:1},ma={key:2},ha={key:1,class:"d-flex flex-wrap justify-center gap-2 mt-4"},fa={key:0,class:"animation-container"},va={class:"animation-wrapper"},ga={key:1,class:"result-container"},ka={class:"mt-8 d-flex justify-center"};function ya(t,e,n,i,a,s){return f(),P(me,{modelValue:a.dialog,"onUpdate:modelValue":e[8]||(e[8]=m=>a.dialog=m),"max-width":"600","fullscreen-breakpoint":"sm",persistent:""},{default:r(()=>[l(R,{class:"random-picker-card",rounded:"xl",border:""},{default:r(()=>[l(G,{class:"text-h5 d-flex align-center"},{default:r(()=>[l(Y,{icon:"mdi-account-question",class:"mr-2"}),e[9]||(e[9]=h(" 随机点名 ",-1)),l(ee),l(k,{icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=m=>a.dialog=!1)})]),_:1}),a.isPickingStarted?(f(),P(I,{key:1,class:"text-center py-6"},{default:r(()=>[a.isAnimating?(f(),p("div",fa,[c("div",va,[l(xe,{name:"shuffle",tag:"div",class:"shuffle-container"},{default:r(()=>[(f(!0),p(A,null,N(a.animationStudents,(m,o)=>(f(),p("div",{key:m.id,class:q(["student-item",{highlighted:a.highlightedIndices.includes(o)}])},b(m.name),3))),128))]),_:1})])])):(f(),p("div",ga,[e[19]||(e[19]=c("div",{class:"text-h6 mb-4"},"抽取结果",-1)),(f(!0),p(A,null,N(a.pickedStudents,(m,o)=>(f(),P(R,{key:o,variant:"outlined",color:"primary",class:"mb-2 result-card"},{default:r(()=>[l(I,{class:"text-h4 text-center py-4 d-flex align-center justify-center"},{default:r(()=>[h(b(m)+" ",1),l(k,{icon:"mdi-refresh",variant:"text",size:"small",class:"ml-2 refresh-btn",onClick:u=>s.refreshSingleStudent(o),disabled:s.remainingStudents.length===0,title:s.remainingStudents.length===0?"没有更多可用学生":"重新抽取此学生"},null,8,["onClick","disabled","title"])]),_:2},1024)]),_:2},1024))),128)),c("div",ka,[l(k,{color:"primary","prepend-icon":"mdi-refresh",onClick:s.resetPicker,size:"large",class:"mx-2"},{default:r(()=>[...e[17]||(e[17]=[h(" 重新抽取 ",-1)])]),_:1},8,["onClick"]),l(k,{color:"grey",variant:"outlined",onClick:e[7]||(e[7]=m=>a.dialog=!1),size:"large",class:"mx-2"},{default:r(()=>[...e[18]||(e[18]=[h(" 关闭 ",-1)])]),_:1})])]))]),_:1})):(f(),P(I,{key:0,class:"text-center py-6"},{default:r(()=>[e[16]||(e[16]=c("div",{class:"text-h6 mb-4"},"请选择抽取人数",-1)),c("div",ea,[l(k,{size:"x-large",icon:"mdi-minus",variant:"tonal",color:"primary",disabled:a.count<=1,onClick:s.decrementCount,class:"counter-btn"},null,8,["disabled","onClick"]),c("div",ta,[c("span",aa,b(a.count),1),e[10]||(e[10]=c("span",{class:"text-subtitle-1 ml-2"},"人",-1))]),l(k,{size:"x-large",icon:"mdi-plus",variant:"tonal",color:"primary",disabled:a.count>=s.maxAllowedCount,onClick:s.incrementCount,class:"counter-btn"},null,8,["disabled","onClick"])]),c("div",na,[l(ht,{modelValue:a.pickerMode,"onUpdate:modelValue":e[1]||(e[1]=m=>a.pickerMode=m),color:"primary",rounded:"pill",mandatory:"",class:"mode-toggle"},{default:r(()=>[l(k,{value:"name","prepend-icon":"mdi-account"},{default:r(()=>[...e[11]||(e[11]=[h("姓名模式",-1)])]),_:1}),l(k,{value:"number","prepend-icon":"mdi-numeric"},{default:r(()=>[...e[12]||(e[12]=[h("学号模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),a.pickerMode==="number"?(f(),p("div",sa,[e[14]||(e[14]=c("div",{class:"text-subtitle-1 mb-2"},"学号范围设置",-1)),c("div",la,[l(Ve,{modelValue:a.minNumber,"onUpdate:modelValue":e[2]||(e[2]=m=>a.minNumber=m),modelModifiers:{number:!0},label:"最小值",type:"number",min:"1",max:"100","hide-details":"",class:"number-input",density:"compact"},null,8,["modelValue"]),e[13]||(e[13]=c("span",{class:"mx-2"},"至",-1)),l(Ve,{modelValue:a.maxNumber,"onUpdate:modelValue":e[3]||(e[3]=m=>a.maxNumber=m),modelModifiers:{number:!0},label:"最大值",type:"number",min:"1",max:"100","hide-details":"",class:"number-input",density:"compact"},null,8,["modelValue"])])])):F("",!0),c("div",ia,[l(k,{size:"x-large",color:"primary","prepend-icon":"mdi-dice-multiple",onClick:s.startPicking,disabled:s.filteredStudents.length===0,class:"start-btn"},{default:r(()=>[...e[15]||(e[15]=[h(" 开始抽取 ",-1)])]),_:1},8,["onClick","disabled"])]),s.filteredStudents.length===0?(f(),p("div",ra,[a.pickerMode==="name"?(f(),p(A,{key:0},[h(" 没有可抽取的学生,请调整过滤选项 ")],64)):(f(),p(A,{key:1},[h(" 请设置有效的学号范围 ")],64))])):F("",!0),c("div",oa,[h(" 当前可抽取学生: "+b(s.filteredStudents.length)+"人 ",1),a.pickerMode==="name"?(f(),P(Je,{key:0,location:"bottom"},{activator:r(({props:m})=>[l(Y,U(m,{icon:"mdi-information-outline",size:"small",class:"ml-1"}),null,16)]),default:r(()=>[c("div",da,[a.tempFilters.excludeAbsent?(f(),p("div",ua," • 已排除请假学生 ("+b(s.absentCount)+"人) ",1)):F("",!0),a.tempFilters.excludeLate?(f(),p("div",ca," • 已排除迟到学生 ("+b(s.lateCount)+"人) ",1)):F("",!0),a.tempFilters.excludeExcluded?(f(),p("div",ma," • 已排除不参与学生 ("+b(s.excludedCount)+"人) ",1)):F("",!0)])]),_:1})):F("",!0),a.pickerMode==="name"?(f(),p("div",ha,[l(z,{color:a.tempFilters.excludeLate?"warning":"default",variant:a.tempFilters.excludeLate?"elevated":"text",onClick:e[4]||(e[4]=m=>a.tempFilters.excludeLate=!a.tempFilters.excludeLate),"prepend-icon":"mdi-clock-alert",class:"filter-chip"},{default:r(()=>[h(b(a.tempFilters.excludeLate?"排除":"包含")+"迟到学生 ",1)]),_:1},8,["color","variant"]),l(z,{color:a.tempFilters.excludeAbsent?"error":"default",variant:a.tempFilters.excludeAbsent?"elevated":"text",onClick:e[5]||(e[5]=m=>a.tempFilters.excludeAbsent=!a.tempFilters.excludeAbsent),"prepend-icon":"mdi-account-off",class:"filter-chip"},{default:r(()=>[h(b(a.tempFilters.excludeAbsent?"排除":"包含")+"请假学生 ",1)]),_:1},8,["color","variant"]),l(z,{color:a.tempFilters.excludeExcluded?"grey":"default",variant:a.tempFilters.excludeExcluded?"elevated":"text",onClick:e[6]||(e[6]=m=>a.tempFilters.excludeExcluded=!a.tempFilters.excludeExcluded),"prepend-icon":"mdi-account-cancel",class:"filter-chip"},{default:r(()=>[h(b(a.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):F("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const Qe=ve($t,[["render",ya],["__scopeId","data-v-fd7ac224"]]),ba={name:"FloatingICP",data(){return{isHovered:!1}}};function pa(t,e,n,i,a,s){return f(),P(ft,null,{default:r(()=>[l(R,{class:"floating-icp",elevation:"2",rounded:"pill",variant:"tonal",color:"surface-variant",onMouseenter:e[0]||(e[0]=m=>a.isHovered=!0),onMouseleave:e[1]||(e[1]=m=>a.isHovered=!1)},{default:r(()=>[l(k,{variant:"text",class:"icp-button",href:"https://beian.miit.gov.cn/",target:"_blank",rel:"noopener noreferrer"},{default:r(()=>[l(Y,{icon:"mdi-shield-check",size:"small",class:q([{"rotate-icon":a.isHovered},"mr-1"])},null,8,["class"]),e[2]||(e[2]=c("span",{class:"text-caption"},"浙ICP备2024068645号",-1))]),_:1})]),_:1})]),_:1})}const $e=ve(ba,[["render",pa],["__scopeId","data-v-890f3fb8"]]),et=K({active:{type:[String,Array],default:void 0},controlHeight:[Number,String],disabled:{type:[Boolean,String,Array],default:null},nextIcon:{type:ye,default:"$next"},prevIcon:{type:ye,default:"$prev"},modeIcon:{type:ye,default:"$subgroup"},text:String,viewMode:{type:String,default:"month"}},"VDatePickerControls"),Re=J()({name:"VDatePickerControls",props:et(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:text":()=>!0},setup(t,e){let{emit:n}=e;const{t:i}=Pe(),a=T(()=>Array.isArray(t.disabled)?t.disabled.includes("text"):!!t.disabled),s=T(()=>Array.isArray(t.disabled)?t.disabled.includes("mode"):!!t.disabled),m=T(()=>Array.isArray(t.disabled)?t.disabled.includes("prev"):!!t.disabled),o=T(()=>Array.isArray(t.disabled)?t.disabled.includes("next"):!!t.disabled);function u(){n("click:prev")}function y(){n("click:next")}function g(){n("click:year")}function D(){n("click:month")}return X(()=>c("div",{class:q(["v-date-picker-controls"]),style:{"--v-date-picker-controls-height":_e(t.controlHeight)}},[l(k,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",disabled:a.value,text:t.text,variant:"text",rounded:!0,onClick:D},null),l(k,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:s.value,density:"comfortable",icon:t.modeIcon,variant:"text","aria-label":i("$vuetify.datePicker.ariaLabel.selectYear"),onClick:g},null),l(ee,null,null),c("div",{class:"v-date-picker-controls__month"},[l(k,{"data-testid":"prev-month",disabled:m.value,density:"comfortable",icon:t.prevIcon,variant:"text","aria-label":i("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:u},null),l(k,{"data-testid":"next-month",disabled:o.value,icon:t.nextIcon,density:"comfortable",variant:"text","aria-label":i("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:y},null)])])),{}}}),Sa=K({appendIcon:ye,color:String,header:String,transition:String,onClick:vt()},"VDatePickerHeader"),ze=J()({name:"VDatePickerHeader",props:Sa(),emits:{click:()=>!0,"click:append":()=>!0},setup(t,e){let{emit:n,slots:i}=e;const{backgroundColorClasses:a,backgroundColorStyles:s}=Le(()=>t.color);function m(){n("click")}function o(){n("click:append")}return X(()=>{const u=!!(i.default||t.header),y=!!(i.append||t.appendIcon);return c("div",{class:q(["v-date-picker-header",{"v-date-picker-header--clickable":!!t.onClick},a.value]),style:he(s.value),onClick:m},[i.prepend&&c("div",{key:"prepend",class:"v-date-picker-header__prepend"},[i.prepend()]),u&&l(qe,{key:"content",name:t.transition},{default:()=>{var g;return[c("div",{key:t.header,class:"v-date-picker-header__content"},[((g=i.default)==null?void 0:g.call(i))??t.header])]}}),y&&c("div",{class:"v-date-picker-header__append"},[i.append?l(Ae,{key:"append-defaults",disabled:!t.appendIcon,defaults:{VBtn:{icon:t.appendIcon,variant:"text"}}},{default:()=>{var g;return[(g=i.append)==null?void 0:g.call(i)]}}):l(k,{key:"append-btn",icon:t.appendIcon,variant:"text",onClick:o},null)])])}),{}}}),wa=K({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function Da(t){const e=ge(),n=W(t,"modelValue",[],d=>be(d).map(v=>e.date(v))),i=T(()=>t.displayValue?e.date(t.displayValue):n.value.length>0?e.date(n.value[0]):t.min?e.date(t.min):Array.isArray(t.allowedDates)?e.date(t.allowedDates[0]):e.date()),a=W(t,"year",void 0,d=>{const v=d!=null?Number(d):e.getYear(i.value);return e.startOfYear(e.setYear(e.date(),v))},d=>e.getYear(d)),s=W(t,"month",void 0,d=>{const v=d!=null?Number(d):e.getMonth(i.value),C=e.setYear(e.startOfMonth(e.date()),e.getYear(a.value));return e.setMonth(C,v)},d=>e.getMonth(d)),m=T(()=>{const d=e.toJsDate(e.startOfWeek(e.date(),t.firstDayOfWeek)).getDay();return e.getWeekdays(t.firstDayOfWeek,t.weekdayFormat).filter((v,C)=>t.weekdays.includes((C+d)%7))}),o=T(()=>{const d=e.getWeekArray(s.value,t.firstDayOfWeek),v=d.flat(),C=6*7;if(t.weeksInMonth==="static"&&v.lengtht.weekdays.includes(e.toJsDate(C).getDay())).map((C,M)=>{const H=e.toISO(C),O=!e.isSameMonth(C,s.value),se=e.isSameDay(C,e.startOfMonth(s.value)),L=e.isSameDay(C,e.endOfMonth(s.value)),w=e.isSameDay(C,s.value),E=t.weekdays.length;return{date:C,formatted:e.format(C,"keyboardDate"),isAdjacent:O,isDisabled:_(C),isEnd:L,isHidden:O&&!t.showAdjacentMonths,isSame:w,isSelected:n.value.some(te=>e.isSameDay(C,te)),isStart:se,isToday:e.isSameDay(C,v),isWeekEnd:M%E===E-1,isWeekStart:M%E===0,isoDate:H,localized:e.format(C,"dayOfMonth"),month:e.getMonth(C),year:e.getYear(C)}})}const y=T(()=>{const d=e.startOfWeek(i.value,t.firstDayOfWeek),v=[];for(let M=0;M<=6;M++)v.push(e.addDays(d,M));const C=e.date();return u(v,C)}),g=T(()=>{const d=o.value.flat(),v=e.date();return u(d,v)}),D=T(()=>o.value.map(d=>d.length?e.getWeek(d[0],t.firstDayOfWeek):null));function _(d){if(t.disabled)return!0;const v=e.date(d);return t.min&&e.isBefore(e.endOfDay(v),e.date(t.min))||t.max&&e.isAfter(v,e.date(t.max))?!0:Array.isArray(t.allowedDates)&&t.allowedDates.length>0?!t.allowedDates.some(C=>e.isSameDay(e.date(C),v)):typeof t.allowedDates=="function"?!t.allowedDates(v):!1}return{displayValue:i,daysInMonth:g,daysInWeek:y,genDays:u,model:n,weeksInMonth:o,weekdayLabels:m,weekNumbers:D}}const tt=K({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},...fe(wa(),["displayValue"])},"VDatePickerMonth"),Ie=J()({name:"VDatePickerMonth",props:tt(),emits:{"update:modelValue":t=>!0,"update:month":t=>!0,"update:year":t=>!0},setup(t,e){let{emit:n,slots:i}=e;const a=gt(),{t:s}=Pe(),{daysInMonth:m,model:o,weekNumbers:u,weekdayLabels:y}=Da(t),g=ge(),D=pe(),_=pe(),d=pe(!1),v=Ce(()=>d.value?t.reverseTransition:t.transition);t.multiple==="range"&&o.value.length>0&&(D.value=o.value[0],o.value.length>1&&(_.value=o.value[o.value.length-1]));const C=T(()=>{const L=["number","string"].includes(typeof t.multiple)?Number(t.multiple):1/0;return o.value.length>=L});We(m,(L,w)=>{w&&(d.value=g.isBefore(L[0].date,w[0].date))});function M(L){const w=g.startOfDay(L);if(o.value.length===0?D.value=void 0:o.value.length===1&&(D.value=o.value[0],_.value=void 0),!D.value)D.value=w,o.value=[D.value];else if(_.value)D.value=L,_.value=void 0,o.value=[D.value];else{if(g.isSameDay(w,D.value)){D.value=void 0,o.value=[];return}else g.isBefore(w,D.value)?(_.value=g.endOfDay(D.value),D.value=w):_.value=g.endOfDay(w);o.value=kt(g,D.value,_.value)}}function H(L){const w=g.format(L.date,"fullDateWithWeekday"),E=L.isToday?"currentDate":"selectDate";return s(`$vuetify.datePicker.ariaLabel.${E}`,w)}function O(L){const w=o.value.findIndex(E=>g.isSameDay(E,L));if(w===-1)o.value=[...o.value,L];else{const E=[...o.value];E.splice(w,1),o.value=E}}function se(L){t.multiple==="range"?M(L):t.multiple?O(L):o.value=[L]}X(()=>c("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":t.weekdays.length}},[t.showWeek&&c("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!t.hideWeekdays&&c("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[h(" ")]),u.value.map(L=>c("div",{class:q(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[L]))]),l(qe,{name:v.value},{default:()=>{var L;return[c("div",{ref:a,key:(L=m.value[0].date)==null?void 0:L.toString(),class:"v-date-picker-month__days"},[!t.hideWeekdays&&y.value.map(w=>c("div",{class:q(["v-date-picker-month__day","v-date-picker-month__weekday"])},[w])),m.value.map((w,E)=>{var le;const te={props:{class:"v-date-picker-month__day-btn",color:w.isSelected||w.isToday?t.color:void 0,disabled:w.isDisabled,icon:!0,ripple:!1,text:w.localized,variant:w.isSelected?"flat":w.isToday?"outlined":"text","aria-label":H(w),"aria-current":w.isToday?"date":void 0,onClick:()=>se(w.date)},item:w,i:E};return C.value&&!w.isSelected&&(w.isDisabled=!0),c("div",{class:q(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":w.isAdjacent,"v-date-picker-month__day--hide-adjacent":w.isHidden,"v-date-picker-month__day--selected":w.isSelected,"v-date-picker-month__day--week-end":w.isWeekEnd,"v-date-picker-month__day--week-start":w.isWeekStart}]),"data-v-date":w.isDisabled?void 0:w.isoDate},[(t.showAdjacentMonths||!w.isAdjacent)&&(((le=i.day)==null?void 0:le.call(i,te))??l(k,te.props,null))])})])]}})]))}}),at=K({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),Oe=J()({name:"VDatePickerMonths",props:at(),emits:{"update:modelValue":t=>!0},setup(t,e){let{emit:n,slots:i}=e;const a=ge(),s=W(t,"modelValue"),m=T(()=>{let u=a.startOfYear(a.date());return t.year&&(u=a.setYear(u,t.year)),Ke(12).map(y=>{const g=a.format(u,"monthShort"),D=a.format(u,"month"),_=!!(!o(y)||t.min&&a.isAfter(a.startOfMonth(a.date(t.min)),u)||t.max&&a.isAfter(u,a.startOfMonth(a.date(t.max))));return u=a.getNextMonth(u),{isDisabled:_,text:g,label:D,value:y}})});Ge(()=>{s.value=s.value??a.getMonth(a.date())});function o(u){return Array.isArray(t.allowedMonths)&&t.allowedMonths.length?t.allowedMonths.includes(u):typeof t.allowedMonths=="function"?t.allowedMonths(u):!0}return X(()=>c("div",{class:"v-date-picker-months",style:{height:_e(t.height)}},[c("div",{class:"v-date-picker-months__content"},[m.value.map((u,y)=>{var _;const g={active:s.value===y,ariaLabel:u.label,color:s.value===y?t.color:void 0,disabled:u.isDisabled,rounded:!0,text:u.text,variant:s.value===u.value?"flat":"text",onClick:()=>D(y)};function D(d){if(s.value===d){n("update:modelValue",s.value);return}s.value=d}return((_=i.month)==null?void 0:_.call(i,{month:u,i:y,props:g}))??l(k,U({key:"month"},g),null)})])])),{}}}),nt=K({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),Ye=J()({name:"VDatePickerYears",props:nt(),directives:{vIntersect:Fe},emits:{"update:modelValue":t=>!0},setup(t,e){let{emit:n,slots:i}=e;const a=ge(),s=W(t,"modelValue"),m=T(()=>{const g=a.getYear(a.date());let D=g-100,_=g+52;t.min&&(D=a.getYear(a.date(t.min))),t.max&&(_=a.getYear(a.date(t.max)));let d=a.startOfYear(a.date());return d=a.setYear(d,D),Ke(_-D+1,D).map(v=>{const C=a.format(d,"year");return d=a.setYear(d,a.getYear(d)+1),{text:C,value:v,isDisabled:!y(v)}})});Ge(()=>{s.value=s.value??a.getYear(a.date())});const o=yt();function u(){var g,D;(g=o.el)==null||g.focus(),(D=o.el)==null||D.scrollIntoView({block:"center"})}function y(g){return Array.isArray(t.allowedYears)&&t.allowedYears.length?t.allowedYears.includes(g):typeof t.allowedYears=="function"?t.allowedYears(g):!0}return X(()=>$(c("div",{class:"v-date-picker-years",style:{height:_e(t.height)}},[c("div",{class:"v-date-picker-years__content"},[m.value.map((g,D)=>{var d;const _={ref:s.value===g.value?o:void 0,active:s.value===g.value,color:s.value===g.value?t.color:void 0,rounded:!0,text:g.text,disabled:g.isDisabled,variant:s.value===g.value?"flat":"text",onClick:()=>{if(s.value===g.value){n("update:modelValue",s.value);return}s.value=g.value}};return((d=i.year)==null?void 0:d.call(i,{year:g,i:D,props:_}))??l(k,U({key:"month"},_),null)})])]),[[Fe,{handler:u},null,{once:!0}]])),{}}}),xa=bt("v-picker-title"),st=K({color:String,...Bt(),...Nt(),...Ft(),...Tt(),...Mt(),...At(),...Lt(),..._t(),...Pt()},"VSheet"),Ue=J()({name:"VSheet",props:st(),setup(t,e){let{slots:n}=e;const{themeClasses:i}=pt(t),{backgroundColorClasses:a,backgroundColorStyles:s}=Le(()=>t.color),{borderClasses:m}=St(t),{dimensionStyles:o}=wt(t),{elevationClasses:u}=Dt(t),{locationStyles:y}=xt(t),{positionClasses:g}=Ct(t),{roundedClasses:D}=Vt(t);return X(()=>l(t.tag,{class:q(["v-sheet",i.value,a.value,m.value,u.value,g.value,D.value,t.class]),style:he([s.value,o.value,y.value,t.style])},n)),{}}}),lt=K({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,...st()},"VPicker"),He=J()({name:"VPicker",props:lt(),setup(t,e){let{slots:n}=e;const{backgroundColorClasses:i,backgroundColorStyles:a}=Le(()=>t.color);return X(()=>{const s=Ue.filterProps(t),m=!!(t.title||n.title);return l(Ue,U(s,{color:t.bgColor,class:["v-picker",{"v-picker--divided":t.divided,"v-picker--landscape":t.landscape,"v-picker--with-actions":!!n.actions},t.class],style:t.style}),{default:()=>{var o;return[!t.hideHeader&&c("div",{key:"header",class:q([i.value]),style:he([a.value])},[m&&l(xa,{key:"picker-title"},{default:()=>{var u;return[((u=n.title)==null?void 0:u.call(n))??t.title]}}),n.header&&c("div",{class:"v-picker__header"},[n.header()])]),c("div",{class:"v-picker__body"},[(o=n.default)==null?void 0:o.call(n)]),n.actions&&l(Ae,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[c("div",{class:"v-picker__actions"},[n.actions()])]})]}})}),{}}}),Ca=K({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,...et(),...tt({weeksInMonth:"static"}),...fe(at(),["modelValue"]),...fe(nt(),["modelValue"]),...lt({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Va=J()({name:"VDatePicker",props:Ca(),emits:{"update:modelValue":t=>!0,"update:month":t=>!0,"update:year":t=>!0,"update:viewMode":t=>!0},setup(t,e){let{emit:n,slots:i}=e;const a=ge(),{t:s}=Pe(),{rtlClasses:m}=jt(),o=W(t,"modelValue",void 0,S=>be(S).map(V=>a.date(V)),S=>t.multiple?S:S[0]),u=W(t,"viewMode"),y=T(()=>{const S=a.date(t.min);return t.min&&a.isValid(S)?S:null}),g=T(()=>{const S=a.date(t.max);return t.max&&a.isValid(S)?S:null}),D=T(()=>{var j;const S=a.date();let V=S;return(j=o.value)!=null&&j[0]?V=a.date(o.value[0]):y.value&&a.isBefore(S,y.value)?V=y.value:g.value&&a.isAfter(S,g.value)&&(V=g.value),V&&a.isValid(V)?V:S}),_=Ce(()=>t.headerColor??t.color),d=W(t,"month"),v=T({get:()=>Number(d.value??a.getMonth(a.startOfMonth(D.value))),set:S=>d.value=S}),C=W(t,"year"),M=T({get:()=>Number(C.value??a.getYear(a.startOfYear(a.setMonth(D.value,v.value)))),set:S=>C.value=S}),H=pe(!1),O=T(()=>t.multiple&&o.value.length>1?s("$vuetify.datePicker.itemsSelected",o.value.length):o.value[0]&&a.isValid(o.value[0])?a.format(a.date(o.value[0]),"normalDateWithWeekday"):s(t.header)),se=T(()=>{let S=a.date();return S=a.setDate(S,1),S=a.setMonth(S,v.value),S=a.setYear(S,M.value),a.format(S,"monthAndYear")}),L=Ce(()=>`date-picker-header${H.value?"-reverse":""}-transition`),w=T(()=>{if(t.disabled)return!0;const S=[];if(u.value!=="month")S.push("prev","next");else{let V=a.date();if(V=a.startOfMonth(V),V=a.setMonth(V,v.value),V=a.setYear(V,M.value),y.value){const j=a.addDays(a.startOfMonth(V),-1);a.isAfter(y.value,j)&&S.push("prev")}if(g.value){const j=a.addDays(a.endOfMonth(V),1);a.isAfter(j,g.value)&&S.push("next")}}return S}),E=T(()=>t.allowedYears||ot),te=T(()=>t.allowedMonths||dt);function le(S,V){const j=t.allowedDates;if(typeof j!="function")return!0;const Z=a.getDiff(V,S,"days");for(let Q=0;Q0?v.value--:(M.value--,v.value=11,re()),ie()}function mt(){u.value="month"}function Me(){u.value=u.value==="months"?"month":"months"}function Te(){u.value=u.value==="year"?"month":"year"}function ie(){u.value==="months"&&Me()}function re(){u.value==="year"&&Te()}return We(o,(S,V)=>{const j=be(V),Z=be(S);if(!Z.length)return;const Q=a.date(j[j.length-1]),oe=a.date(Z[Z.length-1]),ae=a.getMonth(oe),B=a.getYear(oe);ae!==v.value&&(v.value=ae,ie()),B!==M.value&&(M.value=B,re()),H.value=a.isBefore(Q,oe)}),X(()=>{const S=He.filterProps(t),V=Re.filterProps(t),j=ze.filterProps(t),Z=Ie.filterProps(t),Q=fe(Oe.filterProps(t),["modelValue"]),oe=fe(Ye.filterProps(t),["modelValue"]),ae={color:_.value,header:O.value,transition:L.value};return l(He,U(S,{color:_.value,class:["v-date-picker",`v-date-picker--${u.value}`,{"v-date-picker--show-week":t.showWeek},m.value,t.class],style:t.style}),{title:()=>{var B;return((B=i.title)==null?void 0:B.call(i))??c("div",{class:"v-date-picker__title"},[s(t.title)])},header:()=>i.header?l(Ae,{defaults:{VDatePickerHeader:{...ae}}},{default:()=>{var B;return[(B=i.header)==null?void 0:B.call(i,ae)]}}):l(ze,U({key:"header"},j,ae,{onClick:u.value!=="month"?mt:void 0}),{prepend:i.prepend,append:i.append}),default:()=>c(A,null,[l(Re,U(V,{disabled:w.value,text:se.value,"onClick:next":ut,"onClick:prev":ct,"onClick:month":Me,"onClick:year":Te}),null),l(Et,{hideOnLeave:!0},{default:()=>[u.value==="months"?l(Oe,U({key:"date-picker-months"},Q,{modelValue:v.value,"onUpdate:modelValue":[B=>v.value=B,ie],min:y.value,max:g.value,year:M.value,allowedMonths:te.value}),{month:i.month}):u.value==="year"?l(Ye,U({key:"date-picker-years"},oe,{modelValue:M.value,"onUpdate:modelValue":[B=>M.value=B,re],min:y.value,max:g.value,allowedYears:E.value}),{year:i.year}):l(Ie,U({key:"date-picker-month"},Z,{modelValue:o.value,"onUpdate:modelValue":B=>o.value=B,month:v.value,"onUpdate:month":[B=>v.value=B,ie],year:M.value,"onUpdate:year":[B=>M.value=B,re],min:y.value,max:g.value}),{day:i.day})]})]),actions:i.actions})}),{}}}),Pa={name:"FloatingToolbar",props:{loading:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},selectedDate:{type:[String,Date],required:!0},isToday:{type:Boolean,required:!0}},data(){return{isExpanded:!1}},methods:{handleDateSelect(t){this.$emit("date-select",t)}}};function _a(t,e,n,i,a,s){return f(),P(Rt,null,{default:r(()=>[l(R,{class:q(["floating-toolbar",{"toolbar-expanded":a.isExpanded}]),elevation:"4",rounded:"xl"},{default:r(()=>[l(Se,{variant:"text",class:"toolbar-buttons"},{default:r(()=>[$(l(k,{icon:"mdi-chevron-left",variant:"text",onClick:e[0]||(e[0]=m=>t.$emit("prev-day")),title:"查看昨天",class:"toolbar-btn"},null,512),[[ne]]),$(l(k,{icon:"mdi-format-font-size-decrease",variant:"text",onClick:e[1]||(e[1]=m=>t.$emit("zoom","out")),title:"缩小字体",class:"toolbar-btn"},null,512),[[ne]]),$(l(k,{icon:"mdi-format-font-size-increase",variant:"text",onClick:e[2]||(e[2]=m=>t.$emit("zoom","up")),title:"放大字体",class:"toolbar-btn"},null,512),[[ne]]),l(Gt,{location:"top","close-on-content-click":!1},{activator:r(({props:m})=>[$(l(k,U({icon:"mdi-calendar",variant:"text"},m,{title:"选择日期",class:"toolbar-btn"}),null,16),[[ne]])]),default:r(()=>[l(R,{border:"",class:"date-picker-card"},{default:r(()=>[l(Va,{"model-value":n.selectedDate,color:"primary","onUpdate:modelValue":s.handleDateSelect},null,8,["model-value","onUpdate:modelValue"])]),_:1})]),_:1}),$(l(k,{icon:"mdi-refresh",variant:"text",loading:n.loading,onClick:e[3]||(e[3]=m=>t.$emit("refresh")),title:"刷新数据",class:"toolbar-btn"},null,8,["loading"]),[[ne]]),n.isToday?F("",!0):$((f(),P(k,{key:0,icon:"mdi-chevron-right",variant:"text",onClick:e[4]||(e[4]=m=>t.$emit("next-day")),title:"查看明天",class:"toolbar-btn"},null,512)),[[ne]])]),_:1})]),_:1},8,["class"])]),_:1})}const it=ve(Pa,[["render",_a],["__scopeId","data-v-4c0541bf"]]),La={name:"HomeworkEditDialog",props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},initialContent:{type:String,default:""},autoSave:{type:Boolean,default:!1}},emits:["update:modelValue","save"],data(){return{content:"",templateData:null,currentLine:"",currentLineStart:0,currentLineEnd:0,quickTexts:["课","题","T","P"]}},computed:{dialogVisible:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},subject(){return this.title},hasTemplates(){var t,e;return!!((e=(t=this.templateData)==null?void 0:t.actions)!=null&&e.length||this.subjectBooks||this.commonBooks)},subjectBooks(){var t,e,n;return!this.subject||!((n=(e=(t=this.templateData)==null?void 0:t.subjects)==null?void 0:e[this.subject])!=null&&n.books)?null:this.templateData.subjects[this.subject].books},commonBooks(){var t,e;return(e=(t=this.templateData)==null?void 0:t.commonSubject)!=null&&e.books?this.templateData.commonSubject.books:null}},watch:{async modelValue(t){if(t){this.content=this.initialContent;try{this.templateData=await ue.loadData("classworks-config-homework-template")}catch(e){console.error("Failed to load homework templates:",e),this.templateData=null}this.$nextTick(()=>{this.$refs.inputRef&&(this.$refs.inputRef.focus(),this.updateCurrentLine())})}}},methods:{handleClose(){const t=this.content.trim();t!==this.initialContent.trim()&&this.$emit("save",t),this.dialogVisible=!1},updateCurrentLine(){const e=this.$refs.inputRef.$el.querySelector("textarea").selectionStart,n=this.content;let i=0;const a=n.split(` -`);for(let s=0;si.includes(t));n!==-1&&(e.splice(n,1),this.content=e.join(` -`))}else{const e=this.content.trim().length>0;this.content=(e?this.content.trim()+` -`:"")+t}this.$nextTick(()=>{const e=this.$refs.inputRef.$el.querySelector("textarea");if(e.focus(),!this.isBookSelected(t)){const n=this.content.split(` -`);let i=0;for(let a=0;a0?" ":"")+e+this.content.slice(i)}this.$nextTick(()=>{const n=this.$refs.inputRef.$el.querySelector("textarea");n.focus();const i=this.content.split(` -`);let a=0;for(let s=0;sthis.currentLineStart));s++)a+=1;n.setSelectionRange(a,a),this.updateCurrentLine()})},insertTemplate(t){const e=this.$refs.inputRef.$el.querySelector("textarea"),n=e.selectionStart,i=e.selectionEnd,a=n>0&&this.content[n-1]!==" "&&this.content[n-1]!==` -`;this.content=this.content.slice(0,n)+(a?" ":"")+t+this.content.slice(i),this.$nextTick(()=>{e.focus();const s=n+t.length+(a?1:0);e.setSelectionRange(s,s),this.updateCurrentLine()})},insertAtCursor(t){if(!t)return;const e=this.$refs.inputRef.$el.querySelector("textarea"),n=e.selectionStart,i=e.selectionEnd;this.content=this.content.slice(0,n)+t+this.content.slice(i),this.$nextTick(()=>{e.focus();const a=n+t.length;e.setSelectionRange(a,a),this.updateCurrentLine()})},deleteLastChar(){const t=this.$refs.inputRef.$el.querySelector("textarea"),e=t.selectionStart,n=t.selectionEnd;e===n?e>0&&(this.content=this.content.slice(0,e-1)+this.content.slice(e),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e-1,e-1),this.updateCurrentLine()})):(this.content=this.content.slice(0,e)+this.content.slice(n),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e,e),this.updateCurrentLine()}))}}},Aa={class:"d-flex"},Ma={class:"flex-grow-1"},Ta={key:0,class:"mt-4"},Fa={key:0,class:"template-buttons"},Na={key:0,class:"pages-container mt-2"},Ba={key:0,class:"pages-container mt-2"},ja={key:2,class:"button-group"},Ea={key:1,class:"text-center text-body-2 text-disabled mt-2"},Ra={class:"quick-tools ml-4",style:{"min-width":"180px"}},za={class:"numeric-keypad mb-4"},Ia={class:"keypad-row"},Oa={class:"keypad-row"},Ya={class:"keypad-row"},Ua={class:"keypad-row"},Ha={class:"keypad-row"},qa={class:"d-flex flex-wrap gap-1"};function Wa(t,e,n,i,a,s){return f(),P(me,{modelValue:s.dialogVisible,"onUpdate:modelValue":e[5]||(e[5]=m=>s.dialogVisible=m),width:"auto","max-width":"900","onClick:outside":s.handleClose},{default:r(()=>[l(R,{border:""},{default:r(()=>[l(G,null,{default:r(()=>[h(b(n.title),1)]),_:1}),l(zt,null,{default:r(()=>[h(b(n.autoSave?"喵?喵呜!":"写完后点击上传谢谢喵"),1)]),_:1}),l(I,null,{default:r(()=>{var m;return[c("div",Aa,[c("div",Ma,[l(Jt,{ref:"inputRef",modelValue:a.content,"onUpdate:modelValue":e[0]||(e[0]=o=>a.content=o),"auto-grow":"",placeholder:"使用换行表示分条",rows:"5",onClick:s.updateCurrentLine,onKeyup:s.updateCurrentLine,width:"480"},null,8,["modelValue","onClick","onKeyup"]),a.templateData?(f(),p("div",Ta,[s.hasTemplates?(f(),p("div",Fa,[s.subjectBooks?(f(!0),p(A,{key:0},N(s.subjectBooks,(o,u)=>(f(),p("div",{key:u,class:"button-group"},[l(z,{class:"ma-1 book-chip",color:s.isBookSelected(u)?"success":"default",variant:s.isBookSelected(u)?"elevated":"flat",onClick:y=>s.handleBookClick(u)},{default:r(()=>[h(b(u),1)]),_:2},1032,["color","variant","onClick"]),s.isBookSelected(u)?(f(),p("div",Na,[(f(!0),p(A,null,N(o,y=>(f(),P(z,{key:y,class:"ma-1",color:s.isPageSelected(u,y)?"info":"default",variant:s.isPageSelected(u,y)?"elevated":"flat",onClick:g=>s.handlePageClick(u,y)},{default:r(()=>[h(b(y),1)]),_:2},1032,["color","variant","onClick"]))),128))])):F("",!0)]))),128)):F("",!0),s.commonBooks?(f(!0),p(A,{key:1},N(s.commonBooks,(o,u)=>(f(),p("div",{key:u,class:"button-group"},[l(z,{class:"ma-1 book-chip",color:s.isBookSelected(u)?"success":"default",variant:s.isBookSelected(u)?"elevated":"flat",onClick:y=>s.handleBookClick(u)},{default:r(()=>[h(b(u),1)]),_:2},1032,["color","variant","onClick"]),s.isBookSelected(u)?(f(),p("div",Ba,[(f(!0),p(A,null,N(o,y=>(f(),P(z,{key:y,class:"ma-1",color:s.isPageSelected(u,y)?"info":"default",variant:s.isPageSelected(u,y)?"elevated":"flat",onClick:g=>s.handlePageClick(u,y)},{default:r(()=>[h(b(y),1)]),_:2},1032,["color","variant","onClick"]))),128))])):F("",!0)]))),128)):F("",!0),(m=a.templateData.actions)!=null&&m.length?(f(),p("div",ja,[(f(!0),p(A,null,N(a.templateData.actions,o=>(f(),P(z,{key:o,class:"ma-1",color:"primary",variant:"flat",onClick:u=>s.insertTemplate(o)},{default:r(()=>[h(b(o),1)]),_:2},1032,["onClick"]))),128))])):F("",!0)])):(f(),p("div",Ea," 暂无可用的模板 "))])):F("",!0)]),c("div",Ra,[c("div",za,[c("div",Ia,[(f(),p(A,null,N(3,o=>l(k,{key:o,size:"small",variant:"tonal",class:"keypad-btn",onClick:u=>s.insertAtCursor(String(o))},{default:r(()=>[h(b(o),1)]),_:2},1032,["onClick"])),64))]),c("div",Oa,[(f(),p(A,null,N(3,o=>l(k,{key:o,size:"small",variant:"tonal",class:"keypad-btn",onClick:u=>s.insertAtCursor(String(o+3))},{default:r(()=>[h(b(o+3),1)]),_:2},1032,["onClick"])),64))]),c("div",Ya,[(f(),p(A,null,N(3,o=>l(k,{key:o,size:"small",variant:"tonal",class:"keypad-btn",onClick:u=>s.insertAtCursor(String(o+6))},{default:r(()=>[h(b(o+6),1)]),_:2},1032,["onClick"])),64))]),c("div",Ua,[l(k,{size:"small",variant:"tonal",class:"keypad-btn",onClick:e[1]||(e[1]=o=>s.insertAtCursor("-"))},{default:r(()=>[...e[6]||(e[6]=[h(" - ",-1)])]),_:1}),l(k,{size:"small",variant:"tonal",class:"keypad-btn",onClick:e[2]||(e[2]=o=>s.insertAtCursor("0"))},{default:r(()=>[...e[7]||(e[7]=[h(" 0 ",-1)])]),_:1}),l(k,{size:"small",variant:"tonal",class:"keypad-btn",color:"error",onClick:s.deleteLastChar},{default:r(()=>[...e[8]||(e[8]=[h(" ← ",-1)])]),_:1},8,["onClick"])]),c("div",Ha,[l(k,{size:"small",variant:"tonal",class:"keypad-btn space-btn",onClick:e[3]||(e[3]=o=>s.insertAtCursor(" "))},{default:r(()=>[...e[9]||(e[9]=[h(" 空格 ",-1)])]),_:1}),l(k,{size:"small",variant:"tonal",class:"keypad-btn space-btn",onClick:e[4]||(e[4]=o=>s.insertAtCursor(` -`))},{default:r(()=>[...e[10]||(e[10]=[h(" 换行 ",-1)])]),_:1})])]),c("div",qa,[(f(!0),p(A,null,N(a.quickTexts,o=>(f(),P(k,{key:o,size:"small",variant:"flat",onClick:u=>s.insertAtCursor(o)},{default:r(()=>[h(b(o),1)]),_:2},1032,["onClick"]))),128))])])])]}),_:1})]),_:1})]),_:1},8,["modelValue","onClick:outside"])}const rt=ve(La,[["render",Wa],["__scopeId","data-v-632e8bbf"]]);function Ka(t,e){let n=null;return function(...i){n&&clearTimeout(n),n=setTimeout(()=>{t.apply(this,i)},e)}}function Ga(t,e){let n=null,i=0;return function(...a){const s=Date.now();s-i{i=s,t.apply(this,a)},e)):(i=s,t.apply(this,a))}}const Ja={name:"Classworks 作业板",components:{MessageLog:Ze,RandomPicker:Qe,NamespaceAccess:Xe,FloatingToolbar:it,FloatingICP:$e,HomeworkEditDialog:rt},data(){const t=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}];return{dataKey:"",provider:"",useDisplay:je,state:{classNumber:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${x("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:x("font.size"),datePickerDialog:!1,selectedDate:new Date().toISOString().split("T")[0].replace(/-/g,""),selectedDateObj:new Date,refreshInterval:null,showNoDataMessage:!1,noDataMessage:"",isToday:!1,attendanceDialog:!1,availableSubjects:t,isFullscreen:!1},loading:{download:!1,upload:!1,students:!1},debouncedUpload:null,throttledReflow:null,sortedItemsCache:{key:"",value:[]},confirmDialog:{show:!1,resolve:null,reject:null},attendanceSearch:"",attendanceFilter:[],urlConfigDialog:{show:!1,config:null,changes:[],validSettings:{},confirmHandler:null,cancelHandler:null,icons:{}}}},computed:{isMobile(){return je().mobile.value},titleText(){const t=this.getToday(),e=new Date(t);e.setDate(e.getDate()-1);const n=this.state.dateString,i=this.formatDate(t),a=this.formatDate(e);return n===i?"今天的作业":n===a?"昨天的作业":`${n}的作业`},sortedItems(){const t=`${JSON.stringify(this.state.boardData.homework)}_${this.subjectOrder.join()}_${this.dynamicSort}`;if(this.sortedItemsCache.key===t)return this.sortedItemsCache.value;const e=Object.entries(this.state.boardData.homework).filter(([,i])=>{var a;return(a=i.content)==null?void 0:a.trim()}).map(([i,a])=>{var s;return{key:i,name:((s=this.state.availableSubjects.find(m=>m.name===i))==null?void 0:s.name)||i,content:a.content,order:this.subjectOrder.indexOf(i),rowSpan:Math.ceil((a.content.split(` -`).filter(m=>m.trim()).length+1)*.8)}}),n=this.dynamicSort?this.optimizeGridLayout(e):e.sort((i,a)=>i.order-a.order);return this.updateSortedItemsCache(t,n),n},unusedSubjects(){const t=Object.keys(this.state.boardData.homework).filter(e=>{var n;return(n=this.state.boardData.homework[e].content)==null?void 0:n.trim()});return this.state.availableSubjects.filter(e=>!t.includes(e.name)).sort((e,n)=>e.order-n.order)},emptySubjects(){return this.emptySubjectDisplay!=="button"?[]:this.unusedSubjects},autoSave(){return x("edit.autoSave")},blockNonTodayAutoSave(){return x("edit.blockNonTodayAutoSave")},isToday(){const t=(()=>{const e=new Date,n=e.getFullYear(),i=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${n}${i}${a}`})();return this.state.dateString===t},canAutoSave(){return this.autoSave&&(!this.blockNonTodayAutoSave||this.isToday)},needConfirmSave(){return!this.isToday&&this.confirmNonTodaySave},shouldShowBlockedMessage(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},refreshBeforeEdit(){return x("edit.refreshBeforeEdit")},emptySubjectDisplay(){return x("display.emptySubjectDisplay")},dynamicSort(){return x("display.dynamicSort")},isEditingDisabled(){return this.state.uploadLoading||this.state.downloadLoading},unreadCount(){var t;return((t=this.$refs.messageLog)==null?void 0:t.unreadCount)||0},showRandomPickerButton(){return x("randomPicker.enabled")},showListCardButton(){return x("display.showListCard")},confirmNonTodaySave(){return x("edit.confirmNonTodaySave")},shouldShowSaveConfirm(){return!this.isToday&&this.confirmNonTodaySave},shouldBlockAutoSave(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},showFullscreenButton(){return x("display.showFullscreenButton")},showAntiScreenBurnCard(){return x("display.showAntiScreenBurnCard")},filteredStudents(){let t=[...this.state.studentList];if(this.attendanceSearch){const e=this.attendanceSearch.toLowerCase();t=t.filter(n=>n.toLowerCase().includes(e))}return this.attendanceFilter&&this.attendanceFilter.length>0&&(t=t.filter(e=>{const n=this.state.studentList.indexOf(e);return!!(this.attendanceFilter.includes("present")&&this.isPresent(n)||this.attendanceFilter.includes("absent")&&this.isAbsent(n)||this.attendanceFilter.includes("late")&&this.isLate(n)||this.attendanceFilter.includes("exclude")&&this.isExclude(n))})),t},extractedSurnames(){if(!this.state.studentList||this.state.studentList.length===0)return[];const t=new Map;return this.state.studentList.forEach(e=>{if(e&&e.length>0){const n=e.charAt(0);t.has(n)?t.set(n,t.get(n)+1):t.set(n,1)}}),Array.from(t.entries()).map(([e,n])=>({name:e,count:n})).sort((e,n)=>{const i=Ee(e.name,{toneType:"none",mode:"surname"}),a=Ee(n.name,{toneType:"none",mode:"surname"});return i.localeCompare(a)})},subjectOrder(){return[...this.state.availableSubjects].sort((t,e)=>t.order-e.order).map(t=>t.name)}},watch:{homeworkData:{handler(){this.$nextTick(()=>{this.$refs.waterfall&&this.$refs.waterfall.reflow()})},deep:!0},"$vuetify.display.width":{handler(){this.throttledReflow()},deep:!0}},created(){this.debouncedUpload=Ka(this.uploadData,2e3),this.throttledReflow=Ga(()=>{this.$refs.gridContainer&&this.optimizeGridLayout(this.sortedItems)},200)},async mounted(){try{this.updateBackendUrl(),await this.initializeData(),this.setupAutoRefresh(),this.unwatchSettings=Kt(()=>{this.updateSettings()}),document.addEventListener("fullscreenchange",this.fullscreenChangeHandler),document.addEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("MSFullscreenChange",this.fullscreenChangeHandler),this.checkHashForRandomPicker(),window.addEventListener("hashchange",this.checkHashForRandomPicker)}catch(t){console.error("初始化失败:",t),this.showError("初始化失败,请刷新页面重试")}},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings(),this.state.refreshInterval&&clearInterval(this.state.refreshInterval),document.removeEventListener("fullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("MSFullscreenChange",this.fullscreenChangeHandler),window.removeEventListener("hashchange",this.checkHashForRandomPicker)},methods:{ensureDate(t){if(t instanceof Date)return t;if(typeof t=="string"){const e=new Date(t);if(!isNaN(e.getTime()))return e}return new Date},formatDate(t){const e=this.ensureDate(t),n=e.getFullYear(),i=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${n}${i}${a}`},getToday(){return new Date},async initializeData(){const t=await this.parseUrlConfig(),n=new URLSearchParams(window.location.search).get("date"),i=this.getToday();let a=i;if(n){if(/^\d{8}$/.test(n)){const s=n.substring(0,4),m=n.substring(4,6),o=n.substring(6,8);a=new Date(`${s}-${m}-${o}`)}else a=new Date(n);isNaN(a.getTime())&&(a=i)}if(this.state.dateString=this.formatDate(a),this.state.selectedDate=this.state.dateString,this.state.selectedDateObj=a,this.state.isToday=this.formatDate(a)===this.formatDate(i),!t){this.provider=x("server.provider");const s=x("server.classNumber");this.state.classNumber=s}await Promise.all([this.downloadData(),this.loadConfig()])},async downloadData(){var t,e,n;if(!this.loading.download)try{this.loading.download=!0;const i=await ue.loadData("classworks-data-"+this.state.dateString);if(i.success==!1)if(i.error.code==="NOT_FOUND")this.state.showNoDataMessage=!0,this.state.noDataMessage=i.error.message,this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}};else throw new Error(i.error.message);else this.state.boardData={homework:i.homework||{},attendance:{absent:((t=i.attendance)==null?void 0:t.absent)||[],late:((e=i.attendance)==null?void 0:e.late)||[],exclude:((n=i.attendance)==null?void 0:n.exclude)||[]}},this.state.synced=!0,this.state.showNoDataMessage=!1,this.$message.success("下载成功","数据已更新")}catch(i){this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}},this.$message.error("下载失败",i.message)}finally{this.loading.download=!1}},async trySave(t=!1){if(t&&!this.canAutoSave)return this.shouldShowBlockedMessage&&this.showMessage("需要手动保存","已禁止自动保存非当天数据","warning"),!1;if(!t&&this.needConfirmSave)try{await this.showConfirmDialog()}catch{return!1}try{return await this.uploadData(),!0}catch(e){return this.$message.error("保存失败",e.message||"请重试"),!1}},async handleClose(){var n;if(!this.currentEditSubject)return;const t=this.state.textarea.trim(),e=((n=this.state.boardData.homework[this.currentEditSubject])==null?void 0:n.content)||"";t!==e.trim()&&(this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0)),this.state.dialogVisible=!1},async uploadData(){if(!this.loading.upload)try{this.loading.upload=!0;const t=await ue.saveData("classworks-data-"+this.state.dateString,this.state.boardData);if(t.success==!1)throw new Error(t.error.message);this.state.synced=!0,this.$message.success(t.message||"保存成功")}finally{this.loading.upload=!1}},async loadConfig(){try{try{const t=await ue.loadData("classworks-list-main");t.success!=!1&&Array.isArray(t)&&(this.state.studentList=t.map(e=>e.name))}catch(t){console.warn("Failed to load student list from dedicated key, falling back to config",t)}await this.loadSubjects()}catch(t){console.error("加载配置失败:",t),this.$message.error("加载配置失败",t.message)}},async loadSubjects(){try{const t=await ue.loadData("classworks-config-subject");t&&Array.isArray(t)&&(this.state.availableSubjects=t)}catch(t){console.warn("Failed to load subject configuration:",t)}},showSyncMessage(){this.$message.success("数据已同步","数据已完成与服务器同步")},async openDialog(t){var e;if(this.refreshBeforeEdit)try{await this.downloadData()}catch(n){console.error("刷新数据失败:",n),this.$message.error("刷新数据失败,可能显示的不是最新数据")}this.currentEditSubject=t,this.state.boardData.homework[t]||(this.state.boardData.homework[t]={content:""}),this.state.dialogTitle=((e=this.state.availableSubjects.find(n=>n.name===t))==null?void 0:e.name)||t,this.state.textarea=this.state.boardData.homework[t].content,this.state.dialogVisible=!0},async handleHomeworkSave(t){this.currentEditSubject&&(this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0))},splitPoint(t){return t.split(` -`).filter(e=>e.trim())},setAttendanceArea(){this.state.attendanceDialog=!0},toggleStudentStatus(t){const e=this.state.studentList[t];this.state.boardData.attendance.absent.includes(e)?(this.state.boardData.attendance.absent=this.state.boardData.attendance.absent.filter(n=>n!==e),this.state.boardData.attendance.late.push(e)):this.state.boardData.attendance.late.includes(e)?(this.state.boardData.attendance.late=this.state.boardData.attendance.late.filter(n=>n!==e),this.state.boardData.attendance.exclude.push(e)):this.state.boardData.attendance.exclude.includes(e)?this.state.boardData.attendance.exclude=this.state.boardData.attendance.exclude.filter(n=>n!==e):this.state.boardData.attendance.absent.push(e),this.state.synced=!1,this.canAutoSave&&this.uploadData()},cleanstudentslist(){this.state.boardData.attendance.absent=[],this.state.boardData.attendance.late=[],this.state.boardData.attendance.exclude=[],this.state.synced=!1,this.canAutoSave&&this.uploadData()},zoom(t){t==="up"&&this.state.fontSize<100?this.state.fontSize+=2:t==="out"&&this.state.fontSize>16&&(this.state.fontSize-=2),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},ce("font.size",this.state.fontSize)},updateBackendUrl(){const t=x("server.provider"),e=x("server.classNumber");this.provider=t,this.state.classNumber=e},setupAutoRefresh(){const t=x("refresh.auto"),e=x("refresh.interval");this.state.refreshInterval&&clearInterval(this.state.refreshInterval),t&&(this.state.refreshInterval=setInterval(()=>{this.shouldSkipRefresh()||this.downloadData()},e*1e3))},shouldSkipRefresh(){return!!(this.state.dialogVisible||this.state.attendanceDialog||this.confirmDialog.show||this.state.datePickerDialog||this.loading.upload||this.loading.download||!this.state.synced)},updateSettings(){this.state.fontSize=x("font.size"),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},this.setupAutoRefresh(),this.updateBackendUrl()},async handleDateSelect(t){if(t)try{const e=this.ensureDate(t),n=this.formatDate(e);this.state.dateString!==n&&(this.state.dateString=n,this.state.selectedDate=n,this.state.selectedDateObj=e,this.state.isToday=n===this.formatDate(this.getToday()),this.$router.replace({query:{date:n}}).catch(()=>{}),await Promise.all([this.downloadData(),this.loadSubjects()]))}catch(e){console.error("Date processing error:",e),this.$message.error("日期处理错误","请重新选择日期")}},optimizeGridLayout(t){const e=Math.min(3,Math.floor(window.innerWidth/300));if(e<=1)return t;const n=Array.from({length:e},()=>({height:0,items:[]}));return t.forEach(i=>{const a=n.reduce((s,m,o)=>m.heighti.items).map((i,a)=>({...i,order:a}))},setAllPresent(){this.state.boardData.attendance={absent:[],late:[],exclude:[]},this.state.synced=!1},setAllAbsent(){this.state.boardData.attendance.absent=[...this.state.studentList],this.state.boardData.attendance.late=[],this.state.boardData.attendance.exclude=[],this.state.synced=!1},setAllLate(){this.state.boardData.attendance.absent=[],this.state.boardData.attendance.late=[...this.state.studentList],this.state.boardData.attendance.exclude=[],this.state.synced=!1},setAllExclude(){this.state.boardData.attendance.absent=[],this.state.boardData.attendance.late=[],this.state.boardData.attendance.exclude=[...this.state.studentList],this.state.synced=!1},isPresent(t){const e=this.state.studentList[t],{absent:n,late:i,exclude:a}=this.state.boardData.attendance;return!n.includes(e)&&!i.includes(e)&&!a.includes(e)},isAbsent(t){return this.state.boardData.attendance.absent.includes(this.state.studentList[t])},isLate(t){return this.state.boardData.attendance.late.includes(this.state.studentList[t])},isExclude(t){return this.state.boardData.attendance.exclude.includes(this.state.studentList[t])},setPresent(t){const e=this.state.studentList[t];this.state.boardData.attendance.absent=this.state.boardData.attendance.absent.filter(n=>n!==e),this.state.boardData.attendance.late=this.state.boardData.attendance.late.filter(n=>n!==e),this.state.boardData.attendance.exclude=this.state.boardData.attendance.exclude.filter(n=>n!==e),this.state.synced=!1},setAbsent(t){const e=this.state.studentList[t];this.setPresent(t),this.state.boardData.attendance.absent.push(e),this.state.synced=!1},setLate(t){const e=this.state.studentList[t];this.setPresent(t),this.state.boardData.attendance.late.push(e),this.state.synced=!1},setExclude(t){const e=this.state.studentList[t];this.setPresent(t),this.state.boardData.attendance.exclude.push(e),this.state.synced=!1},async saveAttendance(){try{await this.trySave(!0),this.state.attendanceDialog=!1}catch(t){console.error("保存出勤状态失败:",t),this.$message.error("保存失败","请重试")}},showMessage(t,e="",n="success"){this.$message[n](t,e)},updateSortedItemsCache(t,e){this._sortedItemsCache={key:t,value:e}},handleMouseMove(t){const e=t.currentTarget,n=e.getBoundingClientRect(),i=(t.clientX-n.left)/n.width*100,a=(t.clientY-n.top)/n.height*100;e.style.setProperty("--x",`${i}%`),e.style.setProperty("--y",`${a}%`)},handleTouchMove(t){if(t.touches.length===1){const e=t.touches[0],n=t.currentTarget,i=n.getBoundingClientRect(),a=(e.clientX-i.left)/i.width*100,s=(e.clientY-i.top)/i.height*100;n.style.setProperty("--x",`${a}%`),n.style.setProperty("--y",`${s}%`)}},showConfirmDialog(){return new Promise((t,e)=>{this.confirmDialog={show:!0,resolve:()=>{this.confirmDialog.show=!1,t()},reject:()=>{this.confirmDialog.show=!1,e(new Error("用户取消保存"))}}})},confirmSave(){this.confirmDialog.show=!1,this.confirmDialog.resolve&&this.confirmDialog.resolve(!0)},cancelSave(){this.confirmDialog.show=!1,this.confirmDialog.reject&&this.confirmDialog.reject(new Error("用户取消保存"))},async manualUpload(){return this.trySave(!1)},async handleAttendanceDialogClose(t){!t&&!this.state.synced&&await this.trySave(!0)},toggleFullscreen(){this.state.isFullscreen?this.exitFullscreen():this.enterFullscreen()},enterFullscreen(){const t=document.documentElement;t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullScreen?t.webkitRequestFullScreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen&&t.msRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},fullscreenChangeHandler(){this.state.isFullscreen=!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)},getStudentStatusColor(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)?"error":this.state.boardData.attendance.late.includes(e)?"warning":this.state.boardData.attendance.exclude.includes(e)?"grey":"success"},getStudentStatusVariant(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)||this.state.boardData.attendance.late.includes(e)||this.state.boardData.attendance.exclude.includes(e)?"tonal":"outlined"},getStudentStatusIcon(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)?"mdi-account-off":this.state.boardData.attendance.late.includes(e)?"mdi-clock-alert":this.state.boardData.attendance.exclude.includes(e)?"mdi-account-cancel":"mdi-account-check"},getStudentStatusText(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)?"请假":this.state.boardData.attendance.late.includes(e)?"迟到":this.state.boardData.attendance.exclude.includes(e)?"不参与":"到课"},toggleFilter(t){const e=this.attendanceFilter.indexOf(t);e===-1?this.attendanceFilter.push(t):this.attendanceFilter.splice(e,1)},openRandomPicker(){this.$refs.randomPicker&&this.$refs.randomPicker.open()},checkHashForRandomPicker(){window.location.hash==="#random-picker"&&this.$nextTick(()=>{console.log("打开随机点名"),window.location.hash="",this.openRandomPicker()})},parseUrlConfig(){try{const e=new URLSearchParams(window.location.search).get("config");if(!e)return!1;try{const n=atob(e),i=Uint8Array.from(n,y=>y.charCodeAt(0)),a=new TextDecoder().decode(i),s=JSON.parse(a);console.log("从URL读取配置:",s);const m=[],o={},u={};return this.processSpecialSettings(s,m,o),this.processStandardSettings(s,m,o,u),Object.keys(o).length===0?(console.log("URL配置与当前配置相同,无需应用"),!1):new Promise(y=>{this.urlConfigDialog={show:!0,config:s,changes:m,validSettings:o,icons:u,confirmHandler:()=>{this.urlConfigDialog.show=!1,this.applyUrlConfig(o),y(!0)},cancelHandler:()=>{this.urlConfigDialog.show=!1,y(!1)}}})}catch(n){return console.error("解析URL配置错误:",n),this.$message.error("URL配置错误","无法解析配置数据"),!1}}catch(t){return console.error("处理URL配置错误:",t),!1}},processSpecialSettings(t,e,n){var i,a;if(t.classNumber!==void 0){const s=x("server.classNumber");t.classNumber!==s&&(e.push({key:"server.classNumber",name:"班级",oldValue:s,newValue:t.classNumber,description:((i=de["server.classNumber"])==null?void 0:i.description)||"班级编号",icon:((a=de["server.classNumber"])==null?void 0:a.icon)||"mdi-account-group"}),n["server.classNumber"]=t.classNumber)}t.date!==void 0&&t.date!==this.state.dateString&&(e.push({key:"date",name:"日期",oldValue:this.state.dateString,newValue:t.date,description:"查看的日期",icon:"mdi-calendar"}),n.date=t.date),t.subjects&&Array.isArray(t.subjects)&&(e.push({key:"subjects",name:"科目列表",oldValue:`${this.state.availableSubjects.length}个科目`,newValue:`${t.subjects.length}个科目`,description:"可用科目列表",icon:"mdi-notebook"}),n.subjects=t.subjects)},processStandardSettings(t,e,n,i){Object.entries(t).forEach(([a,s])=>{if(["classNumber","date","subjects"].includes(a))return;let m=a,o=de[a];if(!o&&!a.includes(".")){const u=["server.","display.","theme.","edit.","refresh.","font.","randomPicker."];for(const y of u){const g=`${y}${a}`;if(de[g]){m=g,o=de[g];break}}}if(o){let u=this.convertValueToCorrectType(s,o.type);if(o.validate&&!o.validate(u)){console.warn(`URL配置项 ${m} 的值无效: ${s}`);return}const y=x(m);u!==y&&(e.push({key:m,name:this.getSettingDisplayName(m),oldValue:this.formatSettingValue(y),newValue:this.formatSettingValue(u),description:o.description||m,icon:o.icon||"mdi-cog"}),n[m]=u,i[m]=o.icon||"mdi-cog")}else e.push({key:a,name:this.getSettingDisplayName(a),oldValue:"未知",newValue:this.formatSettingValue(s),description:"自定义配置项",icon:"mdi-cog-outline"}),n[a]=s,i[a]="mdi-cog-outline"})},convertValueToCorrectType(t,e){return e==="boolean"?!!t:e==="number"?Number(t):String(t)},formatSettingValue(t){return typeof t=="boolean"?t?"开启":"关闭":t===""||t===null||t===void 0?"空":t.toString()},getSettingDisplayName(t){const e=t.split("."),n=e[e.length-1];return{provider:"数据提供方",domain:"服务器域名",classNumber:"班级编号",emptySubjectDisplay:"空科目显示方式",dynamicSort:"动态排序",showRandomButton:"随机按钮",showFullscreenButton:"全屏按钮",cardHoverEffect:"卡片悬浮效果",enhancedTouchMode:"增强触摸模式",showAntiScreenBurnCard:"防烧屏卡片",mode:"主题模式",size:"字体大小",autoSave:"自动保存",blockNonTodayAutoSave:"禁止自动保存非当日",refreshBeforeEdit:"编辑前刷新",confirmNonTodaySave:"非当日保存确认",auto:"自动刷新",interval:"刷新间隔"}[n]||n},safeBase64Decode(t){try{return Wt.decode(t)}catch(e){throw console.error("Base64解码错误:",e),new Error("无法解码配置数据")}},applyUrlConfig(t){for(const[e,n]of Object.entries(t)){if(e==="date"){this.handleDateSelect(n);continue}if(e==="subjects"){this.state.availableSubjects=n;continue}ce(e,n),e==="server.classNumber"&&(this.state.classNumber=n)}return this.updateBackendUrl(),this.$message.success("URL配置已应用","已从URL加载配置"),!0},navigateDay(t){const e=new Date(this.state.selectedDateObj);e.setDate(e.getDate()+t),this.handleDateSelect(e)}}},Xa={class:"d-flex"},Za={ref:"gridContainer",class:"grid-masonry"},Qa={class:"empty-subjects mt-4"},$a={key:1,class:"empty-subjects-grid"},en={key:0},tn={style:{"white-space":"nowrap"}},an={key:0},nn={style:{"white-space":"nowrap"}},sn={key:0},ln={style:{"white-space":"nowrap"}},rn={class:"d-flex flex-wrap mt-2 gap-1"},on={class:"d-flex flex-wrap mb-4 gap-2"},dn={class:"flex-grow-1"},un={class:"d-flex align-center"},cn={class:"text-subtitle-1"},mn={class:"attendance-actions"},hn={class:"text-subtitle-1"},fn={class:"text-grey-darken-1"},vn={class:"text-primary font-weight-medium"};function gn(t,e,n,i,a,s){const m=Xe,o=It("snap"),u=rt,y=Ze,g=it,D=$e,_=Qe;return f(),p(A,null,[l(Zt,{class:"no-select"},{append:r(()=>[l(m),e[18]||(e[18]=h()),l(k,{icon:"mdi-bell",variant:"text",badge:s.unreadCount||void 0,"badge-color":s.unreadCount?"error":void 0,onClick:e[0]||(e[0]=d=>t.$refs.messageLog.drawer=!0)},null,8,["badge","badge-color"]),l(k,{icon:"mdi-cog",variant:"text",onClick:e[1]||(e[1]=d=>t.$router.push("/settings"))})]),default:r(()=>[l(Xt,null,{default:r(()=>[h(b(a.state.classNumber)+" - "+b(s.titleText),1)]),_:1}),l(ee)]),_:1}),c("div",Xa,[l(Qt,{class:"main-window flex-grow-1 no-select",fluid:""},{default:r(()=>[c("div",Za,[l(xe,{name:"grid"},{default:r(()=>[(f(!0),p(A,null,N(s.sortedItems,d=>(f(),p("div",{key:d.key,class:"grid-item",style:he({"grid-row-end":`span ${d.rowSpan}`,order:d.order})},[l(R,{border:"",height:"100%",class:"glow-track",onClick:v=>!s.isEditingDisabled&&s.openDialog(d.key),onMousemove:s.handleMouseMove,onTouchmove:s.handleTouchMove},{default:r(()=>[l(G,null,{default:r(()=>[h(b(d.name),1)]),_:2},1024),l(I,{style:he(a.state.contentStyle)},{default:r(()=>[l(Ne,null,{default:r(()=>[(f(!0),p(A,null,N(s.splitPoint(d.content),v=>(f(),P(Be,{key:v},{default:r(()=>[h(b(v),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["onClick","onMousemove","onTouchmove"])],4))),128))]),_:1})],512),c("div",Qa,[s.emptySubjectDisplay==="button"?(f(),P(Se,{key:0,divided:"",variant:"outlined"},{default:r(()=>[(f(!0),p(A,null,N(s.unusedSubjects,d=>(f(),P(k,{key:d.name,disabled:s.isEditingDisabled,onClick:v=>s.openDialog(d.name)},{default:r(()=>[l(Y,{start:""},{default:r(()=>[...e[19]||(e[19]=[h(" mdi-plus ",-1)])]),_:1}),h(" "+b(d.name),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})):(f(),p("div",$a,[l(xe,{name:"v-list"},{default:r(()=>[(f(!0),p(A,null,N(s.unusedSubjects,d=>(f(),P(R,{key:d.name,border:"",class:"empty-subject-card",disabled:s.isEditingDisabled,onClick:v=>s.openDialog(d.name)},{default:r(()=>[l(G,{class:"text-subtitle-1"},{default:r(()=>[h(b(d.name),1)]),_:2},1024),l(I,{class:"text-center"},{default:r(()=>[l(Y,{size:"small",color:"grey"},{default:r(()=>[...e[20]||(e[20]=[h(" mdi-plus ",-1)])]),_:1}),e[21]||(e[21]=c("div",{class:"text-caption text-grey"},"点击添加作业",-1))]),_:1})]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]))]),a.state.synced?(f(),P(k,{key:1,color:"success",size:"large",onClick:s.showSyncMessage},{default:r(()=>[...e[23]||(e[23]=[h(" 同步完成 ",-1)])]),_:1},8,["onClick"])):(f(),P(k,{key:0,color:"error",size:"large",loading:a.loading.upload,class:"ml-2",onClick:s.manualUpload},{default:r(()=>[...e[22]||(e[22]=[h(" 上传 ",-1)])]),_:1},8,["loading","onClick"])),s.showRandomPickerButton?(f(),P(k,{key:2,color:"amber","prepend-icon":"mdi-account-question","append-icon":"mdi-dice-multiple",size:"large",class:"ml-2",onClick:s.openRandomPicker},{default:r(()=>[...e[24]||(e[24]=[h(" 随机点名 ",-1)])]),_:1},8,["onClick"])):F("",!0),s.showListCardButton?(f(),P(k,{key:3,color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",class:"ml-2",onClick:e[2]||(e[2]=d=>t.$router.push("/list"))},{default:r(()=>[...e[25]||(e[25]=[h(" 列表 ",-1)])]),_:1})):F("",!0),s.showFullscreenButton?(f(),P(k,{key:4,color:a.state.isFullscreen?"blue-grey":"blue","prepend-icon":a.state.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",size:"large",class:"ml-2",onClick:s.toggleFullscreen},{default:r(()=>[h(b(a.state.isFullscreen?"退出全屏":"全屏显示"),1)]),_:1},8,["color","prepend-icon","onClick"])):F("",!0),s.showAntiScreenBurnCard?(f(),P(R,{key:5,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:r(()=>[l(G,{class:"text-subtitle-1"},{default:r(()=>[l(Y,{start:"",icon:"mdi-shield-check",size:"small"}),e[26]||(e[26]=h(" 屏幕保护技术已启用 ",-1))]),_:1}),l(I,{class:"text-body-2"},{default:r(()=>[...e[27]||(e[27]=[c("p",null," 本应用采用独立自研的动态像素偏移技术(DPO™),有效防止LCD屏幕烧屏现象。 ",-1),c("p",{class:"text-caption text-grey"},[h(" *研究显示动态像素偏移技术可以修复屏幕坏点,起到保护屏幕的作用,数据来自实验室。"),c("a",{href:"https://patentscope.wipo.int/search/zh/detail.jsf?docId=CN232281523&_cid=P20-M8L0YX-67061-1",target:"_blank"},"专利号CN108648692 ")],-1),c("p",{class:"text-caption text-grey"}," *技术已自动适配您的设备,无需手动调整 ",-1)])]),_:1})]),_:1})):F("",!0)]),_:1}),a.state.studentList&&a.state.studentList.length?(f(),P(ke,{key:0,class:"attendance-area no-select",cols:"1",onClick:e[3]||(e[3]=d=>s.setAttendanceArea())},{default:r(()=>[e[38]||(e[38]=c("h1",null,"出勤",-1)),c("h2",null,[l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[...e[28]||(e[28]=[h(" 应到 ",-1)])]),_:1}),e[29]||(e[29]=h(": ",-1)),l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[h(b(a.state.studentList.length-a.state.boardData.attendance.exclude.length)+"人 ",1)]),_:1})]),c("h2",null,[l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[...e[30]||(e[30]=[h(" 实到 ",-1)])]),_:1}),e[31]||(e[31]=h(": ",-1)),l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[h(b(a.state.studentList.length-a.state.boardData.attendance.absent.length-a.state.boardData.attendance.late.length-a.state.boardData.attendance.exclude.length)+"人 ",1)]),_:1})]),c("h2",null,[l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[...e[32]||(e[32]=[h(" 请假 ",-1)])]),_:1}),e[33]||(e[33]=h(": ",-1)),l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[h(b(a.state.boardData.attendance.absent.length)+"人 ",1)]),_:1})]),(f(!0),p(A,null,N(a.state.boardData.attendance.absent,(d,v)=>(f(),p("h3",{class:"gray-text",key:"absent-"+v},[a.useDisplay().lgAndUp.value?(f(),p("span",en,b(`${v+1}. `),1)):F("",!0),c("span",tn,b(d),1)]))),128)),c("h2",null,[l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[...e[34]||(e[34]=[h("迟到",-1)])]),_:1}),e[35]||(e[35]=h(": ",-1)),l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[h(b(a.state.boardData.attendance.late.length)+"人 ",1)]),_:1})]),(f(!0),p(A,null,N(a.state.boardData.attendance.late,(d,v)=>(f(),p("h3",{class:"gray-text",key:"late-"+v},[a.useDisplay().lgAndUp.value?(f(),p("span",an,b(`${v+1}. `),1)):F("",!0),c("span",nn,b(d),1)]))),128)),c("h2",null,[l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[...e[36]||(e[36]=[h("不参与",-1)])]),_:1}),e[37]||(e[37]=h(": ",-1)),l(o,{style:{"white-space":"nowrap"}},{default:r(()=>[h(b(a.state.boardData.attendance.exclude.length)+"人 ",1)]),_:1})]),(f(!0),p(A,null,N(a.state.boardData.attendance.exclude,(d,v)=>(f(),p("h3",{class:"gray-text",key:"exclude-"+v},[a.useDisplay().lgAndUp.value?(f(),p("span",sn,b(`${v+1}. `),1)):F("",!0),c("span",ln,b(d),1)]))),128))]),_:1})):F("",!0)]),l(u,{modelValue:a.state.dialogVisible,"onUpdate:modelValue":e[4]||(e[4]=d=>a.state.dialogVisible=d),title:a.state.dialogTitle,"initial-content":a.state.textarea,"auto-save":s.autoSave,onSave:s.handleHomeworkSave},null,8,["modelValue","title","initial-content","auto-save","onSave"]),l(Ot,{modelValue:a.state.snackbar,"onUpdate:modelValue":e[5]||(e[5]=d=>a.state.snackbar=d),timeout:2e3},{default:r(()=>[h(b(a.state.snackbarText),1)]),_:1},8,["modelValue"]),l(me,{modelValue:a.state.attendanceDialog,"onUpdate:modelValue":[e[11]||(e[11]=d=>a.state.attendanceDialog=d),s.handleAttendanceDialogClose],"max-width":"900","fullscreen-breakpoint":"sm"},{default:r(()=>[l(R,null,{default:r(()=>[l(G,{class:"d-flex align-center"},{default:r(()=>[l(Y,{icon:"mdi-account-group",class:"mr-2"}),e[39]||(e[39]=h(" 出勤状态管理 ",-1)),l(ee),l(z,{color:"primary",size:"small",class:"ml-2"},{default:r(()=>[h(b(a.state.dateString),1)]),_:1})]),_:1}),l(I,null,{default:r(()=>[l(De,{class:"mb-4"},{default:r(()=>[l(ke,{cols:"12",md:"12"},{default:r(()=>[l(Ve,{modelValue:a.attendanceSearch,"onUpdate:modelValue":[e[6]||(e[6]=d=>a.attendanceSearch=d),t.handleSearchChange],"prepend-inner-icon":"mdi-magnify",label:"搜索学生",hint:"支持筛选姓氏,如输入'孙'可筛选所有姓孙的学生",variant:"outlined",clearable:""},null,8,["modelValue","onUpdate:modelValue"]),c("div",rn,[(f(!0),p(A,null,N(s.extractedSurnames,d=>(f(),P(k,{key:d.name,variant:a.attendanceSearch===d.name?"elevated":"text",color:a.attendanceSearch===d.name?"primary":"",onClick:v=>a.attendanceSearch=a.attendanceSearch===d.name?"":d.name},{default:r(()=>[h(b(d.name)+" ("+b(d.count)+") ",1)]),_:2},1032,["variant","color","onClick"]))),128))])]),_:1})]),_:1}),c("div",on,[c("div",null,[l(z,{value:"present",color:a.attendanceFilter.includes("present")?"success":"",variant:a.attendanceFilter.includes("present")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[7]||(e[7]=d=>s.toggleFilter("present")),"prepend-icon":"mdi-account-check","append-icon":a.attendanceFilter.includes("present")?"mdi-check":""},{default:r(()=>[...e[40]||(e[40]=[h(" 到课 ",-1)])]),_:1},8,["color","variant","append-icon"]),l(z,{value:"absent",color:a.attendanceFilter.includes("absent")?"error":"",variant:a.attendanceFilter.includes("absent")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[8]||(e[8]=d=>s.toggleFilter("absent")),"prepend-icon":"mdi-account-off","append-icon":a.attendanceFilter.includes("absent")?"mdi-check":""},{default:r(()=>[...e[41]||(e[41]=[h(" 请假 ",-1)])]),_:1},8,["color","variant","append-icon"]),l(z,{value:"late",color:a.attendanceFilter.includes("late")?"warning":"",variant:a.attendanceFilter.includes("late")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[9]||(e[9]=d=>s.toggleFilter("late")),"prepend-icon":"mdi-clock-alert","append-icon":a.attendanceFilter.includes("late")?"mdi-check":""},{default:r(()=>[...e[42]||(e[42]=[h(" 迟到 ",-1)])]),_:1},8,["color","variant","append-icon"]),l(z,{value:"exclude",color:a.attendanceFilter.includes("exclude")?"grey":"",variant:a.attendanceFilter.includes("exclude")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[10]||(e[10]=d=>s.toggleFilter("exclude")),"prepend-icon":"mdi-account-cancel","append-icon":a.attendanceFilter.includes("exclude")?"mdi-check":""},{default:r(()=>[...e[43]||(e[43]=[h(" 不参与 ",-1)])]),_:1},8,["color","variant","append-icon"])])]),l(De,null,{default:r(()=>[(f(!0),p(A,null,N(s.filteredStudents,d=>(f(),P(ke,{key:d,cols:"12",sm:"6",md:"6",lg:"4"},{default:r(()=>[l(R,{class:"student-card",border:""},{default:r(()=>[l(I,{class:"d-flex align-center pa-2"},{default:r(()=>[c("div",dn,[c("div",un,[l(Yt,{color:s.getStudentStatusColor(a.state.studentList.indexOf(d)),size:"24",class:"mr-2"},{default:r(()=>[l(Y,{size:"small"},{default:r(()=>[h(b(s.getStudentStatusIcon(a.state.studentList.indexOf(d))),1)]),_:2},1024)]),_:2},1032,["color"]),c("div",cn,b(d),1)])]),c("div",mn,[l(k,{color:s.isPresent(a.state.studentList.indexOf(d))?"success":"",icon:"mdi-account-check",size:"small",variant:"text",onClick:v=>s.setPresent(a.state.studentList.indexOf(d)),title:"设为到课"},null,8,["color","onClick"]),l(k,{color:s.isAbsent(a.state.studentList.indexOf(d))?"error":"",icon:"mdi-account-off",size:"small",variant:"text",onClick:v=>s.setAbsent(a.state.studentList.indexOf(d)),title:"设为请假"},null,8,["color","onClick"]),l(k,{color:s.isLate(a.state.studentList.indexOf(d))?"warning":"",icon:"mdi-clock-alert",size:"small",variant:"text",onClick:v=>s.setLate(a.state.studentList.indexOf(d)),title:"设为迟到"},null,8,["color","onClick"]),l(k,{color:s.isExclude(a.state.studentList.indexOf(d))?"grey":"",icon:"mdi-account-cancel",size:"small",variant:"text",onClick:v=>s.setExclude(a.state.studentList.indexOf(d)),title:"设为不参与"},null,8,["color","onClick"])])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),l(De,null,{default:r(()=>[l(ke,{cols:"12",md:"12"},{default:r(()=>[l(R,{variant:"tonal",color:"primary",class:"mb-4"},{default:r(()=>[l(I,null,{default:r(()=>[e[48]||(e[48]=c("div",{class:"text-subtitle-2 mb-2"},"批量操作",-1)),l(Se,null,{default:r(()=>[l(k,{color:"success","prepend-icon":"mdi-account-check",onClick:s.setAllPresent},{default:r(()=>[...e[44]||(e[44]=[h(" 全部到齐 ",-1)])]),_:1},8,["onClick"]),l(k,{color:"error","prepend-icon":"mdi-account-off",onClick:s.setAllAbsent},{default:r(()=>[...e[45]||(e[45]=[h(" 全部请假 ",-1)])]),_:1},8,["onClick"])]),_:1}),l(Se,null,{default:r(()=>[l(k,{color:"warning","prepend-icon":"mdi-clock-alert",onClick:s.setAllLate},{default:r(()=>[...e[46]||(e[46]=[h(" 全部迟到 ",-1)])]),_:1},8,["onClick"]),l(k,{color:"grey","prepend-icon":"mdi-account-cancel",onClick:s.setAllExclude},{default:r(()=>[...e[47]||(e[47]=[h(" 全部不参与 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),l(Ut),l(we,null,{default:r(()=>[l(ee),l(k,{color:"primary",onClick:s.saveAttendance},{default:r(()=>[l(Y,{start:""},{default:r(()=>[...e[49]||(e[49]=[h("mdi-content-save",-1)])]),_:1}),e[50]||(e[50]=h(" 保存 ",-1))]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"]),l(y,{ref:"messageLog"},null,512),l(g,{loading:a.loading.download,"unread-count":s.unreadCount,"selected-date":a.state.selectedDateObj,"is-today":s.isToday,onZoom:s.zoom,onRefresh:s.downloadData,onOpenMessages:e[12]||(e[12]=d=>t.$refs.messageLog.drawer=!0),onOpenSettings:e[13]||(e[13]=d=>t.$router.push("/settings")),onDateSelect:s.handleDateSelect,onPrevDay:e[14]||(e[14]=d=>s.navigateDay(-1)),onNextDay:e[15]||(e[15]=d=>s.navigateDay(1))},null,8,["loading","unread-count","selected-date","is-today","onZoom","onRefresh","onDateSelect"]),l(D),l(me,{modelValue:a.confirmDialog.show,"onUpdate:modelValue":e[16]||(e[16]=d=>a.confirmDialog.show=d),"max-width":"400"},{default:r(()=>[l(R,null,{default:r(()=>[l(G,{class:"text-h6"},{default:r(()=>[...e[51]||(e[51]=[h(" 确认保存 ",-1)])]),_:1}),l(I,null,{default:r(()=>[h(" 您正在修改 "+b(a.state.dateString)+" 的数据,确定要保存吗? ",1)]),_:1}),l(we,null,{default:r(()=>[l(ee),l(k,{color:"grey",variant:"text",onClick:a.confirmDialog.reject},{default:r(()=>[...e[52]||(e[52]=[h(" 取消 ",-1)])]),_:1},8,["onClick"]),l(k,{color:"primary",onClick:a.confirmDialog.resolve},{default:r(()=>[...e[53]||(e[53]=[h(" 确认保存 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(_,{ref:"randomPicker","student-list":a.state.studentList,attendance:a.state.boardData.attendance},null,8,["student-list","attendance"]),l(me,{modelValue:a.urlConfigDialog.show,"onUpdate:modelValue":e[17]||(e[17]=d=>a.urlConfigDialog.show=d),"max-width":"500"},{default:r(()=>[l(R,null,{default:r(()=>[l(G,{class:"text-h6"},{default:r(()=>[...e[54]||(e[54]=[h(" 确认应用URL配置 ",-1)])]),_:1}),l(I,null,{default:r(()=>[e[55]||(e[55]=c("p",null,"以下配置将应用于当前班级:",-1)),l(Ne,{density:"compact"},{default:r(()=>[(f(!0),p(A,null,N(a.urlConfigDialog.changes,d=>(f(),P(Be,{key:d.key},{prepend:r(()=>[l(Y,{icon:d.icon,size:"small",class:"mr-2"},null,8,["icon"])]),default:r(()=>[l(Ht,{class:"d-flex align-center"},{default:r(()=>[c("span",hn,b(d.name),1),l(Je,{activator:"parent",location:"top"},{default:r(()=>[h(b(d.description||d.key),1)]),_:2},1024)]),_:2},1024),l(qt,null,{default:r(()=>[c("span",fn,b(d.oldValue),1),l(Y,{icon:"mdi-arrow-right",size:"small",class:"mx-1"}),c("span",vn,b(d.newValue),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),l(we,null,{default:r(()=>[l(ee),l(k,{color:"grey",variant:"text",onClick:a.urlConfigDialog.cancelHandler},{default:r(()=>[...e[56]||(e[56]=[h(" 取消 ",-1)])]),_:1},8,["onClick"]),l(k,{color:"primary",onClick:a.urlConfigDialog.confirmHandler},{default:r(()=>[...e[57]||(e[57]=[h(" 确认应用 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),e[58]||(e[58]=c("br",null,null,-1)),e[59]||(e[59]=c("br",null,null,-1)),e[60]||(e[60]=c("br",null,null,-1)),e[61]||(e[61]=c("br",null,null,-1)),e[62]||(e[62]=c("br",null,null,-1)),e[63]||(e[63]=c("br",null,null,-1))],64)}const Pn=ve(Ja,[["render",gn]]);export{Pn as default}; diff --git a/assets/index-D5vdCSHD.js b/assets/index-D5vdCSHD.js new file mode 100644 index 0000000..4447baa --- /dev/null +++ b/assets/index-D5vdCSHD.js @@ -0,0 +1,11 @@ +import{_ as M,k as y,s as z,j as k,o as d,w as l,d as i,l as C,q as F,t as o,v as _,x as N,y as g,z as V,i as h,A as p,B as x,C as f,D as re,F as S,E as W,T as H,G as w,e as K,H as B,I as oe,J as U,K as P,R as A,L as de,M as j,N as ue,r as ce,n as Y,O as G,P as X,Q as me,S as he,U as fe,W as I,X as pe,Y as ge,Z as be,$ as E,a0 as ye,a1 as J}from"./index-B01HL2YE.js";import{V as q}from"./VTextField-DDMIr0_j.js";import{V as Q}from"./VTooltip-B8rVhLY6.js";import{V as L}from"./VChip-DGb8BoIB.js";import{V as ke}from"./VMenu-3aVeBIH6.js";import{V as ve}from"./VDatePicker-Jh1kvgOm.js";import{_ as $,a as ee,p as Z}from"./index-thJlQnLx.js";import{V as Se}from"./VTextarea-BaoCeePe.js";import{V as xe,a as we}from"./VAppBarTitle-CQLnBe80.js";import{V as De}from"./VContainer-yTxlmOws.js";import{V as R,a as O}from"./VRow-CmZZJImz.js";const Ce={name:"RandomPicker",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0,default:()=>({absent:[],late:[],exclude:[]})}},data(){return{dialog:!1,count:y("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:y,tempFilters:{excludeAbsent:y("randomPicker.excludeAbsent"),excludeLate:y("randomPicker.excludeLate"),excludeExcluded:y("randomPicker.excludeExcluded")},pickerMode:y("randomPicker.mode"),minNumber:y("randomPicker.minNumber"),maxNumber:y("randomPicker.maxNumber")}},computed:{absentCount(){return this.attendance.absent?this.attendance.absent.length:0},lateCount(){return this.attendance.late?this.attendance.late.length:0},excludedCount(){return this.attendance.exclude?this.attendance.exclude.length:0},numberModeStudents(){if(this.pickerMode!=="number")return[];const t=[];for(let e=this.minNumber;e<=this.maxNumber;e++)t.push(e.toString().padStart(2,"0")+"号");return t},filteredStudents(){return this.pickerMode==="number"?this.numberModeStudents:!this.studentList||!this.studentList.length?[]:this.studentList.filter(t=>!(this.tempFilters.excludeAbsent&&this.attendance.absent.includes(t)||this.tempFilters.excludeLate&&this.attendance.late.includes(t)||this.tempFilters.excludeExcluded&&this.attendance.exclude.includes(t)))},availableStudents(){return this.filteredStudents},maxAllowedCount(){return Math.min(10,this.filteredStudents.length)},remainingStudents(){return this.filteredStudents.filter(t=>!this.pickedStudents.includes(t))}},watch:{dialog(t){t?(this.count=y("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:y("randomPicker.excludeAbsent"),excludeLate:y("randomPicker.excludeLate"),excludeExcluded:y("randomPicker.excludeExcluded")}):this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},tempFilters:{handler(){this.count>this.maxAllowedCount&&(this.count=Math.max(1,this.maxAllowedCount))},deep:!0},pickerMode:{handler(t){z("randomPicker.mode",t)}},minNumber:{handler(t){t>this.maxNumber&&(this.minNumber=this.maxNumber),t<1&&(this.minNumber=1),z("randomPicker.minNumber",this.minNumber)}},maxNumber:{handler(t){t100&&(this.maxNumber=100),z("randomPicker.maxNumber",this.maxNumber)}}},methods:{open(){this.dialog=!0},incrementCount(){this.count1&&this.count--},startPicking(){this.filteredStudents.length!==0&&(this.isPickingStarted=!0,y("randomPicker.animation")?this.startAnimation():this.finishPicking())},startAnimation(){this.isAnimating=!0,this.animationStudents=this.filteredStudents.map((t,e)=>({id:`student-${e}`,name:t})),this.animateHighlight()},animateHighlight(){let e=0;const n=50,r=()=>{this.highlightedIndices=[];const s=[];for(let m=0;m{this.finishPicking()},500)};r()},finishPicking(){this.isAnimating=!1;const t=[...this.filteredStudents].sort(()=>.5-Math.random());this.pickedStudents=t.slice(0,this.count)},resetPicker(){this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},refreshSingleStudent(t){if(this.remainingStudents.length===0)return;const e=Math.floor(Math.random()*this.remainingStudents.length),n=this.remainingStudents[e];this.pickedStudents[t]=n;const r=document.querySelectorAll(".result-card");r[t]&&(r[t].classList.add("refresh-animation"),setTimeout(()=>{r[t].classList.remove("refresh-animation")},500))}}},Le={class:"d-flex justify-center align-center counter-container"},Ve={class:"count-display mx-8"},_e={class:"text-h2 font-weight-bold"},Fe={class:"mode-switch-container mt-6"},Te={key:0,class:"number-range-container mt-4"},Pe={class:"d-flex justify-center align-center gap-4"},Ae={class:"mt-4"},Ne={key:1,class:"mt-4 text-error"},Ee={class:"mt-4 text-caption"},je={class:"pa-2"},ze={key:0},Be={key:1},Me={key:2},Re={key:1,class:"d-flex flex-wrap justify-center gap-2 mt-4"},Ue={key:0,class:"animation-container"},Ie={class:"animation-wrapper"},Oe={key:1,class:"result-container"},He={class:"mt-8 d-flex justify-center"};function qe(t,e,n,r,s,a){return d(),k(B,{modelValue:s.dialog,"onUpdate:modelValue":e[8]||(e[8]=m=>s.dialog=m),"max-width":"600","fullscreen-breakpoint":"sm",persistent:""},{default:l(()=>[i(C,{class:"random-picker-card",rounded:"xl",border:""},{default:l(()=>[i(F,{class:"text-h5 d-flex align-center"},{default:l(()=>[i(_,{icon:"mdi-account-question",class:"mr-2"}),e[9]||(e[9]=o(" 随机点名 ",-1)),i(N),i(g,{icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=m=>s.dialog=!1)})]),_:1}),s.isPickingStarted?(d(),k(V,{key:1,class:"text-center py-6"},{default:l(()=>[s.isAnimating?(d(),p("div",Ue,[h("div",Ie,[i(H,{name:"shuffle",tag:"div",class:"shuffle-container"},{default:l(()=>[(d(!0),p(S,null,w(s.animationStudents,(m,c)=>(d(),p("div",{key:m.id,class:K(["student-item",{highlighted:s.highlightedIndices.includes(c)}])},f(m.name),3))),128))]),_:1})])])):(d(),p("div",Oe,[e[19]||(e[19]=h("div",{class:"text-h6 mb-4"},"抽取结果",-1)),(d(!0),p(S,null,w(s.pickedStudents,(m,c)=>(d(),k(C,{key:c,variant:"outlined",color:"primary",class:"mb-2 result-card"},{default:l(()=>[i(V,{class:"text-h4 text-center py-4 d-flex align-center justify-center"},{default:l(()=>[o(f(m)+" ",1),i(g,{icon:"mdi-refresh",variant:"text",size:"small",class:"ml-2 refresh-btn",onClick:b=>a.refreshSingleStudent(c),disabled:a.remainingStudents.length===0,title:a.remainingStudents.length===0?"没有更多可用学生":"重新抽取此学生"},null,8,["onClick","disabled","title"])]),_:2},1024)]),_:2},1024))),128)),h("div",He,[i(g,{color:"primary","prepend-icon":"mdi-refresh",onClick:a.resetPicker,size:"large",class:"mx-2"},{default:l(()=>[...e[17]||(e[17]=[o(" 重新抽取 ",-1)])]),_:1},8,["onClick"]),i(g,{color:"grey",variant:"outlined",onClick:e[7]||(e[7]=m=>s.dialog=!1),size:"large",class:"mx-2"},{default:l(()=>[...e[18]||(e[18]=[o(" 关闭 ",-1)])]),_:1})])]))]),_:1})):(d(),k(V,{key:0,class:"text-center py-6"},{default:l(()=>[e[16]||(e[16]=h("div",{class:"text-h6 mb-4"},"请选择抽取人数",-1)),h("div",Le,[i(g,{size:"x-large",icon:"mdi-minus",variant:"tonal",color:"primary",disabled:s.count<=1,onClick:a.decrementCount,class:"counter-btn"},null,8,["disabled","onClick"]),h("div",Ve,[h("span",_e,f(s.count),1),e[10]||(e[10]=h("span",{class:"text-subtitle-1 ml-2"},"人",-1))]),i(g,{size:"x-large",icon:"mdi-plus",variant:"tonal",color:"primary",disabled:s.count>=a.maxAllowedCount,onClick:a.incrementCount,class:"counter-btn"},null,8,["disabled","onClick"])]),h("div",Fe,[i(re,{modelValue:s.pickerMode,"onUpdate:modelValue":e[1]||(e[1]=m=>s.pickerMode=m),color:"primary",rounded:"pill",mandatory:"",class:"mode-toggle"},{default:l(()=>[i(g,{value:"name","prepend-icon":"mdi-account"},{default:l(()=>[...e[11]||(e[11]=[o("姓名模式",-1)])]),_:1}),i(g,{value:"number","prepend-icon":"mdi-numeric"},{default:l(()=>[...e[12]||(e[12]=[o("学号模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),s.pickerMode==="number"?(d(),p("div",Te,[e[14]||(e[14]=h("div",{class:"text-subtitle-1 mb-2"},"学号范围设置",-1)),h("div",Pe,[i(q,{modelValue:s.minNumber,"onUpdate:modelValue":e[2]||(e[2]=m=>s.minNumber=m),modelModifiers:{number:!0},label:"最小值",type:"number",min:"1",max:"100","hide-details":"",class:"number-input",density:"compact"},null,8,["modelValue"]),e[13]||(e[13]=h("span",{class:"mx-2"},"至",-1)),i(q,{modelValue:s.maxNumber,"onUpdate:modelValue":e[3]||(e[3]=m=>s.maxNumber=m),modelModifiers:{number:!0},label:"最大值",type:"number",min:"1",max:"100","hide-details":"",class:"number-input",density:"compact"},null,8,["modelValue"])])])):x("",!0),h("div",Ae,[i(g,{size:"x-large",color:"primary","prepend-icon":"mdi-dice-multiple",onClick:a.startPicking,disabled:a.filteredStudents.length===0,class:"start-btn"},{default:l(()=>[...e[15]||(e[15]=[o(" 开始抽取 ",-1)])]),_:1},8,["onClick","disabled"])]),a.filteredStudents.length===0?(d(),p("div",Ne,[s.pickerMode==="name"?(d(),p(S,{key:0},[o(" 没有可抽取的学生,请调整过滤选项 ")],64)):(d(),p(S,{key:1},[o(" 请设置有效的学号范围 ")],64))])):x("",!0),h("div",Ee,[o(" 当前可抽取学生: "+f(a.filteredStudents.length)+"人 ",1),s.pickerMode==="name"?(d(),k(Q,{key:0,location:"bottom"},{activator:l(({props:m})=>[i(_,W(m,{icon:"mdi-information-outline",size:"small",class:"ml-1"}),null,16)]),default:l(()=>[h("div",je,[s.tempFilters.excludeAbsent?(d(),p("div",ze," • 已排除请假学生 ("+f(a.absentCount)+"人) ",1)):x("",!0),s.tempFilters.excludeLate?(d(),p("div",Be," • 已排除迟到学生 ("+f(a.lateCount)+"人) ",1)):x("",!0),s.tempFilters.excludeExcluded?(d(),p("div",Me," • 已排除不参与学生 ("+f(a.excludedCount)+"人) ",1)):x("",!0)])]),_:1})):x("",!0),s.pickerMode==="name"?(d(),p("div",Re,[i(L,{color:s.tempFilters.excludeLate?"warning":"default",variant:s.tempFilters.excludeLate?"elevated":"text",onClick:e[4]||(e[4]=m=>s.tempFilters.excludeLate=!s.tempFilters.excludeLate),"prepend-icon":"mdi-clock-alert",class:"filter-chip"},{default:l(()=>[o(f(s.tempFilters.excludeLate?"排除":"包含")+"迟到学生 ",1)]),_:1},8,["color","variant"]),i(L,{color:s.tempFilters.excludeAbsent?"error":"default",variant:s.tempFilters.excludeAbsent?"elevated":"text",onClick:e[5]||(e[5]=m=>s.tempFilters.excludeAbsent=!s.tempFilters.excludeAbsent),"prepend-icon":"mdi-account-off",class:"filter-chip"},{default:l(()=>[o(f(s.tempFilters.excludeAbsent?"排除":"包含")+"请假学生 ",1)]),_:1},8,["color","variant"]),i(L,{color:s.tempFilters.excludeExcluded?"grey":"default",variant:s.tempFilters.excludeExcluded?"elevated":"text",onClick:e[6]||(e[6]=m=>s.tempFilters.excludeExcluded=!s.tempFilters.excludeExcluded),"prepend-icon":"mdi-account-cancel",class:"filter-chip"},{default:l(()=>[o(f(s.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):x("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const te=M(Ce,[["render",qe],["__scopeId","data-v-fd7ac224"]]),Ke={name:"FloatingICP",data(){return{isHovered:!1}}};function Ye(t,e,n,r,s,a){return d(),k(oe,null,{default:l(()=>[i(C,{class:"floating-icp",elevation:"2",rounded:"pill",variant:"tonal",color:"surface-variant",onMouseenter:e[0]||(e[0]=m=>s.isHovered=!0),onMouseleave:e[1]||(e[1]=m=>s.isHovered=!1)},{default:l(()=>[i(g,{variant:"text",class:"icp-button",href:"https://beian.miit.gov.cn/",target:"_blank",rel:"noopener noreferrer"},{default:l(()=>[i(_,{icon:"mdi-shield-check",size:"small",class:K([{"rotate-icon":s.isHovered},"mr-1"])},null,8,["class"]),e[2]||(e[2]=h("span",{class:"text-caption"},"浙ICP备2024068645号",-1))]),_:1})]),_:1})]),_:1})}const se=M(Ke,[["render",Ye],["__scopeId","data-v-890f3fb8"]]),Ge={name:"FloatingToolbar",props:{loading:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},selectedDate:{type:[String,Date],required:!0},isToday:{type:Boolean,required:!0}},data(){return{isExpanded:!1}},methods:{handleDateSelect(t){this.$emit("date-select",t)}}};function Xe(t,e,n,r,s,a){return d(),k(de,null,{default:l(()=>[i(C,{class:K(["floating-toolbar",{"toolbar-expanded":s.isExpanded}]),elevation:"4",rounded:"xl"},{default:l(()=>[i(U,{variant:"text",class:"toolbar-buttons"},{default:l(()=>[P(i(g,{icon:"mdi-chevron-left",variant:"text",onClick:e[0]||(e[0]=m=>t.$emit("prev-day")),title:"查看昨天",class:"toolbar-btn"},null,512),[[A]]),P(i(g,{icon:"mdi-format-font-size-decrease",variant:"text",onClick:e[1]||(e[1]=m=>t.$emit("zoom","out")),title:"缩小字体",class:"toolbar-btn"},null,512),[[A]]),P(i(g,{icon:"mdi-format-font-size-increase",variant:"text",onClick:e[2]||(e[2]=m=>t.$emit("zoom","up")),title:"放大字体",class:"toolbar-btn"},null,512),[[A]]),i(ke,{location:"top","close-on-content-click":!1},{activator:l(({props:m})=>[P(i(g,W({icon:"mdi-calendar",variant:"text"},m,{title:"选择日期",class:"toolbar-btn"}),null,16),[[A]])]),default:l(()=>[i(C,{border:"",class:"date-picker-card"},{default:l(()=>[i(ve,{"model-value":n.selectedDate,color:"primary","onUpdate:modelValue":a.handleDateSelect},null,8,["model-value","onUpdate:modelValue"])]),_:1})]),_:1}),P(i(g,{icon:"mdi-refresh",variant:"text",loading:n.loading,onClick:e[3]||(e[3]=m=>t.$emit("refresh")),title:"刷新数据",class:"toolbar-btn"},null,8,["loading"]),[[A]]),n.isToday?x("",!0):P((d(),k(g,{key:0,icon:"mdi-chevron-right",variant:"text",onClick:e[4]||(e[4]=m=>t.$emit("next-day")),title:"查看明天",class:"toolbar-btn"},null,512)),[[A]])]),_:1})]),_:1},8,["class"])]),_:1})}const ne=M(Ge,[["render",Xe],["__scopeId","data-v-4c0541bf"]]),Je={name:"HomeworkEditDialog",props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},initialContent:{type:String,default:""},autoSave:{type:Boolean,default:!1}},emits:["update:modelValue","save"],data(){return{content:"",templateData:null,currentLine:"",currentLineStart:0,currentLineEnd:0,quickTexts:["课","题","T","P"]}},computed:{dialogVisible:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},subject(){return this.title},hasTemplates(){var t,e;return!!((e=(t=this.templateData)==null?void 0:t.actions)!=null&&e.length||this.subjectBooks||this.commonBooks)},subjectBooks(){var t,e,n;return!this.subject||!((n=(e=(t=this.templateData)==null?void 0:t.subjects)==null?void 0:e[this.subject])!=null&&n.books)?null:this.templateData.subjects[this.subject].books},commonBooks(){var t,e;return(e=(t=this.templateData)==null?void 0:t.commonSubject)!=null&&e.books?this.templateData.commonSubject.books:null}},watch:{async modelValue(t){if(t){this.content=this.initialContent;try{this.templateData=await j.loadData("classworks-config-homework-template")}catch(e){console.error("Failed to load homework templates:",e),this.templateData=null}this.$nextTick(()=>{this.$refs.inputRef&&(this.$refs.inputRef.focus(),this.updateCurrentLine())})}}},methods:{handleClose(){const t=this.content.trim();t!==this.initialContent.trim()&&this.$emit("save",t),this.dialogVisible=!1},updateCurrentLine(){const e=this.$refs.inputRef.$el.querySelector("textarea").selectionStart,n=this.content;let r=0;const s=n.split(` +`);for(let a=0;ar.includes(t));n!==-1&&(e.splice(n,1),this.content=e.join(` +`))}else{const e=this.content.trim().length>0;this.content=(e?this.content.trim()+` +`:"")+t}this.$nextTick(()=>{const e=this.$refs.inputRef.$el.querySelector("textarea");if(e.focus(),!this.isBookSelected(t)){const n=this.content.split(` +`);let r=0;for(let s=0;s0?" ":"")+e+this.content.slice(r)}this.$nextTick(()=>{const n=this.$refs.inputRef.$el.querySelector("textarea");n.focus();const r=this.content.split(` +`);let s=0;for(let a=0;athis.currentLineStart));a++)s+=1;n.setSelectionRange(s,s),this.updateCurrentLine()})},insertTemplate(t){const e=this.$refs.inputRef.$el.querySelector("textarea"),n=e.selectionStart,r=e.selectionEnd,s=n>0&&this.content[n-1]!==" "&&this.content[n-1]!==` +`;this.content=this.content.slice(0,n)+(s?" ":"")+t+this.content.slice(r),this.$nextTick(()=>{e.focus();const a=n+t.length+(s?1:0);e.setSelectionRange(a,a),this.updateCurrentLine()})},insertAtCursor(t){if(!t)return;const e=this.$refs.inputRef.$el.querySelector("textarea"),n=e.selectionStart,r=e.selectionEnd;this.content=this.content.slice(0,n)+t+this.content.slice(r),this.$nextTick(()=>{e.focus();const s=n+t.length;e.setSelectionRange(s,s),this.updateCurrentLine()})},deleteLastChar(){const t=this.$refs.inputRef.$el.querySelector("textarea"),e=t.selectionStart,n=t.selectionEnd;e===n?e>0&&(this.content=this.content.slice(0,e-1)+this.content.slice(e),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e-1,e-1),this.updateCurrentLine()})):(this.content=this.content.slice(0,e)+this.content.slice(n),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e,e),this.updateCurrentLine()}))}}},Ze={class:"d-flex"},We={class:"flex-grow-1"},Qe={key:0,class:"mt-4"},$e={key:0,class:"template-buttons"},et={key:0,class:"pages-container mt-2"},tt={key:0,class:"pages-container mt-2"},st={key:2,class:"button-group"},nt={key:1,class:"text-center text-body-2 text-disabled mt-2"},at={class:"quick-tools ml-4",style:{"min-width":"180px"}},it={class:"numeric-keypad mb-4"},lt={class:"keypad-row"},rt={class:"keypad-row"},ot={class:"keypad-row"},dt={class:"keypad-row"},ut={class:"keypad-row"},ct={class:"d-flex flex-wrap gap-1"};function mt(t,e,n,r,s,a){return d(),k(B,{modelValue:a.dialogVisible,"onUpdate:modelValue":e[5]||(e[5]=m=>a.dialogVisible=m),width:"auto","max-width":"900","onClick:outside":a.handleClose},{default:l(()=>[i(C,{border:""},{default:l(()=>[i(F,null,{default:l(()=>[o(f(n.title),1)]),_:1}),i(ue,null,{default:l(()=>[o(f(n.autoSave?"喵?喵呜!":"写完后点击上传谢谢喵"),1)]),_:1}),i(V,null,{default:l(()=>{var m;return[h("div",Ze,[h("div",We,[i(Se,{ref:"inputRef",modelValue:s.content,"onUpdate:modelValue":e[0]||(e[0]=c=>s.content=c),"auto-grow":"",placeholder:"使用换行表示分条",rows:"5",onClick:a.updateCurrentLine,onKeyup:a.updateCurrentLine,width:"480"},null,8,["modelValue","onClick","onKeyup"]),s.templateData?(d(),p("div",Qe,[a.hasTemplates?(d(),p("div",$e,[a.subjectBooks?(d(!0),p(S,{key:0},w(a.subjectBooks,(c,b)=>(d(),p("div",{key:b,class:"button-group"},[i(L,{class:"ma-1 book-chip",color:a.isBookSelected(b)?"success":"default",variant:a.isBookSelected(b)?"elevated":"flat",onClick:v=>a.handleBookClick(b)},{default:l(()=>[o(f(b),1)]),_:2},1032,["color","variant","onClick"]),a.isBookSelected(b)?(d(),p("div",et,[(d(!0),p(S,null,w(c,v=>(d(),k(L,{key:v,class:"ma-1",color:a.isPageSelected(b,v)?"info":"default",variant:a.isPageSelected(b,v)?"elevated":"flat",onClick:T=>a.handlePageClick(b,v)},{default:l(()=>[o(f(v),1)]),_:2},1032,["color","variant","onClick"]))),128))])):x("",!0)]))),128)):x("",!0),a.commonBooks?(d(!0),p(S,{key:1},w(a.commonBooks,(c,b)=>(d(),p("div",{key:b,class:"button-group"},[i(L,{class:"ma-1 book-chip",color:a.isBookSelected(b)?"success":"default",variant:a.isBookSelected(b)?"elevated":"flat",onClick:v=>a.handleBookClick(b)},{default:l(()=>[o(f(b),1)]),_:2},1032,["color","variant","onClick"]),a.isBookSelected(b)?(d(),p("div",tt,[(d(!0),p(S,null,w(c,v=>(d(),k(L,{key:v,class:"ma-1",color:a.isPageSelected(b,v)?"info":"default",variant:a.isPageSelected(b,v)?"elevated":"flat",onClick:T=>a.handlePageClick(b,v)},{default:l(()=>[o(f(v),1)]),_:2},1032,["color","variant","onClick"]))),128))])):x("",!0)]))),128)):x("",!0),(m=s.templateData.actions)!=null&&m.length?(d(),p("div",st,[(d(!0),p(S,null,w(s.templateData.actions,c=>(d(),k(L,{key:c,class:"ma-1",color:"primary",variant:"flat",onClick:b=>a.insertTemplate(c)},{default:l(()=>[o(f(c),1)]),_:2},1032,["onClick"]))),128))])):x("",!0)])):(d(),p("div",nt," 暂无可用的模板 "))])):x("",!0)]),h("div",at,[h("div",it,[h("div",lt,[(d(),p(S,null,w(3,c=>i(g,{key:c,size:"small",variant:"tonal",class:"keypad-btn",onClick:b=>a.insertAtCursor(String(c))},{default:l(()=>[o(f(c),1)]),_:2},1032,["onClick"])),64))]),h("div",rt,[(d(),p(S,null,w(3,c=>i(g,{key:c,size:"small",variant:"tonal",class:"keypad-btn",onClick:b=>a.insertAtCursor(String(c+3))},{default:l(()=>[o(f(c+3),1)]),_:2},1032,["onClick"])),64))]),h("div",ot,[(d(),p(S,null,w(3,c=>i(g,{key:c,size:"small",variant:"tonal",class:"keypad-btn",onClick:b=>a.insertAtCursor(String(c+6))},{default:l(()=>[o(f(c+6),1)]),_:2},1032,["onClick"])),64))]),h("div",dt,[i(g,{size:"small",variant:"tonal",class:"keypad-btn",onClick:e[1]||(e[1]=c=>a.insertAtCursor("-"))},{default:l(()=>[...e[6]||(e[6]=[o(" - ",-1)])]),_:1}),i(g,{size:"small",variant:"tonal",class:"keypad-btn",onClick:e[2]||(e[2]=c=>a.insertAtCursor("0"))},{default:l(()=>[...e[7]||(e[7]=[o(" 0 ",-1)])]),_:1}),i(g,{size:"small",variant:"tonal",class:"keypad-btn",color:"error",onClick:a.deleteLastChar},{default:l(()=>[...e[8]||(e[8]=[o(" ← ",-1)])]),_:1},8,["onClick"])]),h("div",ut,[i(g,{size:"small",variant:"tonal",class:"keypad-btn space-btn",onClick:e[3]||(e[3]=c=>a.insertAtCursor(" "))},{default:l(()=>[...e[9]||(e[9]=[o(" 空格 ",-1)])]),_:1}),i(g,{size:"small",variant:"tonal",class:"keypad-btn space-btn",onClick:e[4]||(e[4]=c=>a.insertAtCursor(` +`))},{default:l(()=>[...e[10]||(e[10]=[o(" 换行 ",-1)])]),_:1})])]),h("div",ct,[(d(!0),p(S,null,w(s.quickTexts,c=>(d(),k(g,{key:c,size:"small",variant:"flat",onClick:b=>a.insertAtCursor(c)},{default:l(()=>[o(f(c),1)]),_:2},1032,["onClick"]))),128))])])])]}),_:1})]),_:1})]),_:1},8,["modelValue","onClick:outside"])}const ae=M(Je,[["render",mt],["__scopeId","data-v-632e8bbf"]]);function ht(t,e){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{t.apply(this,r)},e)}}function ft(t,e){let n=null,r=0;return function(...s){const a=Date.now();a-r{r=a,t.apply(this,s)},e)):(r=a,t.apply(this,s))}}const pt={name:"Classworks 作业板",components:{MessageLog:ee,RandomPicker:te,NamespaceAccess:$,FloatingToolbar:ne,FloatingICP:se,HomeworkEditDialog:ae},data(){const t=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}];return{dataKey:"",provider:"",useDisplay:J,state:{classNumber:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${y("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:y("font.size"),datePickerDialog:!1,selectedDate:new Date().toISOString().split("T")[0].replace(/-/g,""),selectedDateObj:new Date,refreshInterval:null,showNoDataMessage:!1,noDataMessage:"",isToday:!1,attendanceDialog:!1,availableSubjects:t,isFullscreen:!1},loading:{download:!1,upload:!1,students:!1},debouncedUpload:null,throttledReflow:null,sortedItemsCache:{key:"",value:[]},confirmDialog:{show:!1,resolve:null,reject:null},attendanceSearch:"",attendanceFilter:[],urlConfigDialog:{show:!1,config:null,changes:[],validSettings:{},confirmHandler:null,cancelHandler:null,icons:{}}}},computed:{isMobile(){return J().mobile.value},titleText(){const t=this.getToday(),e=new Date(t);e.setDate(e.getDate()-1);const n=this.state.dateString,r=this.formatDate(t),s=this.formatDate(e);return n===r?"今天的作业":n===s?"昨天的作业":`${n}的作业`},sortedItems(){const t=`${JSON.stringify(this.state.boardData.homework)}_${this.subjectOrder.join()}_${this.dynamicSort}`;if(this.sortedItemsCache.key===t)return this.sortedItemsCache.value;const e=Object.entries(this.state.boardData.homework).filter(([,r])=>{var s;return(s=r.content)==null?void 0:s.trim()}).map(([r,s])=>{var a;return{key:r,name:((a=this.state.availableSubjects.find(m=>m.name===r))==null?void 0:a.name)||r,content:s.content,order:this.subjectOrder.indexOf(r),rowSpan:Math.ceil((s.content.split(` +`).filter(m=>m.trim()).length+1)*.8)}}),n=this.dynamicSort?this.optimizeGridLayout(e):e.sort((r,s)=>r.order-s.order);return this.updateSortedItemsCache(t,n),n},unusedSubjects(){const t=Object.keys(this.state.boardData.homework).filter(e=>{var n;return(n=this.state.boardData.homework[e].content)==null?void 0:n.trim()});return this.state.availableSubjects.filter(e=>!t.includes(e.name)).sort((e,n)=>e.order-n.order)},emptySubjects(){return this.emptySubjectDisplay!=="button"?[]:this.unusedSubjects},autoSave(){return y("edit.autoSave")},blockNonTodayAutoSave(){return y("edit.blockNonTodayAutoSave")},isToday(){const t=(()=>{const e=new Date,n=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${n}${r}${s}`})();return this.state.dateString===t},canAutoSave(){return this.autoSave&&(!this.blockNonTodayAutoSave||this.isToday)},needConfirmSave(){return!this.isToday&&this.confirmNonTodaySave},shouldShowBlockedMessage(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},refreshBeforeEdit(){return y("edit.refreshBeforeEdit")},emptySubjectDisplay(){return y("display.emptySubjectDisplay")},dynamicSort(){return y("display.dynamicSort")},isEditingDisabled(){return this.state.uploadLoading||this.state.downloadLoading},unreadCount(){var t;return((t=this.$refs.messageLog)==null?void 0:t.unreadCount)||0},showRandomPickerButton(){return y("randomPicker.enabled")},showListCardButton(){return y("display.showListCard")},confirmNonTodaySave(){return y("edit.confirmNonTodaySave")},shouldShowSaveConfirm(){return!this.isToday&&this.confirmNonTodaySave},shouldBlockAutoSave(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},showFullscreenButton(){return y("display.showFullscreenButton")},showExamScheduleButton(){return y("display.showExamScheduleButton")},showAntiScreenBurnCard(){return y("display.showAntiScreenBurnCard")},filteredStudents(){let t=[...this.state.studentList];if(this.attendanceSearch){const e=this.attendanceSearch.toLowerCase();t=t.filter(n=>n.toLowerCase().includes(e))}return this.attendanceFilter&&this.attendanceFilter.length>0&&(t=t.filter(e=>{const n=this.state.studentList.indexOf(e);return!!(this.attendanceFilter.includes("present")&&this.isPresent(n)||this.attendanceFilter.includes("absent")&&this.isAbsent(n)||this.attendanceFilter.includes("late")&&this.isLate(n)||this.attendanceFilter.includes("exclude")&&this.isExclude(n))})),t},extractedSurnames(){if(!this.state.studentList||this.state.studentList.length===0)return[];const t=new Map;return this.state.studentList.forEach(e=>{if(e&&e.length>0){const n=e.charAt(0);t.has(n)?t.set(n,t.get(n)+1):t.set(n,1)}}),Array.from(t.entries()).map(([e,n])=>({name:e,count:n})).sort((e,n)=>{const r=Z(e.name,{toneType:"none",mode:"surname"}),s=Z(n.name,{toneType:"none",mode:"surname"});return r.localeCompare(s)})},subjectOrder(){return[...this.state.availableSubjects].sort((t,e)=>t.order-e.order).map(t=>t.name)}},watch:{homeworkData:{handler(){this.$nextTick(()=>{this.$refs.waterfall&&this.$refs.waterfall.reflow()})},deep:!0},"$vuetify.display.width":{handler(){this.throttledReflow()},deep:!0}},created(){this.debouncedUpload=ht(this.uploadData,2e3),this.throttledReflow=ft(()=>{this.$refs.gridContainer&&this.optimizeGridLayout(this.sortedItems)},200)},async mounted(){try{this.updateBackendUrl(),await this.initializeData(),this.setupAutoRefresh(),this.unwatchSettings=ye(()=>{this.updateSettings()}),document.addEventListener("fullscreenchange",this.fullscreenChangeHandler),document.addEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("MSFullscreenChange",this.fullscreenChangeHandler),this.checkHashForRandomPicker(),window.addEventListener("hashchange",this.checkHashForRandomPicker)}catch(t){console.error("初始化失败:",t),this.showError("初始化失败,请刷新页面重试")}},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings(),this.state.refreshInterval&&clearInterval(this.state.refreshInterval),document.removeEventListener("fullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("MSFullscreenChange",this.fullscreenChangeHandler),window.removeEventListener("hashchange",this.checkHashForRandomPicker)},methods:{ensureDate(t){if(t instanceof Date)return t;if(typeof t=="string"){const e=new Date(t);if(!isNaN(e.getTime()))return e}return new Date},formatDate(t){const e=this.ensureDate(t),n=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${n}${r}${s}`},getToday(){return new Date},async initializeData(){const t=await this.parseUrlConfig(),n=new URLSearchParams(window.location.search).get("date"),r=this.getToday();let s=r;if(n){if(/^\d{8}$/.test(n)){const a=n.substring(0,4),m=n.substring(4,6),c=n.substring(6,8);s=new Date(`${a}-${m}-${c}`)}else s=new Date(n);isNaN(s.getTime())&&(s=r)}if(this.state.dateString=this.formatDate(s),this.state.selectedDate=this.state.dateString,this.state.selectedDateObj=s,this.state.isToday=this.formatDate(s)===this.formatDate(r),!t){this.provider=y("server.provider");const a=y("server.classNumber");this.state.classNumber=a}await Promise.all([this.downloadData(),this.loadConfig()])},async downloadData(){var t,e,n;if(!this.loading.download)try{this.loading.download=!0;const r=await j.loadData("classworks-data-"+this.state.dateString);if(r.success==!1)if(r.error.code==="NOT_FOUND")this.state.showNoDataMessage=!0,this.state.noDataMessage=r.error.message,this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}};else throw new Error(r.error.message);else this.state.boardData={homework:r.homework||{},attendance:{absent:((t=r.attendance)==null?void 0:t.absent)||[],late:((e=r.attendance)==null?void 0:e.late)||[],exclude:((n=r.attendance)==null?void 0:n.exclude)||[]}},this.state.synced=!0,this.state.showNoDataMessage=!1,this.$message.success("下载成功","数据已更新")}catch(r){this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}},this.$message.error("下载失败",r.message)}finally{this.loading.download=!1}},async trySave(t=!1){if(t&&!this.canAutoSave)return this.shouldShowBlockedMessage&&this.showMessage("需要手动保存","已禁止自动保存非当天数据","warning"),!1;if(!t&&this.needConfirmSave)try{await this.showConfirmDialog()}catch{return!1}try{return await this.uploadData(),!0}catch(e){return this.$message.error("保存失败",e.message||"请重试"),!1}},async handleClose(){var n;if(!this.currentEditSubject)return;const t=this.state.textarea.trim(),e=((n=this.state.boardData.homework[this.currentEditSubject])==null?void 0:n.content)||"";t!==e.trim()&&(this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0)),this.state.dialogVisible=!1},async uploadData(){if(!this.loading.upload)try{this.loading.upload=!0;const t=await j.saveData("classworks-data-"+this.state.dateString,this.state.boardData);if(t.success==!1)throw new Error(t.error.message);this.state.synced=!0,this.$message.success(t.message||"保存成功")}finally{this.loading.upload=!1}},async loadConfig(){try{try{const t=await j.loadData("classworks-list-main");t.success!=!1&&Array.isArray(t)&&(this.state.studentList=t.map(e=>e.name))}catch(t){console.warn("Failed to load student list from dedicated key, falling back to config",t)}await this.loadSubjects()}catch(t){console.error("加载配置失败:",t),this.$message.error("加载配置失败",t.message)}},async loadSubjects(){try{const t=await j.loadData("classworks-config-subject");t&&Array.isArray(t)&&(this.state.availableSubjects=t)}catch(t){console.warn("Failed to load subject configuration:",t)}},showSyncMessage(){this.$message.success("数据已同步","数据已完成与服务器同步")},async openDialog(t){var e;if(this.refreshBeforeEdit)try{await this.downloadData()}catch(n){console.error("刷新数据失败:",n),this.$message.error("刷新数据失败,可能显示的不是最新数据")}this.currentEditSubject=t,this.state.boardData.homework[t]||(this.state.boardData.homework[t]={content:""}),this.state.dialogTitle=((e=this.state.availableSubjects.find(n=>n.name===t))==null?void 0:e.name)||t,this.state.textarea=this.state.boardData.homework[t].content,this.state.dialogVisible=!0},async handleHomeworkSave(t){this.currentEditSubject&&(this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0))},splitPoint(t){return t.split(` +`).filter(e=>e.trim())},setAttendanceArea(){this.state.attendanceDialog=!0},toggleStudentStatus(t){const e=this.state.studentList[t];this.state.boardData.attendance.absent.includes(e)?(this.state.boardData.attendance.absent=this.state.boardData.attendance.absent.filter(n=>n!==e),this.state.boardData.attendance.late.push(e)):this.state.boardData.attendance.late.includes(e)?(this.state.boardData.attendance.late=this.state.boardData.attendance.late.filter(n=>n!==e),this.state.boardData.attendance.exclude.push(e)):this.state.boardData.attendance.exclude.includes(e)?this.state.boardData.attendance.exclude=this.state.boardData.attendance.exclude.filter(n=>n!==e):this.state.boardData.attendance.absent.push(e),this.state.synced=!1,this.canAutoSave&&this.uploadData()},cleanstudentslist(){this.state.boardData.attendance.absent=[],this.state.boardData.attendance.late=[],this.state.boardData.attendance.exclude=[],this.state.synced=!1,this.canAutoSave&&this.uploadData()},zoom(t){t==="up"&&this.state.fontSize<100?this.state.fontSize+=2:t==="out"&&this.state.fontSize>16&&(this.state.fontSize-=2),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},z("font.size",this.state.fontSize)},updateBackendUrl(){const t=y("server.provider"),e=y("server.classNumber");this.provider=t,this.state.classNumber=e},setupAutoRefresh(){const t=y("refresh.auto"),e=y("refresh.interval");this.state.refreshInterval&&clearInterval(this.state.refreshInterval),t&&(this.state.refreshInterval=setInterval(()=>{this.shouldSkipRefresh()||this.downloadData()},e*1e3))},shouldSkipRefresh(){return!!(this.state.dialogVisible||this.state.attendanceDialog||this.confirmDialog.show||this.state.datePickerDialog||this.loading.upload||this.loading.download||!this.state.synced)},updateSettings(){this.state.fontSize=y("font.size"),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},this.setupAutoRefresh(),this.updateBackendUrl()},async handleDateSelect(t){if(t)try{const e=this.ensureDate(t),n=this.formatDate(e);this.state.dateString!==n&&(this.state.dateString=n,this.state.selectedDate=n,this.state.selectedDateObj=e,this.state.isToday=n===this.formatDate(this.getToday()),this.$router.replace({query:{date:n}}).catch(()=>{}),await Promise.all([this.downloadData(),this.loadSubjects()]))}catch(e){console.error("Date processing error:",e),this.$message.error("日期处理错误","请重新选择日期")}},optimizeGridLayout(t){const e=Math.min(3,Math.floor(window.innerWidth/300));if(e<=1)return t;const n=Array.from({length:e},()=>({height:0,items:[]}));return t.forEach(r=>{const s=n.reduce((a,m,c)=>m.heightr.items).map((r,s)=>({...r,order:s}))},setAllPresent(){this.state.boardData.attendance={absent:[],late:[],exclude:[]},this.state.synced=!1},setAllAbsent(){this.state.boardData.attendance.absent=[...this.state.studentList],this.state.boardData.attendance.late=[],this.state.boardData.attendance.exclude=[],this.state.synced=!1},setAllLate(){this.state.boardData.attendance.absent=[],this.state.boardData.attendance.late=[...this.state.studentList],this.state.boardData.attendance.exclude=[],this.state.synced=!1},setAllExclude(){this.state.boardData.attendance.absent=[],this.state.boardData.attendance.late=[],this.state.boardData.attendance.exclude=[...this.state.studentList],this.state.synced=!1},isPresent(t){const e=this.state.studentList[t],{absent:n,late:r,exclude:s}=this.state.boardData.attendance;return!n.includes(e)&&!r.includes(e)&&!s.includes(e)},isAbsent(t){return this.state.boardData.attendance.absent.includes(this.state.studentList[t])},isLate(t){return this.state.boardData.attendance.late.includes(this.state.studentList[t])},isExclude(t){return this.state.boardData.attendance.exclude.includes(this.state.studentList[t])},setPresent(t){const e=this.state.studentList[t];this.state.boardData.attendance.absent=this.state.boardData.attendance.absent.filter(n=>n!==e),this.state.boardData.attendance.late=this.state.boardData.attendance.late.filter(n=>n!==e),this.state.boardData.attendance.exclude=this.state.boardData.attendance.exclude.filter(n=>n!==e),this.state.synced=!1},setAbsent(t){const e=this.state.studentList[t];this.setPresent(t),this.state.boardData.attendance.absent.push(e),this.state.synced=!1},setLate(t){const e=this.state.studentList[t];this.setPresent(t),this.state.boardData.attendance.late.push(e),this.state.synced=!1},setExclude(t){const e=this.state.studentList[t];this.setPresent(t),this.state.boardData.attendance.exclude.push(e),this.state.synced=!1},async saveAttendance(){try{await this.trySave(!0),this.state.attendanceDialog=!1}catch(t){console.error("保存出勤状态失败:",t),this.$message.error("保存失败","请重试")}},showMessage(t,e="",n="success"){this.$message[n](t,e)},updateSortedItemsCache(t,e){this._sortedItemsCache={key:t,value:e}},handleMouseMove(t){const e=t.currentTarget,n=e.getBoundingClientRect(),r=(t.clientX-n.left)/n.width*100,s=(t.clientY-n.top)/n.height*100;e.style.setProperty("--x",`${r}%`),e.style.setProperty("--y",`${s}%`)},handleTouchMove(t){if(t.touches.length===1){const e=t.touches[0],n=t.currentTarget,r=n.getBoundingClientRect(),s=(e.clientX-r.left)/r.width*100,a=(e.clientY-r.top)/r.height*100;n.style.setProperty("--x",`${s}%`),n.style.setProperty("--y",`${a}%`)}},showConfirmDialog(){return new Promise((t,e)=>{this.confirmDialog={show:!0,resolve:()=>{this.confirmDialog.show=!1,t()},reject:()=>{this.confirmDialog.show=!1,e(new Error("用户取消保存"))}}})},confirmSave(){this.confirmDialog.show=!1,this.confirmDialog.resolve&&this.confirmDialog.resolve(!0)},cancelSave(){this.confirmDialog.show=!1,this.confirmDialog.reject&&this.confirmDialog.reject(new Error("用户取消保存"))},async manualUpload(){return this.trySave(!1)},async handleAttendanceDialogClose(t){!t&&!this.state.synced&&await this.trySave(!0)},toggleFullscreen(){this.state.isFullscreen?this.exitFullscreen():this.enterFullscreen()},enterFullscreen(){const t=document.documentElement;t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullScreen?t.webkitRequestFullScreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen&&t.msRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},fullscreenChangeHandler(){this.state.isFullscreen=!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)},getStudentStatusColor(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)?"error":this.state.boardData.attendance.late.includes(e)?"warning":this.state.boardData.attendance.exclude.includes(e)?"grey":"success"},getStudentStatusVariant(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)||this.state.boardData.attendance.late.includes(e)||this.state.boardData.attendance.exclude.includes(e)?"tonal":"outlined"},getStudentStatusIcon(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)?"mdi-account-off":this.state.boardData.attendance.late.includes(e)?"mdi-clock-alert":this.state.boardData.attendance.exclude.includes(e)?"mdi-account-cancel":"mdi-account-check"},getStudentStatusText(t){const e=this.state.studentList[t];return this.state.boardData.attendance.absent.includes(e)?"请假":this.state.boardData.attendance.late.includes(e)?"迟到":this.state.boardData.attendance.exclude.includes(e)?"不参与":"到课"},toggleFilter(t){const e=this.attendanceFilter.indexOf(t);e===-1?this.attendanceFilter.push(t):this.attendanceFilter.splice(e,1)},openRandomPicker(){this.$refs.randomPicker&&this.$refs.randomPicker.open()},checkHashForRandomPicker(){window.location.hash==="#random-picker"&&this.$nextTick(()=>{console.log("打开随机点名"),window.location.hash="",this.openRandomPicker()})},parseUrlConfig(){try{const e=new URLSearchParams(window.location.search).get("config");if(!e)return!1;try{const n=atob(e),r=Uint8Array.from(n,v=>v.charCodeAt(0)),s=new TextDecoder().decode(r),a=JSON.parse(s);console.log("从URL读取配置:",a);const m=[],c={},b={};return this.processSpecialSettings(a,m,c),this.processStandardSettings(a,m,c,b),Object.keys(c).length===0?(console.log("URL配置与当前配置相同,无需应用"),!1):new Promise(v=>{this.urlConfigDialog={show:!0,config:a,changes:m,validSettings:c,icons:b,confirmHandler:()=>{this.urlConfigDialog.show=!1,this.applyUrlConfig(c),v(!0)},cancelHandler:()=>{this.urlConfigDialog.show=!1,v(!1)}}})}catch(n){return console.error("解析URL配置错误:",n),this.$message.error("URL配置错误","无法解析配置数据"),!1}}catch(t){return console.error("处理URL配置错误:",t),!1}},processSpecialSettings(t,e,n){var r,s;if(t.classNumber!==void 0){const a=y("server.classNumber");t.classNumber!==a&&(e.push({key:"server.classNumber",name:"班级",oldValue:a,newValue:t.classNumber,description:((r=E["server.classNumber"])==null?void 0:r.description)||"班级编号",icon:((s=E["server.classNumber"])==null?void 0:s.icon)||"mdi-account-group"}),n["server.classNumber"]=t.classNumber)}t.date!==void 0&&t.date!==this.state.dateString&&(e.push({key:"date",name:"日期",oldValue:this.state.dateString,newValue:t.date,description:"查看的日期",icon:"mdi-calendar"}),n.date=t.date),t.subjects&&Array.isArray(t.subjects)&&(e.push({key:"subjects",name:"科目列表",oldValue:`${this.state.availableSubjects.length}个科目`,newValue:`${t.subjects.length}个科目`,description:"可用科目列表",icon:"mdi-notebook"}),n.subjects=t.subjects)},processStandardSettings(t,e,n,r){Object.entries(t).forEach(([s,a])=>{if(["classNumber","date","subjects"].includes(s))return;let m=s,c=E[s];if(!c&&!s.includes(".")){const b=["server.","display.","theme.","edit.","refresh.","font.","randomPicker."];for(const v of b){const T=`${v}${s}`;if(E[T]){m=T,c=E[T];break}}}if(c){let b=this.convertValueToCorrectType(a,c.type);if(c.validate&&!c.validate(b)){console.warn(`URL配置项 ${m} 的值无效: ${a}`);return}const v=y(m);b!==v&&(e.push({key:m,name:this.getSettingDisplayName(m),oldValue:this.formatSettingValue(v),newValue:this.formatSettingValue(b),description:c.description||m,icon:c.icon||"mdi-cog"}),n[m]=b,r[m]=c.icon||"mdi-cog")}else e.push({key:s,name:this.getSettingDisplayName(s),oldValue:"未知",newValue:this.formatSettingValue(a),description:"自定义配置项",icon:"mdi-cog-outline"}),n[s]=a,r[s]="mdi-cog-outline"})},convertValueToCorrectType(t,e){return e==="boolean"?!!t:e==="number"?Number(t):String(t)},formatSettingValue(t){return typeof t=="boolean"?t?"开启":"关闭":t===""||t===null||t===void 0?"空":t.toString()},getSettingDisplayName(t){const e=t.split("."),n=e[e.length-1];return{provider:"数据提供方",domain:"服务器域名",classNumber:"班级编号",emptySubjectDisplay:"空科目显示方式",dynamicSort:"动态排序",showRandomButton:"随机按钮",showFullscreenButton:"全屏按钮",cardHoverEffect:"卡片悬浮效果",enhancedTouchMode:"增强触摸模式",showAntiScreenBurnCard:"防烧屏卡片",mode:"主题模式",size:"字体大小",autoSave:"自动保存",blockNonTodayAutoSave:"禁止自动保存非当日",refreshBeforeEdit:"编辑前刷新",confirmNonTodaySave:"非当日保存确认",auto:"自动刷新",interval:"刷新间隔"}[n]||n},safeBase64Decode(t){try{return be.decode(t)}catch(e){throw console.error("Base64解码错误:",e),new Error("无法解码配置数据")}},applyUrlConfig(t){for(const[e,n]of Object.entries(t)){if(e==="date"){this.handleDateSelect(n);continue}if(e==="subjects"){this.state.availableSubjects=n;continue}z(e,n),e==="server.classNumber"&&(this.state.classNumber=n)}return this.updateBackendUrl(),this.$message.success("URL配置已应用","已从URL加载配置"),!0},navigateDay(t){const e=new Date(this.state.selectedDateObj);e.setDate(e.getDate()+t),this.handleDateSelect(e)}}},gt={class:"d-flex"},bt={ref:"gridContainer",class:"grid-masonry"},yt={class:"empty-subjects mt-4"},kt={key:1,class:"empty-subjects-grid"},vt={key:0},St={style:{"white-space":"nowrap"}},xt={key:0},wt={style:{"white-space":"nowrap"}},Dt={key:0},Ct={style:{"white-space":"nowrap"}},Lt={class:"d-flex flex-wrap mt-2 gap-1"},Vt={class:"d-flex flex-wrap mb-4 gap-2"},_t={class:"flex-grow-1"},Ft={class:"d-flex align-center"},Tt={class:"text-subtitle-1"},Pt={class:"attendance-actions"},At={class:"text-subtitle-1"},Nt={class:"text-grey-darken-1"},Et={class:"text-primary font-weight-medium"};function jt(t,e,n,r,s,a){const m=$,c=ce("snap"),b=ae,v=ee,T=ne,ie=se,le=te;return d(),p(S,null,[i(we,{class:"no-select"},{append:l(()=>[i(m),e[19]||(e[19]=o()),i(g,{icon:"mdi-bell",variant:"text",badge:a.unreadCount||void 0,"badge-color":a.unreadCount?"error":void 0,onClick:e[0]||(e[0]=u=>t.$refs.messageLog.drawer=!0)},null,8,["badge","badge-color"]),i(g,{icon:"mdi-cog",variant:"text",onClick:e[1]||(e[1]=u=>t.$router.push("/settings"))})]),default:l(()=>[i(xe,null,{default:l(()=>[o(f(s.state.classNumber)+" - "+f(a.titleText),1)]),_:1}),i(N)]),_:1}),h("div",gt,[i(De,{class:"main-window flex-grow-1 no-select",fluid:""},{default:l(()=>[h("div",bt,[i(H,{name:"grid"},{default:l(()=>[(d(!0),p(S,null,w(a.sortedItems,u=>(d(),p("div",{key:u.key,class:"grid-item",style:Y({"grid-row-end":`span ${u.rowSpan}`,order:u.order})},[i(C,{border:"",height:"100%",class:"glow-track",onClick:D=>!a.isEditingDisabled&&a.openDialog(u.key),onMousemove:a.handleMouseMove,onTouchmove:a.handleTouchMove},{default:l(()=>[i(F,null,{default:l(()=>[o(f(u.name),1)]),_:2},1024),i(V,{style:Y(s.state.contentStyle)},{default:l(()=>[i(G,null,{default:l(()=>[(d(!0),p(S,null,w(a.splitPoint(u.content),D=>(d(),k(X,{key:D},{default:l(()=>[o(f(D),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["onClick","onMousemove","onTouchmove"])],4))),128))]),_:1})],512),h("div",yt,[a.emptySubjectDisplay==="button"?(d(),k(U,{key:0,divided:"",variant:"outlined"},{default:l(()=>[(d(!0),p(S,null,w(a.unusedSubjects,u=>(d(),k(g,{key:u.name,disabled:a.isEditingDisabled,onClick:D=>a.openDialog(u.name)},{default:l(()=>[i(_,{start:""},{default:l(()=>[...e[20]||(e[20]=[o(" mdi-plus ",-1)])]),_:1}),o(" "+f(u.name),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})):(d(),p("div",kt,[i(H,{name:"v-list"},{default:l(()=>[(d(!0),p(S,null,w(a.unusedSubjects,u=>(d(),k(C,{key:u.name,border:"",class:"empty-subject-card",disabled:a.isEditingDisabled,onClick:D=>a.openDialog(u.name)},{default:l(()=>[i(F,{class:"text-subtitle-1"},{default:l(()=>[o(f(u.name),1)]),_:2},1024),i(V,{class:"text-center"},{default:l(()=>[i(_,{size:"small",color:"grey"},{default:l(()=>[...e[21]||(e[21]=[o(" mdi-plus ",-1)])]),_:1}),e[22]||(e[22]=h("div",{class:"text-caption text-grey"},"点击添加作业",-1))]),_:1})]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]))]),s.state.synced?(d(),k(g,{key:1,color:"success",size:"large",onClick:a.showSyncMessage},{default:l(()=>[...e[24]||(e[24]=[o(" 同步完成 ",-1)])]),_:1},8,["onClick"])):(d(),k(g,{key:0,color:"error",size:"large",loading:s.loading.upload,class:"ml-2",onClick:a.manualUpload},{default:l(()=>[...e[23]||(e[23]=[o(" 上传 ",-1)])]),_:1},8,["loading","onClick"])),a.showRandomPickerButton?(d(),k(g,{key:2,color:"amber","prepend-icon":"mdi-account-question","append-icon":"mdi-dice-multiple",size:"large",class:"ml-2",onClick:a.openRandomPicker},{default:l(()=>[...e[25]||(e[25]=[o(" 随机点名 ",-1)])]),_:1},8,["onClick"])):x("",!0),a.showExamScheduleButton?(d(),k(g,{key:3,color:"green","prepend-icon":"mdi-calendar-check",size:"large",class:"ml-2",onClick:e[2]||(e[2]=u=>t.$router.push("/examschedule"))},{default:l(()=>[...e[26]||(e[26]=[o(" 考试看板 ",-1)])]),_:1})):x("",!0),a.showListCardButton?(d(),k(g,{key:4,color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",class:"ml-2",onClick:e[3]||(e[3]=u=>t.$router.push("/list"))},{default:l(()=>[...e[27]||(e[27]=[o(" 列表 ",-1)])]),_:1})):x("",!0),a.showFullscreenButton?(d(),k(g,{key:5,color:s.state.isFullscreen?"blue-grey":"blue","prepend-icon":s.state.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",size:"large",class:"ml-2",onClick:a.toggleFullscreen},{default:l(()=>[o(f(s.state.isFullscreen?"退出全屏":"全屏显示"),1)]),_:1},8,["color","prepend-icon","onClick"])):x("",!0),a.showAntiScreenBurnCard?(d(),k(C,{key:6,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:l(()=>[i(F,{class:"text-subtitle-1"},{default:l(()=>[i(_,{start:"",icon:"mdi-shield-check",size:"small"}),e[28]||(e[28]=o(" 屏幕保护技术已启用 ",-1))]),_:1}),i(V,{class:"text-body-2"},{default:l(()=>[...e[29]||(e[29]=[h("p",null," 本应用采用独立自研的动态像素偏移技术(DPO™),有效防止LCD屏幕烧屏现象。 ",-1),h("p",{class:"text-caption text-grey"},[o(" *研究显示动态像素偏移技术可以修复屏幕坏点,起到保护屏幕的作用,数据来自实验室。"),h("a",{href:"https://patentscope.wipo.int/search/zh/detail.jsf?docId=CN232281523&_cid=P20-M8L0YX-67061-1",target:"_blank"},"专利号CN108648692 ")],-1),h("p",{class:"text-caption text-grey"}," *技术已自动适配您的设备,无需手动调整 ",-1)])]),_:1})]),_:1})):x("",!0)]),_:1}),s.state.studentList&&s.state.studentList.length?(d(),k(R,{key:0,class:"attendance-area no-select",cols:"1",onClick:e[4]||(e[4]=u=>a.setAttendanceArea())},{default:l(()=>[e[40]||(e[40]=h("h1",null,"出勤",-1)),h("h2",null,[i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[...e[30]||(e[30]=[o(" 应到 ",-1)])]),_:1}),e[31]||(e[31]=o(": ",-1)),i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[o(f(s.state.studentList.length-s.state.boardData.attendance.exclude.length)+"人 ",1)]),_:1})]),h("h2",null,[i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[...e[32]||(e[32]=[o(" 实到 ",-1)])]),_:1}),e[33]||(e[33]=o(": ",-1)),i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[o(f(s.state.studentList.length-s.state.boardData.attendance.absent.length-s.state.boardData.attendance.late.length-s.state.boardData.attendance.exclude.length)+"人 ",1)]),_:1})]),h("h2",null,[i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[...e[34]||(e[34]=[o(" 请假 ",-1)])]),_:1}),e[35]||(e[35]=o(": ",-1)),i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[o(f(s.state.boardData.attendance.absent.length)+"人 ",1)]),_:1})]),(d(!0),p(S,null,w(s.state.boardData.attendance.absent,(u,D)=>(d(),p("h3",{class:"gray-text",key:"absent-"+D},[s.useDisplay().lgAndUp.value?(d(),p("span",vt,f(`${D+1}. `),1)):x("",!0),h("span",St,f(u),1)]))),128)),h("h2",null,[i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[...e[36]||(e[36]=[o("迟到",-1)])]),_:1}),e[37]||(e[37]=o(": ",-1)),i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[o(f(s.state.boardData.attendance.late.length)+"人 ",1)]),_:1})]),(d(!0),p(S,null,w(s.state.boardData.attendance.late,(u,D)=>(d(),p("h3",{class:"gray-text",key:"late-"+D},[s.useDisplay().lgAndUp.value?(d(),p("span",xt,f(`${D+1}. `),1)):x("",!0),h("span",wt,f(u),1)]))),128)),h("h2",null,[i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[...e[38]||(e[38]=[o("不参与",-1)])]),_:1}),e[39]||(e[39]=o(": ",-1)),i(c,{style:{"white-space":"nowrap"}},{default:l(()=>[o(f(s.state.boardData.attendance.exclude.length)+"人 ",1)]),_:1})]),(d(!0),p(S,null,w(s.state.boardData.attendance.exclude,(u,D)=>(d(),p("h3",{class:"gray-text",key:"exclude-"+D},[s.useDisplay().lgAndUp.value?(d(),p("span",Dt,f(`${D+1}. `),1)):x("",!0),h("span",Ct,f(u),1)]))),128))]),_:1})):x("",!0)]),i(b,{modelValue:s.state.dialogVisible,"onUpdate:modelValue":e[5]||(e[5]=u=>s.state.dialogVisible=u),title:s.state.dialogTitle,"initial-content":s.state.textarea,"auto-save":a.autoSave,onSave:a.handleHomeworkSave},null,8,["modelValue","title","initial-content","auto-save","onSave"]),i(me,{modelValue:s.state.snackbar,"onUpdate:modelValue":e[6]||(e[6]=u=>s.state.snackbar=u),timeout:2e3},{default:l(()=>[o(f(s.state.snackbarText),1)]),_:1},8,["modelValue"]),i(B,{modelValue:s.state.attendanceDialog,"onUpdate:modelValue":[e[12]||(e[12]=u=>s.state.attendanceDialog=u),a.handleAttendanceDialogClose],"max-width":"900","fullscreen-breakpoint":"sm"},{default:l(()=>[i(C,null,{default:l(()=>[i(F,{class:"d-flex align-center"},{default:l(()=>[i(_,{icon:"mdi-account-group",class:"mr-2"}),e[41]||(e[41]=o(" 出勤状态管理 ",-1)),i(N),i(L,{color:"primary",size:"small",class:"ml-2"},{default:l(()=>[o(f(s.state.dateString),1)]),_:1})]),_:1}),i(V,null,{default:l(()=>[i(O,{class:"mb-4"},{default:l(()=>[i(R,{cols:"12",md:"12"},{default:l(()=>[i(q,{modelValue:s.attendanceSearch,"onUpdate:modelValue":[e[7]||(e[7]=u=>s.attendanceSearch=u),t.handleSearchChange],"prepend-inner-icon":"mdi-magnify",label:"搜索学生",hint:"支持筛选姓氏,如输入'孙'可筛选所有姓孙的学生",variant:"outlined",clearable:""},null,8,["modelValue","onUpdate:modelValue"]),h("div",Lt,[(d(!0),p(S,null,w(a.extractedSurnames,u=>(d(),k(g,{key:u.name,variant:s.attendanceSearch===u.name?"elevated":"text",color:s.attendanceSearch===u.name?"primary":"",onClick:D=>s.attendanceSearch=s.attendanceSearch===u.name?"":u.name},{default:l(()=>[o(f(u.name)+" ("+f(u.count)+") ",1)]),_:2},1032,["variant","color","onClick"]))),128))])]),_:1})]),_:1}),h("div",Vt,[h("div",null,[i(L,{value:"present",color:s.attendanceFilter.includes("present")?"success":"",variant:s.attendanceFilter.includes("present")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[8]||(e[8]=u=>a.toggleFilter("present")),"prepend-icon":"mdi-account-check","append-icon":s.attendanceFilter.includes("present")?"mdi-check":""},{default:l(()=>[...e[42]||(e[42]=[o(" 到课 ",-1)])]),_:1},8,["color","variant","append-icon"]),i(L,{value:"absent",color:s.attendanceFilter.includes("absent")?"error":"",variant:s.attendanceFilter.includes("absent")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[9]||(e[9]=u=>a.toggleFilter("absent")),"prepend-icon":"mdi-account-off","append-icon":s.attendanceFilter.includes("absent")?"mdi-check":""},{default:l(()=>[...e[43]||(e[43]=[o(" 请假 ",-1)])]),_:1},8,["color","variant","append-icon"]),i(L,{value:"late",color:s.attendanceFilter.includes("late")?"warning":"",variant:s.attendanceFilter.includes("late")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[10]||(e[10]=u=>a.toggleFilter("late")),"prepend-icon":"mdi-clock-alert","append-icon":s.attendanceFilter.includes("late")?"mdi-check":""},{default:l(()=>[...e[44]||(e[44]=[o(" 迟到 ",-1)])]),_:1},8,["color","variant","append-icon"]),i(L,{value:"exclude",color:s.attendanceFilter.includes("exclude")?"grey":"",variant:s.attendanceFilter.includes("exclude")?"elevated":"tonal",class:"px-2 filter-chip",onClick:e[11]||(e[11]=u=>a.toggleFilter("exclude")),"prepend-icon":"mdi-account-cancel","append-icon":s.attendanceFilter.includes("exclude")?"mdi-check":""},{default:l(()=>[...e[45]||(e[45]=[o(" 不参与 ",-1)])]),_:1},8,["color","variant","append-icon"])])]),i(O,null,{default:l(()=>[(d(!0),p(S,null,w(a.filteredStudents,u=>(d(),k(R,{key:u,cols:"12",sm:"6",md:"6",lg:"4"},{default:l(()=>[i(C,{class:"student-card",border:""},{default:l(()=>[i(V,{class:"d-flex align-center pa-2"},{default:l(()=>[h("div",_t,[h("div",Ft,[i(he,{color:a.getStudentStatusColor(s.state.studentList.indexOf(u)),size:"24",class:"mr-2"},{default:l(()=>[i(_,{size:"small"},{default:l(()=>[o(f(a.getStudentStatusIcon(s.state.studentList.indexOf(u))),1)]),_:2},1024)]),_:2},1032,["color"]),h("div",Tt,f(u),1)])]),h("div",Pt,[i(g,{color:a.isPresent(s.state.studentList.indexOf(u))?"success":"",icon:"mdi-account-check",size:"small",variant:"text",onClick:D=>a.setPresent(s.state.studentList.indexOf(u)),title:"设为到课"},null,8,["color","onClick"]),i(g,{color:a.isAbsent(s.state.studentList.indexOf(u))?"error":"",icon:"mdi-account-off",size:"small",variant:"text",onClick:D=>a.setAbsent(s.state.studentList.indexOf(u)),title:"设为请假"},null,8,["color","onClick"]),i(g,{color:a.isLate(s.state.studentList.indexOf(u))?"warning":"",icon:"mdi-clock-alert",size:"small",variant:"text",onClick:D=>a.setLate(s.state.studentList.indexOf(u)),title:"设为迟到"},null,8,["color","onClick"]),i(g,{color:a.isExclude(s.state.studentList.indexOf(u))?"grey":"",icon:"mdi-account-cancel",size:"small",variant:"text",onClick:D=>a.setExclude(s.state.studentList.indexOf(u)),title:"设为不参与"},null,8,["color","onClick"])])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),i(O,null,{default:l(()=>[i(R,{cols:"12",md:"12"},{default:l(()=>[i(C,{variant:"tonal",color:"primary",class:"mb-4"},{default:l(()=>[i(V,null,{default:l(()=>[e[50]||(e[50]=h("div",{class:"text-subtitle-2 mb-2"},"批量操作",-1)),i(U,null,{default:l(()=>[i(g,{color:"success","prepend-icon":"mdi-account-check",onClick:a.setAllPresent},{default:l(()=>[...e[46]||(e[46]=[o(" 全部到齐 ",-1)])]),_:1},8,["onClick"]),i(g,{color:"error","prepend-icon":"mdi-account-off",onClick:a.setAllAbsent},{default:l(()=>[...e[47]||(e[47]=[o(" 全部请假 ",-1)])]),_:1},8,["onClick"])]),_:1}),i(U,null,{default:l(()=>[i(g,{color:"warning","prepend-icon":"mdi-clock-alert",onClick:a.setAllLate},{default:l(()=>[...e[48]||(e[48]=[o(" 全部迟到 ",-1)])]),_:1},8,["onClick"]),i(g,{color:"grey","prepend-icon":"mdi-account-cancel",onClick:a.setAllExclude},{default:l(()=>[...e[49]||(e[49]=[o(" 全部不参与 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),i(fe),i(I,null,{default:l(()=>[i(N),i(g,{color:"primary",onClick:a.saveAttendance},{default:l(()=>[i(_,{start:""},{default:l(()=>[...e[51]||(e[51]=[o("mdi-content-save",-1)])]),_:1}),e[52]||(e[52]=o(" 保存 ",-1))]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"]),i(v,{ref:"messageLog"},null,512),i(T,{loading:s.loading.download,"unread-count":a.unreadCount,"selected-date":s.state.selectedDateObj,"is-today":a.isToday,onZoom:a.zoom,onRefresh:a.downloadData,onOpenMessages:e[13]||(e[13]=u=>t.$refs.messageLog.drawer=!0),onOpenSettings:e[14]||(e[14]=u=>t.$router.push("/settings")),onDateSelect:a.handleDateSelect,onPrevDay:e[15]||(e[15]=u=>a.navigateDay(-1)),onNextDay:e[16]||(e[16]=u=>a.navigateDay(1))},null,8,["loading","unread-count","selected-date","is-today","onZoom","onRefresh","onDateSelect"]),i(ie),i(B,{modelValue:s.confirmDialog.show,"onUpdate:modelValue":e[17]||(e[17]=u=>s.confirmDialog.show=u),"max-width":"400"},{default:l(()=>[i(C,null,{default:l(()=>[i(F,{class:"text-h6"},{default:l(()=>[...e[53]||(e[53]=[o(" 确认保存 ",-1)])]),_:1}),i(V,null,{default:l(()=>[o(" 您正在修改 "+f(s.state.dateString)+" 的数据,确定要保存吗? ",1)]),_:1}),i(I,null,{default:l(()=>[i(N),i(g,{color:"grey",variant:"text",onClick:s.confirmDialog.reject},{default:l(()=>[...e[54]||(e[54]=[o(" 取消 ",-1)])]),_:1},8,["onClick"]),i(g,{color:"primary",onClick:s.confirmDialog.resolve},{default:l(()=>[...e[55]||(e[55]=[o(" 确认保存 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(le,{ref:"randomPicker","student-list":s.state.studentList,attendance:s.state.boardData.attendance},null,8,["student-list","attendance"]),i(B,{modelValue:s.urlConfigDialog.show,"onUpdate:modelValue":e[18]||(e[18]=u=>s.urlConfigDialog.show=u),"max-width":"500"},{default:l(()=>[i(C,null,{default:l(()=>[i(F,{class:"text-h6"},{default:l(()=>[...e[56]||(e[56]=[o(" 确认应用URL配置 ",-1)])]),_:1}),i(V,null,{default:l(()=>[e[57]||(e[57]=h("p",null,"以下配置将应用于当前班级:",-1)),i(G,{density:"compact"},{default:l(()=>[(d(!0),p(S,null,w(s.urlConfigDialog.changes,u=>(d(),k(X,{key:u.key},{prepend:l(()=>[i(_,{icon:u.icon,size:"small",class:"mr-2"},null,8,["icon"])]),default:l(()=>[i(pe,{class:"d-flex align-center"},{default:l(()=>[h("span",At,f(u.name),1),i(Q,{activator:"parent",location:"top"},{default:l(()=>[o(f(u.description||u.key),1)]),_:2},1024)]),_:2},1024),i(ge,null,{default:l(()=>[h("span",Nt,f(u.oldValue),1),i(_,{icon:"mdi-arrow-right",size:"small",class:"mx-1"}),h("span",Et,f(u.newValue),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),i(I,null,{default:l(()=>[i(N),i(g,{color:"grey",variant:"text",onClick:s.urlConfigDialog.cancelHandler},{default:l(()=>[...e[58]||(e[58]=[o(" 取消 ",-1)])]),_:1},8,["onClick"]),i(g,{color:"primary",onClick:s.urlConfigDialog.confirmHandler},{default:l(()=>[...e[59]||(e[59]=[o(" 确认应用 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),e[60]||(e[60]=h("br",null,null,-1)),e[61]||(e[61]=h("br",null,null,-1)),e[62]||(e[62]=h("br",null,null,-1)),e[63]||(e[63]=h("br",null,null,-1)),e[64]||(e[64]=h("br",null,null,-1)),e[65]||(e[65]=h("br",null,null,-1))],64)}const Gt=M(pt,[["render",jt]]);export{Gt as default}; diff --git a/assets/index-DmGr2YjE.js b/assets/index-DmGr2YjE.js deleted file mode 100644 index d9d8584..0000000 --- a/assets/index-DmGr2YjE.js +++ /dev/null @@ -1,39 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-B3YofT5k.js","./default-DwCVtVFc.css","./index-CxzoX4Xk.js","./VTextField-C4kOar5O.js","./VTextField-C30ZV5fj.css","./VTooltip-CQ-iFGD1.js","./VTooltip-DNuxJ6UK.css","./VChip-Cb9zLh7n.js","./VChip-D4JJLP8c.css","./VMenu-BNxvK6X3.js","./VMenu-C31D-C2L.css","./index-WOogkXEw.js","./VAppBarTitle-caQbgffg.js","./VAppBarTitle-Becd2iU0.css","./index-Cxe0vzNV.css","./VTextarea-GxradEKI.js","./VTextarea-DZzaBsH2.css","./VContainer-D6AyJkGG.js","./VRow-2V1J5F3c.js","./index-DzDfqY9E.css","./404-ZFKl6IaK.js","./CacheManagement-Dn2ky79P.js","./VAlert-BGPbp463.js","./VAlert-DdOzIUJV.css","./VExpansionPanels-D9y3oi3n.js","./VExpansionPanels-CVwpiXq1.css","./VSkeletonLoader-CuMOQJqJ.js","./VSkeletonLoader-BQFFZ-Yb.css","./cses2wakeup-7beuD_CI.js","./VTabsWindowItem-CevZz8wf.js","./VTabsWindowItem-CCT7n5JJ.css","./VSwitch-Cqv0EiRW.js","./VCheckboxBtn-vttsGEHT.js","./VCheckboxBtn-D9cm454A.css","./VSwitch-DdP_-uRS.css","./VDataTable-DAMkWB1R.js","./VDataTable-CY06eJ1q.css","./cses2wakeup-B9qGo7KP.css","./DataMigration-BwfINwoF.js","./DataMigration-CCX2M6jB.css","./index-CdfK4JOQ.js","./_id_-DKZSKqNm.js","./settings-CiB_D7vP.js","./settings-BMmWdDen.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** -* @vue/shared v3.5.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Ma(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ee={},ur=[],Yt=()=>{},df=()=>!1,Pi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ba=e=>e.startsWith("onUpdate:"),He=Object.assign,Fa=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yg=Object.prototype.hasOwnProperty,Se=(e,t)=>yg.call(e,t),ne=Array.isArray,fr=e=>ki(e)==="[object Map]",mf=e=>ki(e)==="[object Set]",ie=e=>typeof e=="function",Me=e=>typeof e=="string",mn=e=>typeof e=="symbol",Re=e=>e!==null&&typeof e=="object",hf=e=>(Re(e)||ie(e))&&ie(e.then)&&ie(e.catch),gf=Object.prototype.toString,ki=e=>gf.call(e),bg=e=>ki(e).slice(8,-1),vf=e=>ki(e)==="[object Object]",$a=e=>Me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Gr=Ma(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Oi=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},wg=/-(\w)/g,ct=Oi(e=>e.replace(wg,(t,n)=>n?n.toUpperCase():"")),Sg=/\B([A-Z])/g,Rn=Oi(e=>e.replace(Sg,"-$1").toLowerCase()),Ar=Oi(e=>e.charAt(0).toUpperCase()+e.slice(1)),no=Oi(e=>e?`on${Ar(e)}`:""),xn=(e,t)=>!Object.is(e,t),Gs=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Vo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Cg=e=>{const t=Me(e)?Number(e):NaN;return isNaN(t)?e:t};let Bl;const Ii=()=>Bl||(Bl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Pe(e){if(ne(e)){const t={};for(let n=0;n{if(n){const r=n.split(_g);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ve(e){let t="";if(Me(e))t=e;else if(ne(e))for(let n=0;n!!(e&&e.__v_isRef===!0),kt=e=>Me(e)?e:e==null?"":ne(e)||Re(e)&&(e.toString===gf||!ie(e.toString))?bf(e)?kt(e.value):JSON.stringify(e,wf,2):String(e),wf=(e,t)=>bf(t)?wf(e,t.value):fr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[ro(r,i)+" =>"]=s,n),{})}:mf(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ro(n))}:mn(t)?ro(t):Re(t)&&!ne(t)&&!vf(t)?String(t):t,ro=(e,t="")=>{var n;return mn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ze;class Sf{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ze,!t&&Ze&&(this.index=(Ze.scopes||(Ze.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ze=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Jr){let t=Jr;for(Jr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yr;){let t=Yr;for(Yr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Af(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Tf(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Ha(r),Pg(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function jo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rf(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Rf(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ss)||(e.globalVersion=ss,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!jo(e))))return;e.flags|=2;const t=e.dep,n=Te,r=Ot;Te=e,Ot=!0;try{Af(e);const s=e.fn(e._value);(t.version===0||xn(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Te=n,Ot=r,Tf(e),e.flags&=-3}}function Ha(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ha(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Pg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ot=!0;const Pf=[];function fn(){Pf.push(Ot),Ot=!1}function dn(){const e=Pf.pop();Ot=e===void 0?!0:e}function Fl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Te;Te=void 0;try{t()}finally{Te=n}}}let ss=0;class kg{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ua{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Te||!Ot||Te===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Te)n=this.activeLink=new kg(Te,this),Te.deps?(n.prevDep=Te.depsTail,Te.depsTail.nextDep=n,Te.depsTail=n):Te.deps=Te.depsTail=n,kf(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Te.depsTail,n.nextDep=void 0,Te.depsTail.nextDep=n,Te.depsTail=n,Te.deps===n&&(Te.deps=r)}return n}trigger(t){this.version++,ss++,this.notify(t)}notify(t){Va();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ja()}}}function kf(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)kf(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const li=new WeakMap,Wn=Symbol(""),Ho=Symbol(""),is=Symbol("");function Qe(e,t,n){if(Ot&&Te){let r=li.get(e);r||li.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Ua),s.map=r,s.key=n),s.track()}}function ln(e,t,n,r,s,i){const o=li.get(e);if(!o){ss++;return}const a=l=>{l&&l.trigger()};if(Va(),t==="clear")o.forEach(a);else{const l=ne(e),u=l&&$a(n);if(l&&n==="length"){const c=Number(r);o.forEach((f,d)=>{(d==="length"||d===is||!mn(d)&&d>=c)&&a(f)})}else switch((n!==void 0||o.has(void 0))&&a(o.get(n)),u&&a(o.get(is)),t){case"add":l?u&&a(o.get("length")):(a(o.get(Wn)),fr(e)&&a(o.get(Ho)));break;case"delete":l||(a(o.get(Wn)),fr(e)&&a(o.get(Ho)));break;case"set":fr(e)&&a(o.get(Wn));break}}ja()}function Og(e,t){const n=li.get(e);return n&&n.get(t)}function er(e){const t=ee(e);return t===e?t:(Qe(t,"iterate",is),_t(e)?t:t.map(Ge))}function Di(e){return Qe(e=ee(e),"iterate",is),e}const Ig={__proto__:null,[Symbol.iterator](){return io(this,Symbol.iterator,Ge)},concat(...e){return er(this).concat(...e.map(t=>ne(t)?er(t):t))},entries(){return io(this,"entries",e=>(e[1]=Ge(e[1]),e))},every(e,t){return en(this,"every",e,t,void 0,arguments)},filter(e,t){return en(this,"filter",e,t,n=>n.map(Ge),arguments)},find(e,t){return en(this,"find",e,t,Ge,arguments)},findIndex(e,t){return en(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return en(this,"findLast",e,t,Ge,arguments)},findLastIndex(e,t){return en(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return en(this,"forEach",e,t,void 0,arguments)},includes(...e){return oo(this,"includes",e)},indexOf(...e){return oo(this,"indexOf",e)},join(e){return er(this).join(e)},lastIndexOf(...e){return oo(this,"lastIndexOf",e)},map(e,t){return en(this,"map",e,t,void 0,arguments)},pop(){return Br(this,"pop")},push(...e){return Br(this,"push",e)},reduce(e,...t){return $l(this,"reduce",e,t)},reduceRight(e,...t){return $l(this,"reduceRight",e,t)},shift(){return Br(this,"shift")},some(e,t){return en(this,"some",e,t,void 0,arguments)},splice(...e){return Br(this,"splice",e)},toReversed(){return er(this).toReversed()},toSorted(e){return er(this).toSorted(e)},toSpliced(...e){return er(this).toSpliced(...e)},unshift(...e){return Br(this,"unshift",e)},values(){return io(this,"values",Ge)}};function io(e,t,n){const r=Di(e),s=r[t]();return r!==e&&!_t(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.value&&(i.value=n(i.value)),i}),s}const Dg=Array.prototype;function en(e,t,n,r,s,i){const o=Di(e),a=o!==e&&!_t(e),l=o[t];if(l!==Dg[t]){const f=l.apply(e,i);return a?Ge(f):f}let u=n;o!==e&&(a?u=function(f,d){return n.call(this,Ge(f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(o,u,r);return a&&s?s(c):c}function $l(e,t,n,r){const s=Di(e);let i=n;return s!==e&&(_t(e)?n.length>3&&(i=function(o,a,l){return n.call(this,o,a,l,e)}):i=function(o,a,l){return n.call(this,o,Ge(a),l,e)}),s[t](i,...r)}function oo(e,t,n){const r=ee(e);Qe(r,"iterate",is);const s=r[t](...n);return(s===-1||s===!1)&&qa(n[0])?(n[0]=ee(n[0]),r[t](...n)):s}function Br(e,t,n=[]){fn(),Va();const r=ee(e)[t].apply(e,n);return ja(),dn(),r}const Lg=Ma("__proto__,__v_isRef,__isVue"),Of=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(mn));function Ng(e){mn(e)||(e=String(e));const t=ee(this);return Qe(t,"has",e),t.hasOwnProperty(e)}class If{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?zg:Mf:i?Nf:Lf).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=ne(t);if(!s){let l;if(o&&(l=Ig[n]))return l;if(n==="hasOwnProperty")return Ng}const a=Reflect.get(t,n,$e(t)?t:r);return(mn(n)?Of.has(n):Lg(n))||(s||Qe(t,"get",n),i)?a:$e(a)?o&&$a(n)?a:a.value:Re(a)?s?ws(a):ze(a):a}}class Df extends If{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];if(!this._isShallow){const l=_n(i);if(!_t(r)&&!_n(r)&&(i=ee(i),r=ee(r)),!ne(t)&&$e(i)&&!$e(r))return l||(i.value=r),!0}const o=ne(t)&&$a(n)?Number(n)e,Bs=e=>Reflect.getPrototypeOf(e);function Vg(e,t,n){return function(...r){const s=this.__v_raw,i=ee(s),o=fr(i),a=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,u=s[e](...r),c=n?Uo:t?ci:Ge;return!t&&Qe(i,"iterate",l?Ho:Wn),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}},[Symbol.iterator](){return this}}}}function Fs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function jg(e,t){const n={get(s){const i=this.__v_raw,o=ee(i),a=ee(s);e||(xn(s,a)&&Qe(o,"get",s),Qe(o,"get",a));const{has:l}=Bs(o),u=t?Uo:e?ci:Ge;if(l.call(o,s))return u(i.get(s));if(l.call(o,a))return u(i.get(a));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&Qe(ee(s),"iterate",Wn),s.size},has(s){const i=this.__v_raw,o=ee(i),a=ee(s);return e||(xn(s,a)&&Qe(o,"has",s),Qe(o,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const o=this,a=o.__v_raw,l=ee(a),u=t?Uo:e?ci:Ge;return!e&&Qe(l,"iterate",Wn),a.forEach((c,f)=>s.call(i,u(c),u(f),o))}};return He(n,e?{add:Fs("add"),set:Fs("set"),delete:Fs("delete"),clear:Fs("clear")}:{add(s){!t&&!_t(s)&&!_n(s)&&(s=ee(s));const i=ee(this);return Bs(i).has.call(i,s)||(i.add(s),ln(i,"add",s,s)),this},set(s,i){!t&&!_t(i)&&!_n(i)&&(i=ee(i));const o=ee(this),{has:a,get:l}=Bs(o);let u=a.call(o,s);u||(s=ee(s),u=a.call(o,s));const c=l.call(o,s);return o.set(s,i),u?xn(i,c)&&ln(o,"set",s,i):ln(o,"add",s,i),this},delete(s){const i=ee(this),{has:o,get:a}=Bs(i);let l=o.call(i,s);l||(s=ee(s),l=o.call(i,s)),a&&a.call(i,s);const u=i.delete(s);return l&&ln(i,"delete",s,void 0),u},clear(){const s=ee(this),i=s.size!==0,o=s.clear();return i&&ln(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Vg(s,e,t)}),n}function Wa(e,t){const n=jg(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Se(n,s)&&s in r?n:r,s,i)}const Hg={get:Wa(!1,!1)},Ug={get:Wa(!1,!0)},Wg={get:Wa(!0,!1)};const Lf=new WeakMap,Nf=new WeakMap,Mf=new WeakMap,zg=new WeakMap;function qg(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Kg(e){return e.__v_skip||!Object.isExtensible(e)?0:qg(bg(e))}function ze(e){return _n(e)?e:za(e,!1,Bg,Hg,Lf)}function Bf(e){return za(e,!1,$g,Ug,Nf)}function ws(e){return za(e,!0,Fg,Wg,Mf)}function za(e,t,n,r,s){if(!Re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Kg(e);if(i===0)return e;const o=s.get(e);if(o)return o;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function dr(e){return _n(e)?dr(e.__v_raw):!!(e&&e.__v_isReactive)}function _n(e){return!!(e&&e.__v_isReadonly)}function _t(e){return!!(e&&e.__v_isShallow)}function qa(e){return e?!!e.__v_raw:!1}function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}function Ff(e){return!Se(e,"__v_skip")&&Object.isExtensible(e)&&pf(e,"__v_skip",!0),e}const Ge=e=>Re(e)?ze(e):e,ci=e=>Re(e)?ws(e):e;function $e(e){return e?e.__v_isRef===!0:!1}function fe(e){return $f(e,!1)}function ce(e){return $f(e,!0)}function $f(e,t){return $e(e)?e:new Gg(e,t)}class Gg{constructor(t,n){this.dep=new Ua,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ee(t),this._value=n?t:Ge(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||_t(t)||_n(t);t=r?t:ee(t),xn(t,n)&&(this._rawValue=t,this._value=r?t:Ge(t),this.dep.trigger())}}function yt(e){return $e(e)?e.value:e}function Zt(e){return ie(e)?e():yt(e)}const Yg={get:(e,t,n)=>t==="__v_raw"?e:yt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return $e(s)&&!$e(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Vf(e){return dr(e)?e:new Proxy(e,Yg)}function jf(e){const t=ne(e)?new Array(e.length):{};for(const n in e)t[n]=Hf(e,n);return t}class Jg{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Og(ee(this._object),this._key)}}class Xg{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function q(e,t,n){return $e(e)?e:ie(e)?new Xg(e):Re(e)&&arguments.length>1?Hf(e,t,n):fe(e)}function Hf(e,t,n){const r=e[t];return $e(r)?r:new Jg(e,t,n)}class Zg{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ua(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ss-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Te!==this)return Ef(this,!0),!0}get value(){const t=this.dep.track();return Rf(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Qg(e,t,n=!1){let r,s;return ie(e)?r=e:(r=e.get,s=e.set),new Zg(r,s,n)}const $s={},ui=new WeakMap;let Vn;function ev(e,t=!1,n=Vn){if(n){let r=ui.get(n);r||ui.set(n,r=[]),r.push(e)}}function tv(e,t,n=Ee){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:a,call:l}=n,u=E=>s?E:_t(E)||s===!1||s===0?cn(E,1):cn(E);let c,f,d,m,g=!1,h=!1;if($e(e)?(f=()=>e.value,g=_t(e)):dr(e)?(f=()=>u(e),g=!0):ne(e)?(h=!0,g=e.some(E=>dr(E)||_t(E)),f=()=>e.map(E=>{if($e(E))return E.value;if(dr(E))return u(E);if(ie(E))return l?l(E,2):E()})):ie(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){fn();try{d()}finally{dn()}}const E=Vn;Vn=c;try{return l?l(e,3,[m]):e(m)}finally{Vn=E}}:f=Yt,t&&s){const E=f,D=s===!0?1/0:s;f=()=>cn(E(),D)}const b=Cf(),v=()=>{c.stop(),b&&b.active&&Fa(b.effects,c)};if(i&&t){const E=t;t=(...D)=>{E(...D),v()}}let w=h?new Array(e.length).fill($s):$s;const S=E=>{if(!(!(c.flags&1)||!c.dirty&&!E))if(t){const D=c.run();if(s||g||(h?D.some((k,B)=>xn(k,w[B])):xn(D,w))){d&&d();const k=Vn;Vn=c;try{const B=[D,w===$s?void 0:h&&w[0]===$s?[]:w,m];w=D,l?l(t,3,B):t(...B)}finally{Vn=k}}}else c.run()};return a&&a(S),c=new xf(f),c.scheduler=o?()=>o(S,!1):S,m=E=>ev(E,!1,c),d=c.onStop=()=>{const E=ui.get(c);if(E){if(l)l(E,4);else for(const D of E)D();ui.delete(c)}},t?r?S(!0):w=c.run():o?o(S.bind(null,!0),!0):c.run(),v.pause=c.pause.bind(c),v.resume=c.resume.bind(c),v.stop=v,v}function cn(e,t=1/0,n){if(t<=0||!Re(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,$e(e))cn(e.value,t,n);else if(ne(e))for(let r=0;r{cn(r,t,n)});else if(vf(e)){for(const r in e)cn(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&cn(e[r],t,n)}return e}/** -* @vue/runtime-core v3.5.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ss(e,t,n,r){try{return r?e(...r):e()}catch(s){Li(s,t,n)}}function It(e,t,n,r){if(ie(e)){const s=Ss(e,t,n,r);return s&&hf(s)&&s.catch(i=>{Li(i,t,n)}),s}if(ne(e)){const s=[];for(let i=0;i>>1,s=lt[r],i=os(s);i=os(n)?lt.push(e):lt.splice(rv(t),0,e),e.flags|=1,Wf()}}function Wf(){fi||(fi=Uf.then(qf))}function sv(e){ne(e)?mr.push(...e):wn&&e.id===-1?wn.splice(sr+1,0,e):e.flags&1||(mr.push(e),e.flags|=1),Wf()}function Vl(e,t,n=Ht+1){for(;nos(n)-os(r));if(mr.length=0,wn){wn.push(...t);return}for(wn=t,sr=0;sre.id==null?e.flags&2?-1:1/0:e.id;function qf(e){try{for(Ht=0;Ht{r._d&&ec(-1);const i=di(t);let o;try{o=e(...s)}finally{di(i),r._d&&ec(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Yn(e,t){if(Je===null)return e;const n=Vi(Je),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,Xr=e=>e&&(e.disabled||e.disabled===""),jl=e=>e&&(e.defer||e.defer===""),Hl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ul=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Wo=(e,t)=>{const n=e&&e.to;return Me(n)?t?t(n):null:n},Jf={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,a,l,u){const{mc:c,pc:f,pbc:d,o:{insert:m,querySelector:g,createText:h,createComment:b}}=u,v=Xr(t.props);let{shapeFlag:w,children:S,dynamicChildren:E}=t;if(e==null){const D=t.el=h(""),k=t.anchor=h("");m(D,n,r),m(k,n,r);const B=(I,W)=>{w&16&&(s&&s.isCE&&(s.ce._teleportTarget=I),c(S,I,W,s,i,o,a,l))},T=()=>{const I=t.target=Wo(t.props,g),W=Xf(I,t,h,m);I&&(o!=="svg"&&Hl(I)?o="svg":o!=="mathml"&&Ul(I)&&(o="mathml"),v||(B(I,W),Ys(t,!1)))};v&&(B(n,k),Ys(t,!0)),jl(t.props)?(t.el.__isMounted=!1,ot(()=>{T(),delete t.el.__isMounted},i)):T()}else{if(jl(t.props)&&e.el.__isMounted===!1){ot(()=>{Jf.process(e,t,n,r,s,i,o,a,l,u)},i);return}t.el=e.el,t.targetStart=e.targetStart;const D=t.anchor=e.anchor,k=t.target=e.target,B=t.targetAnchor=e.targetAnchor,T=Xr(e.props),I=T?n:k,W=T?D:B;if(o==="svg"||Hl(k)?o="svg":(o==="mathml"||Ul(k))&&(o="mathml"),E?(d(e.dynamicChildren,E,I,s,i,o,a),Za(e,t,!0)):l||f(e,t,I,W,s,i,o,a,!1),v)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Vs(t,n,D,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const V=t.target=Wo(t.props,g);V&&Vs(t,V,null,u,0)}else T&&Vs(t,k,B,u,1);Ys(t,v)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:f,props:d}=e;if(f&&(s(u),s(c)),i&&s(l),o&16){const m=i||!Xr(d);for(let g=0;g{e.isMounted=!0}),Tt(()=>{e.isUnmounting=!0}),e}const Ct=[Function,Array],Qf={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ct,onEnter:Ct,onAfterEnter:Ct,onEnterCancelled:Ct,onBeforeLeave:Ct,onLeave:Ct,onAfterLeave:Ct,onLeaveCancelled:Ct,onBeforeAppear:Ct,onAppear:Ct,onAfterAppear:Ct,onAppearCancelled:Ct},ed=e=>{const t=e.subTree;return t.component?ed(t.component):t},av={name:"BaseTransition",props:Qf,setup(e,{slots:t}){const n=xs(),r=Zf();return()=>{const s=t.default&&Ga(t.default(),!0);if(!s||!s.length)return;const i=td(s),o=ee(e),{mode:a}=o;if(r.isLeaving)return ao(i);const l=Wl(i);if(!l)return ao(i);let u=as(l,o,r,n,f=>u=f);l.type!==Ye&&Jn(l,u);let c=n.subTree&&Wl(n.subTree);if(c&&c.type!==Ye&&!jn(l,c)&&ed(n).type!==Ye){let f=as(c,o,r,n);if(Jn(c,f),a==="out-in"&&l.type!==Ye)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},ao(i);a==="in-out"&&l.type!==Ye?f.delayLeave=(d,m,g)=>{const h=nd(r,c);h[String(c.key)]=c,d[an]=()=>{m(),d[an]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{g(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return i}}};function td(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ye){t=n;break}}return t}const lv=av;function nd(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 as(e,t,n,r,s){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:m,onAfterLeave:g,onLeaveCancelled:h,onBeforeAppear:b,onAppear:v,onAfterAppear:w,onAppearCancelled:S}=t,E=String(e.key),D=nd(n,e),k=(I,W)=>{I&&It(I,r,9,W)},B=(I,W)=>{const V=W[1];k(I,W),ne(I)?I.every(A=>A.length<=1)&&V():I.length<=1&&V()},T={mode:o,persisted:a,beforeEnter(I){let W=l;if(!n.isMounted)if(i)W=b||l;else return;I[an]&&I[an](!0);const V=D[E];V&&jn(e,V)&&V.el[an]&&V.el[an](),k(W,[I])},enter(I){let W=u,V=c,A=f;if(!n.isMounted)if(i)W=v||u,V=w||c,A=S||f;else return;let N=!1;const J=I[js]=X=>{N||(N=!0,X?k(A,[I]):k(V,[I]),T.delayedLeave&&T.delayedLeave(),I[js]=void 0)};W?B(W,[I,J]):J()},leave(I,W){const V=String(e.key);if(I[js]&&I[js](!0),n.isUnmounting)return W();k(d,[I]);let A=!1;const N=I[an]=J=>{A||(A=!0,W(),J?k(h,[I]):k(g,[I]),I[an]=void 0,D[V]===e&&delete D[V])};D[V]=e,m?B(m,[I,N]):N()},clone(I){const W=as(I,t,n,r,s);return s&&s(W),W}};return T}function ao(e){if(Mi(e))return e=En(e),e.children=null,e}function Wl(e){if(!Mi(e))return Yf(e.type)&&e.children?td(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ie(n.default))return n.default()}}function Jn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Jn(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 Ga(e,t=!1,n){let r=[],s=0;for(let i=0;i1)for(let i=0;iZr(g,t&&(ne(t)?t[h]:t),n,r,s));return}if(hr(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Zr(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?Vi(r.component):r.el,o=s?null:i,{i:a,r:l}=e,u=t&&t.r,c=a.refs===Ee?a.refs={}:a.refs,f=a.setupState,d=ee(f),m=f===Ee?df:g=>Se(d,g);if(u!=null&&u!==l){if(Me(u))c[u]=null,m(u)&&(f[u]=null);else if($e(u)){u.value=null;const g=t;g.k&&(c[g.k]=null)}}if(ie(l))Ss(l,a,12,[o,c]);else{const g=Me(l),h=$e(l);if(g||h){const b=()=>{if(e.f){const v=g?m(l)?f[l]:c[l]:l.value;if(s)ne(v)&&Fa(v,i);else if(ne(v))v.includes(i)||v.push(i);else if(g)c[l]=[i],m(l)&&(f[l]=c[l]);else{const w=[i];l.value=w,e.k&&(c[e.k]=w)}}else g?(c[l]=o,m(l)&&(f[l]=o)):h&&(l.value=o,e.k&&(c[e.k]=o))};o?(b.id=-1,ot(b,n)):b()}}}Ii().requestIdleCallback;Ii().cancelIdleCallback;const hr=e=>!!e.type.__asyncLoader,Mi=e=>e.type.__isKeepAlive;function id(e,t){ad(e,"a",t)}function od(e,t){ad(e,"da",t)}function ad(e,t,n=et){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Bi(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Mi(s.parent.vnode)&&cv(r,t,n,s),s=s.parent}}function cv(e,t,n,r){const s=Bi(t,e,r,!0);ld(()=>{Fa(r[t],s)},n)}function Bi(e,t,n=et,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{fn();const a=_s(n),l=It(t,n,e,o);return a(),dn(),l});return r?s.unshift(i):s.push(i),i}}const hn=e=>(t,n=et)=>{(!cs||e==="sp")&&Bi(e,(...r)=>t(...r),n)},Fi=hn("bm"),Pn=hn("m"),uv=hn("bu"),Ya=hn("u"),Tt=hn("bum"),ld=hn("um"),fv=hn("sp"),dv=hn("rtg"),mv=hn("rtc");function hv(e,t=et){Bi("ec",e,t)}const cd="components";function gv(e,t){return dd(cd,e,!0,t)||e}const ud=Symbol.for("v-ndc");function fd(e){return Me(e)?dd(cd,e,!1)||e:e||ud}function dd(e,t,n=!0,r=!1){const s=Je||et;if(s){const i=s.type;{const a=tp(i,!1);if(a&&(a===t||a===ct(t)||a===Ar(ct(t))))return i}const o=zl(s[e]||i[e],t)||zl(s.appContext[e],t);return!o&&r?i:o}}function zl(e,t){return e&&(e[t]||e[ct(t)]||e[Ar(ct(t))])}function vv(e,t,n,r){let s;const i=n,o=ne(e);if(o||Me(e)){const a=o&&dr(e);let l=!1,u=!1;a&&(l=!_t(e),u=_n(e),e=Di(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,i));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l{const i=r.fn(...s);return i&&(i.key=r.key),i}:r.fn)}return e}function kx(e,t,n={},r,s){if(Je.ce||Je.parent&&hr(Je.parent)&&Je.parent.ce)return t!=="default"&&(n.name=t),xt(),Kt(Ie,null,[R("slot",n,r)],64);let i=e[t];i&&i._c&&(i._d=!1),xt();const o=i&&md(i(n)),a=n.key||o&&o.key,l=Kt(Ie,{key:(a&&!mn(a)?a:`_${t}`)+(!o&&r?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),l}function md(e){return e.some(t=>wr(t)?!(t.type===Ye||t.type===Ie&&!md(t.children)):!0)?e:null}const zo=e=>e?Id(e)?Vi(e):zo(e.parent):null,Qr=He(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=>zo(e.parent),$root:e=>zo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>gd(e),$forceUpdate:e=>e.f||(e.f=()=>{Ka(e.update)}),$nextTick:e=>e.n||(e.n=At.bind(e.proxy)),$watch:e=>Bv.bind(e)}),lo=(e,t)=>e!==Ee&&!e.__isScriptSetup&&Se(e,t),pv={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:l}=e;let u;if(t[0]!=="$"){const m=o[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(lo(r,t))return o[t]=1,r[t];if(s!==Ee&&Se(s,t))return o[t]=2,s[t];if((u=e.propsOptions[0])&&Se(u,t))return o[t]=3,i[t];if(n!==Ee&&Se(n,t))return o[t]=4,n[t];qo&&(o[t]=0)}}const c=Qr[t];let f,d;if(c)return t==="$attrs"&&Qe(e.attrs,"get",""),c(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Ee&&Se(n,t))return o[t]=4,n[t];if(d=l.config.globalProperties,Se(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return lo(s,t)?(s[t]=n,!0):r!==Ee&&Se(r,t)?(r[t]=n,!0):Se(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i,type:o}},a){let l,u;return!!(n[a]||e!==Ee&&a[0]!=="$"&&Se(e,a)||lo(t,a)||(l=i[0])&&Se(l,a)||Se(r,a)||Se(Qr,a)||Se(s.config.globalProperties,a)||(u=o.__cssModules)&&u[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Se(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ql(e){return ne(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let qo=!0;function yv(e){const t=gd(e),n=e.proxy,r=e.ctx;qo=!1,t.beforeCreate&&Kl(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:m,updated:g,activated:h,deactivated:b,beforeDestroy:v,beforeUnmount:w,destroyed:S,unmounted:E,render:D,renderTracked:k,renderTriggered:B,errorCaptured:T,serverPrefetch:I,expose:W,inheritAttrs:V,components:A,directives:N,filters:J}=t;if(u&&bv(u,r,null),o)for(const oe in o){const se=o[oe];ie(se)&&(r[oe]=se.bind(n))}if(s){const oe=s.call(n,n);Re(oe)&&(e.data=ze(oe))}if(qo=!0,i)for(const oe in i){const se=i[oe],Fe=ie(se)?se.bind(n,n):ie(se.get)?se.get.bind(n,n):Yt,Ce=!ie(se)&&ie(se.set)?se.set.bind(n):Yt,Le=M({get:Fe,set:Ce});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>Le.value,set:xe=>Le.value=xe})}if(a)for(const oe in a)hd(a[oe],r,n,oe);if(l){const oe=ie(l)?l.call(n):l;Reflect.ownKeys(oe).forEach(se=>{rt(se,oe[se])})}c&&Kl(c,e,"c");function re(oe,se){ne(se)?se.forEach(Fe=>oe(Fe.bind(n))):se&&oe(se.bind(n))}if(re(Fi,f),re(Pn,d),re(uv,m),re(Ya,g),re(id,h),re(od,b),re(hv,T),re(mv,k),re(dv,B),re(Tt,w),re(ld,E),re(fv,I),ne(W))if(W.length){const oe=e.exposed||(e.exposed={});W.forEach(se=>{Object.defineProperty(oe,se,{get:()=>n[se],set:Fe=>n[se]=Fe,enumerable:!0})})}else e.exposed||(e.exposed={});D&&e.render===Yt&&(e.render=D),V!=null&&(e.inheritAttrs=V),A&&(e.components=A),N&&(e.directives=N),I&&sd(e)}function bv(e,t,n=Yt){ne(e)&&(e=Ko(e));for(const r in e){const s=e[r];let i;Re(s)?"default"in s?i=ye(s.from||r,s.default,!0):i=ye(s.from||r):i=ye(s),$e(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Kl(e,t,n){It(ne(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function hd(e,t,n,r){let s=r.includes(".")?Ad(n,r):()=>n[r];if(Me(e)){const i=t[e];ie(i)&&me(s,i)}else if(ie(e))me(s,e.bind(n));else if(Re(e))if(ne(e))e.forEach(i=>hd(i,t,n,r));else{const i=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(i)&&me(s,i,e)}}function gd(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>mi(l,u,o,!0)),mi(l,t,o)),Re(t)&&i.set(t,l),l}function mi(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&mi(e,i,n,!0),s&&s.forEach(o=>mi(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=wv[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const wv={data:Gl,props:Yl,emits:Yl,methods:Wr,computed:Wr,beforeCreate:it,created:it,beforeMount:it,mounted:it,beforeUpdate:it,updated:it,beforeDestroy:it,beforeUnmount:it,destroyed:it,unmounted:it,activated:it,deactivated:it,errorCaptured:it,serverPrefetch:it,components:Wr,directives:Wr,watch:Cv,provide:Gl,inject:Sv};function Gl(e,t){return t?e?function(){return He(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function Sv(e,t){return Wr(Ko(e),Ko(t))}function Ko(e){if(ne(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(r&&r.proxy):t}}const pd={},yd=()=>Object.create(pd),bd=e=>Object.getPrototypeOf(e)===pd;function Ev(e,t,n,r=!1){const s={},i=yd();e.propsDefaults=Object.create(null),wd(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:Bf(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Av(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=ee(s),[l]=e.propsOptions;let u=!1;if((r||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,m]=Sd(f,t,!0);He(o,d),m&&a.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return Re(e)&&r.set(e,ur),ur;if(ne(i))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Xa=e=>ne(e)?e.map(Wt):[Wt(e)],Rv=(e,t,n)=>{if(t._n)return t;const r=We((...s)=>Xa(t(...s)),n);return r._c=!1,r},Cd=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ja(s))continue;const i=e[s];if(ie(i))t[s]=Rv(s,i,r);else if(i!=null){const o=Xa(i);t[s]=()=>o}}},xd=(e,t)=>{const n=Xa(t);e.slots.default=()=>n},_d=(e,t,n)=>{for(const r in t)(n||!Ja(r))&&(e[r]=t[r])},Pv=(e,t,n)=>{const r=e.slots=yd();if(e.vnode.shapeFlag&32){const s=t._;s?(_d(r,t,n),n&&pf(r,"_",s,!0)):Cd(t,r)}else t&&xd(e,t)},kv=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=Ee;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:_d(s,t,n):(i=!t.$stable,Cd(t,s)),o=t}else t&&(xd(e,t),o={default:1});if(i)for(const a in s)!Ja(a)&&o[a]==null&&delete s[a]},ot=Wv;function Ov(e){return Iv(e)}function Iv(e,t){const n=Ii();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:m=Yt,insertStaticContent:g}=e,h=(p,y,C,O=null,L=null,P=null,z=void 0,U=null,H=!!y.dynamicChildren)=>{if(p===y)return;p&&!jn(p,y)&&(O=x(p),xe(p,L,P,!0),p=null),y.patchFlag===-2&&(H=!1,y.dynamicChildren=null);const{type:$,ref:te,shapeFlag:G}=y;switch($){case Cs:b(p,y,C,O);break;case Ye:v(p,y,C,O);break;case uo:p==null&&w(y,C,O,z);break;case Ie:A(p,y,C,O,L,P,z,U,H);break;default:G&1?D(p,y,C,O,L,P,z,U,H):G&6?N(p,y,C,O,L,P,z,U,H):(G&64||G&128)&&$.process(p,y,C,O,L,P,z,U,H,Y)}te!=null&&L?Zr(te,p&&p.ref,P,y||p,!y):te==null&&p&&p.ref!=null&&Zr(p.ref,null,P,p,!0)},b=(p,y,C,O)=>{if(p==null)r(y.el=a(y.children),C,O);else{const L=y.el=p.el;y.children!==p.children&&u(L,y.children)}},v=(p,y,C,O)=>{p==null?r(y.el=l(y.children||""),C,O):y.el=p.el},w=(p,y,C,O)=>{[p.el,p.anchor]=g(p.children,y,C,O,p.el,p.anchor)},S=({el:p,anchor:y},C,O)=>{let L;for(;p&&p!==y;)L=d(p),r(p,C,O),p=L;r(y,C,O)},E=({el:p,anchor:y})=>{let C;for(;p&&p!==y;)C=d(p),s(p),p=C;s(y)},D=(p,y,C,O,L,P,z,U,H)=>{y.type==="svg"?z="svg":y.type==="math"&&(z="mathml"),p==null?k(y,C,O,L,P,z,U,H):I(p,y,L,P,z,U,H)},k=(p,y,C,O,L,P,z,U)=>{let H,$;const{props:te,shapeFlag:G,transition:Q,dirs:ae}=p;if(H=p.el=o(p.type,P,te&&te.is,te),G&8?c(H,p.children):G&16&&T(p.children,H,null,O,L,co(p,P),z,U),ae&&Dn(p,null,O,"created"),B(H,p,p.scopeId,z,O),te){for(const Ae in te)Ae!=="value"&&!Gr(Ae)&&i(H,Ae,null,te[Ae],P,O);"value"in te&&i(H,"value",null,te.value,P),($=te.onVnodeBeforeMount)&&Ft($,O,p)}ae&&Dn(p,null,O,"beforeMount");const ge=Dv(L,Q);ge&&Q.beforeEnter(H),r(H,y,C),(($=te&&te.onVnodeMounted)||ge||ae)&&ot(()=>{$&&Ft($,O,p),ge&&Q.enter(H),ae&&Dn(p,null,O,"mounted")},L)},B=(p,y,C,O,L)=>{if(C&&m(p,C),O)for(let P=0;P{for(let $=H;${const U=y.el=p.el;let{patchFlag:H,dynamicChildren:$,dirs:te}=y;H|=p.patchFlag&16;const G=p.props||Ee,Q=y.props||Ee;let ae;if(C&&Ln(C,!1),(ae=Q.onVnodeBeforeUpdate)&&Ft(ae,C,y,p),te&&Dn(y,p,C,"beforeUpdate"),C&&Ln(C,!0),(G.innerHTML&&Q.innerHTML==null||G.textContent&&Q.textContent==null)&&c(U,""),$?W(p.dynamicChildren,$,U,C,O,co(y,L),P):z||se(p,y,U,null,C,O,co(y,L),P,!1),H>0){if(H&16)V(U,G,Q,C,L);else if(H&2&&G.class!==Q.class&&i(U,"class",null,Q.class,L),H&4&&i(U,"style",G.style,Q.style,L),H&8){const ge=y.dynamicProps;for(let Ae=0;Ae{ae&&Ft(ae,C,y,p),te&&Dn(y,p,C,"updated")},O)},W=(p,y,C,O,L,P,z)=>{for(let U=0;U{if(y!==C){if(y!==Ee)for(const P in y)!Gr(P)&&!(P in C)&&i(p,P,y[P],null,L,O);for(const P in C){if(Gr(P))continue;const z=C[P],U=y[P];z!==U&&P!=="value"&&i(p,P,U,z,L,O)}"value"in C&&i(p,"value",y.value,C.value,L)}},A=(p,y,C,O,L,P,z,U,H)=>{const $=y.el=p?p.el:a(""),te=y.anchor=p?p.anchor:a("");let{patchFlag:G,dynamicChildren:Q,slotScopeIds:ae}=y;ae&&(U=U?U.concat(ae):ae),p==null?(r($,C,O),r(te,C,O),T(y.children||[],C,te,L,P,z,U,H)):G>0&&G&64&&Q&&p.dynamicChildren?(W(p.dynamicChildren,Q,C,L,P,z,U),(y.key!=null||L&&y===L.subTree)&&Za(p,y,!0)):se(p,y,C,te,L,P,z,U,H)},N=(p,y,C,O,L,P,z,U,H)=>{y.slotScopeIds=U,p==null?y.shapeFlag&512?L.ctx.activate(y,C,O,z,H):J(y,C,O,L,P,z,H):X(p,y,H)},J=(p,y,C,O,L,P,z)=>{const U=p.component=Jv(p,O,L);if(Mi(p)&&(U.ctx.renderer=Y),Xv(U,!1,z),U.asyncDep){if(L&&L.registerDep(U,re,z),!p.el){const H=U.subTree=R(Ye);v(null,H,y,C),p.placeholder=H.el}}else re(U,p,y,C,L,P,z)},X=(p,y,C)=>{const O=y.component=p.component;if(Hv(p,y,C))if(O.asyncDep&&!O.asyncResolved){oe(O,y,C);return}else O.next=y,O.update();else y.el=p.el,O.vnode=y},re=(p,y,C,O,L,P,z)=>{const U=()=>{if(p.isMounted){let{next:G,bu:Q,u:ae,parent:ge,vnode:Ae}=p;{const Mt=Ed(p);if(Mt){G&&(G.el=Ae.el,oe(p,G,z)),Mt.asyncDep.then(()=>{p.isUnmounted||U()});return}}let _e=G,ft;Ln(p,!1),G?(G.el=Ae.el,oe(p,G,z)):G=Ae,Q&&Gs(Q),(ft=G.props&&G.props.onVnodeBeforeUpdate)&&Ft(ft,ge,G,Ae),Ln(p,!0);const dt=Zl(p),Nt=p.subTree;p.subTree=dt,h(Nt,dt,f(Nt.el),x(Nt),p,L,P),G.el=dt.el,_e===null&&Uv(p,dt.el),ae&&ot(ae,L),(ft=G.props&&G.props.onVnodeUpdated)&&ot(()=>Ft(ft,ge,G,Ae),L)}else{let G;const{el:Q,props:ae}=y,{bm:ge,m:Ae,parent:_e,root:ft,type:dt}=p,Nt=hr(y);Ln(p,!1),ge&&Gs(ge),!Nt&&(G=ae&&ae.onVnodeBeforeMount)&&Ft(G,_e,y),Ln(p,!0);{ft.ce&&ft.ce._def.shadowRoot!==!1&&ft.ce._injectChildStyle(dt);const Mt=p.subTree=Zl(p);h(null,Mt,C,O,p,L,P),y.el=Mt.el}if(Ae&&ot(Ae,L),!Nt&&(G=ae&&ae.onVnodeMounted)){const Mt=y;ot(()=>Ft(G,_e,Mt),L)}(y.shapeFlag&256||_e&&hr(_e.vnode)&&_e.vnode.shapeFlag&256)&&p.a&&ot(p.a,L),p.isMounted=!0,y=C=O=null}};p.scope.on();const H=p.effect=new xf(U);p.scope.off();const $=p.update=H.run.bind(H),te=p.job=H.runIfDirty.bind(H);te.i=p,te.id=p.uid,H.scheduler=()=>Ka(te),Ln(p,!0),$()},oe=(p,y,C)=>{y.component=p;const O=p.vnode.props;p.vnode=y,p.next=null,Av(p,y.props,O,C),kv(p,y.children,C),fn(),Vl(p),dn()},se=(p,y,C,O,L,P,z,U,H=!1)=>{const $=p&&p.children,te=p?p.shapeFlag:0,G=y.children,{patchFlag:Q,shapeFlag:ae}=y;if(Q>0){if(Q&128){Ce($,G,C,O,L,P,z,U,H);return}else if(Q&256){Fe($,G,C,O,L,P,z,U,H);return}}ae&8?(te&16&&Ne($,L,P),G!==$&&c(C,G)):te&16?ae&16?Ce($,G,C,O,L,P,z,U,H):Ne($,L,P,!0):(te&8&&c(C,""),ae&16&&T(G,C,O,L,P,z,U,H))},Fe=(p,y,C,O,L,P,z,U,H)=>{p=p||ur,y=y||ur;const $=p.length,te=y.length,G=Math.min($,te);let Q;for(Q=0;Qte?Ne(p,L,P,!0,!1,G):T(y,C,O,L,P,z,U,H,G)},Ce=(p,y,C,O,L,P,z,U,H)=>{let $=0;const te=y.length;let G=p.length-1,Q=te-1;for(;$<=G&&$<=Q;){const ae=p[$],ge=y[$]=H?Sn(y[$]):Wt(y[$]);if(jn(ae,ge))h(ae,ge,C,null,L,P,z,U,H);else break;$++}for(;$<=G&&$<=Q;){const ae=p[G],ge=y[Q]=H?Sn(y[Q]):Wt(y[Q]);if(jn(ae,ge))h(ae,ge,C,null,L,P,z,U,H);else break;G--,Q--}if($>G){if($<=Q){const ae=Q+1,ge=aeQ)for(;$<=G;)xe(p[$],L,P,!0),$++;else{const ae=$,ge=$,Ae=new Map;for($=ge;$<=Q;$++){const vt=y[$]=H?Sn(y[$]):Wt(y[$]);vt.key!=null&&Ae.set(vt.key,$)}let _e,ft=0;const dt=Q-ge+1;let Nt=!1,Mt=0;const Mr=new Array(dt);for($=0;$=dt){xe(vt,L,P,!0);continue}let Bt;if(vt.key!=null)Bt=Ae.get(vt.key);else for(_e=ge;_e<=Q;_e++)if(Mr[_e-ge]===0&&jn(vt,y[_e])){Bt=_e;break}Bt===void 0?xe(vt,L,P,!0):(Mr[Bt-ge]=$+1,Bt>=Mt?Mt=Bt:Nt=!0,h(vt,y[Bt],C,null,L,P,z,U,H),ft++)}const Ll=Nt?Lv(Mr):ur;for(_e=Ll.length-1,$=dt-1;$>=0;$--){const vt=ge+$,Bt=y[vt],Nl=y[vt+1],Ml=vt+1{const{el:P,type:z,transition:U,children:H,shapeFlag:$}=p;if($&6){Le(p.component.subTree,y,C,O);return}if($&128){p.suspense.move(y,C,O);return}if($&64){z.move(p,y,C,Y);return}if(z===Ie){r(P,y,C);for(let G=0;GU.enter(P),L);else{const{leave:G,delayLeave:Q,afterLeave:ae}=U,ge=()=>{p.ctx.isUnmounted?s(P):r(P,y,C)},Ae=()=>{P._isLeaving&&P[an](!0),G(P,()=>{ge(),ae&&ae()})};Q?Q(P,ge,Ae):Ae()}else r(P,y,C)},xe=(p,y,C,O=!1,L=!1)=>{const{type:P,props:z,ref:U,children:H,dynamicChildren:$,shapeFlag:te,patchFlag:G,dirs:Q,cacheIndex:ae}=p;if(G===-2&&(L=!1),U!=null&&(fn(),Zr(U,null,C,p,!0),dn()),ae!=null&&(y.renderCache[ae]=void 0),te&256){y.ctx.deactivate(p);return}const ge=te&1&&Q,Ae=!hr(p);let _e;if(Ae&&(_e=z&&z.onVnodeBeforeUnmount)&&Ft(_e,y,p),te&6)ue(p.component,C,O);else{if(te&128){p.suspense.unmount(C,O);return}ge&&Dn(p,null,y,"beforeUnmount"),te&64?p.type.remove(p,y,C,Y,O):$&&!$.hasOnce&&(P!==Ie||G>0&&G&64)?Ne($,y,C,!1,!0):(P===Ie&&G&384||!L&&te&16)&&Ne(H,y,C),O&&je(p)}(Ae&&(_e=z&&z.onVnodeUnmounted)||ge)&&ot(()=>{_e&&Ft(_e,y,p),ge&&Dn(p,null,y,"unmounted")},C)},je=p=>{const{type:y,el:C,anchor:O,transition:L}=p;if(y===Ie){st(C,O);return}if(y===uo){E(p);return}const P=()=>{s(C),L&&!L.persisted&&L.afterLeave&&L.afterLeave()};if(p.shapeFlag&1&&L&&!L.persisted){const{leave:z,delayLeave:U}=L,H=()=>z(C,P);U?U(p.el,P,H):H()}else P()},st=(p,y)=>{let C;for(;p!==y;)C=d(p),s(p),p=C;s(y)},ue=(p,y,C)=>{const{bum:O,scope:L,job:P,subTree:z,um:U,m:H,a:$}=p;Xl(H),Xl($),O&&Gs(O),L.stop(),P&&(P.flags|=8,xe(z,p,y,C)),U&&ot(U,y),ot(()=>{p.isUnmounted=!0},y)},Ne=(p,y,C,O=!1,L=!1,P=0)=>{for(let z=P;z{if(p.shapeFlag&6)return x(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const y=d(p.anchor||p.el),C=y&&y[Gf];return C?d(C):y};let F=!1;const j=(p,y,C)=>{p==null?y._vnode&&xe(y._vnode,null,null,!0):h(y._vnode||null,p,y,null,null,null,C),y._vnode=p,F||(F=!0,Vl(),zf(),F=!1)},Y={p:h,um:xe,m:Le,r:je,mt:J,mc:T,pc:se,pbc:W,n:x,o:e};return{render:j,hydrate:void 0,createApp:_v(j)}}function co({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 Ln({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Dv(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Za(e,t,n=!1){const r=e.children,s=t.children;if(ne(r)&&ne(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Ed(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ed(t)}function Xl(e){if(e)for(let t=0;tye(Nv);function Qt(e,t){return Qa(e,null,t)}function me(e,t,n){return Qa(e,t,n)}function Qa(e,t,n=Ee){const{immediate:r,deep:s,flush:i,once:o}=n,a=He({},n),l=t&&r||!t&&i!=="post";let u;if(cs){if(i==="sync"){const m=Mv();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!l){const m=()=>{};return m.stop=Yt,m.resume=Yt,m.pause=Yt,m}}const c=et;a.call=(m,g,h)=>It(m,c,g,h);let f=!1;i==="post"?a.scheduler=m=>{ot(m,c&&c.suspense)}:i!=="sync"&&(f=!0,a.scheduler=(m,g)=>{g?m():Ka(m)}),a.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const d=tv(e,t,a);return cs&&(u?u.push(d):l&&d()),d}function Bv(e,t,n){const r=this.proxy,s=Me(e)?e.includes(".")?Ad(r,e):()=>r[e]:e.bind(r,r);let i;ie(t)?i=t:(i=t.handler,n=t);const o=_s(this),a=Qa(s,i.bind(r),n);return o(),a}function Ad(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ct(t)}Modifiers`]||e[`${Rn(t)}Modifiers`];function $v(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ee;let s=n;const i=t.startsWith("update:"),o=i&&Fv(r,t.slice(7));o&&(o.trim&&(s=n.map(c=>Me(c)?c.trim():c)),o.number&&(s=n.map(Vo)));let a,l=r[a=no(t)]||r[a=no(ct(t))];!l&&i&&(l=r[a=no(Rn(t))]),l&&It(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,It(u,e,6,s)}}function Td(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!ie(e)){const l=u=>{const c=Td(u,t,!0);c&&(a=!0,He(o,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!a?(Re(e)&&r.set(e,null),null):(ne(i)?i.forEach(l=>o[l]=null):He(o,i),Re(e)&&r.set(e,o),o)}function $i(e,t){return!e||!Pi(t)?!1:(t=t.slice(2).replace(/Once$/,""),Se(e,t[0].toLowerCase()+t.slice(1))||Se(e,Rn(t))||Se(e,t))}function Zl(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:m,ctx:g,inheritAttrs:h}=e,b=di(e);let v,w;try{if(n.shapeFlag&4){const E=s||r,D=E;v=Wt(u.call(D,E,c,f,m,d,g)),w=a}else{const E=t;v=Wt(E.length>1?E(f,{attrs:a,slots:o,emit:l}):E(f,null)),w=t.props?a:Vv(a)}}catch(E){es.length=0,Li(E,e,1),v=R(Ye)}let S=v;if(w&&h!==!1){const E=Object.keys(w),{shapeFlag:D}=S;E.length&&D&7&&(i&&E.some(Ba)&&(w=jv(w,i)),S=En(S,w,!1,!0))}return n.dirs&&(S=En(S,null,!1,!0),S.dirs=S.dirs?S.dirs.concat(n.dirs):n.dirs),n.transition&&Jn(S,n.transition),v=S,di(b),v}const Vv=e=>{let t;for(const n in e)(n==="class"||n==="style"||Pi(n))&&((t||(t={}))[n]=e[n]);return t},jv=(e,t)=>{const n={};for(const r in e)(!Ba(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Hv(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Ql(r,o,u):!!o;if(l&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function Wv(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):sv(e)}const Ie=Symbol.for("v-fgt"),Cs=Symbol.for("v-txt"),Ye=Symbol.for("v-cmt"),uo=Symbol.for("v-stc"),es=[];let bt=null;function xt(e=!1){es.push(bt=e?null:[])}function zv(){es.pop(),bt=es[es.length-1]||null}let ls=1;function ec(e,t=!1){ls+=e,e<0&&bt&&t&&(bt.hasOnce=!0)}function Pd(e){return e.dynamicChildren=ls>0?bt||ur:null,zv(),ls>0&&bt&&bt.push(e),e}function kd(e,t,n,r,s,i){return Pd(K(e,t,n,r,s,i,!0))}function Kt(e,t,n,r,s){return Pd(R(e,t,n,r,s,!0))}function wr(e){return e?e.__v_isVNode===!0:!1}function jn(e,t){return e.type===t.type&&e.key===t.key}const Od=({key:e})=>e??null,Js=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Me(e)||$e(e)||ie(e)?{i:Je,r:e,k:t,f:!!n}:e:null);function K(e,t=null,n=null,r=0,s=null,i=e===Ie?0:1,o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Od(t),ref:t&&Js(t),scopeId:Kf,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Je};return a?(el(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=Me(n)?8:16),ls>0&&!o&&bt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&bt.push(l),l}const R=qv;function qv(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===ud)&&(e=Ye),wr(e)){const a=En(e,t,!0);return n&&el(a,n),ls>0&&!i&&bt&&(a.shapeFlag&6?bt[bt.indexOf(e)]=a:bt.push(a)),a.patchFlag=-2,a}if(np(e)&&(e=e.__vccOpts),t){t=Kv(t);let{class:a,style:l}=t;a&&!Me(a)&&(t.class=ve(a)),Re(l)&&(qa(l)&&!ne(l)&&(l=He({},l)),t.style=Pe(l))}const o=Me(e)?1:Rd(e)?128:Yf(e)?64:Re(e)?4:ie(e)?2:0;return K(e,t,n,r,s,o,i,!0)}function Kv(e){return e?qa(e)||bd(e)?He({},e):e:null}function En(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:l}=e,u=t?ke(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Od(u),ref:t&&t.ref?n&&i?ne(i)?i.concat(Js(t)):[i,Js(t)]:Js(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&En(e.ssContent),ssFallback:e.ssFallback&&En(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Jn(c,l.clone(c)),c}function zr(e=" ",t=0){return R(Cs,null,e,t)}function Yo(e="",t=!1){return t?(xt(),Kt(Ye,null,e)):R(Ye,null,e)}function Wt(e){return e==null||typeof e=="boolean"?R(Ye):ne(e)?R(Ie,null,e.slice()):wr(e)?Sn(e):R(Cs,null,String(e))}function Sn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:En(e)}function el(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ne(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),el(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!bd(t)?t._ctx=Je:s===3&&Je&&(Je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Je},n=32):(t=String(t),r&64?(n=16,t=[zr(t)]):n=8);e.children=t,e.shapeFlag|=n}function ke(...e){const t={};for(let n=0;net||Je;let hi,Jo;{const e=Ii(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};hi=t("__VUE_INSTANCE_SETTERS__",n=>et=n),Jo=t("__VUE_SSR_SETTERS__",n=>cs=n)}const _s=e=>{const t=et;return hi(e),e.scope.on(),()=>{e.scope.off(),hi(t)}},tc=()=>{et&&et.scope.off(),hi(null)};function Id(e){return e.vnode.shapeFlag&4}let cs=!1;function Xv(e,t=!1,n=!1){t&&Jo(t);const{props:r,children:s}=e.vnode,i=Id(e);Ev(e,r,i,t),Pv(e,s,n||t);const o=i?Zv(e,t):void 0;return t&&Jo(!1),o}function Zv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pv);const{setup:r}=n;if(r){fn();const s=e.setupContext=r.length>1?ep(e):null,i=_s(e),o=Ss(r,e,0,[e.props,s]),a=hf(o);if(dn(),i(),(a||e.sp)&&!hr(e)&&sd(e),a){if(o.then(tc,tc),t)return o.then(l=>{nc(e,l)}).catch(l=>{Li(l,e,0)});e.asyncDep=o}else nc(e,o)}else Dd(e)}function nc(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Re(t)&&(e.setupState=Vf(t)),Dd(e)}function Dd(e,t,n){const r=e.type;e.render||(e.render=r.render||Yt);{const s=_s(e);fn();try{yv(e)}finally{dn(),s()}}}const Qv={get(e,t){return Qe(e,"get",""),e[t]}};function ep(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Qv),slots:e.slots,emit:e.emit,expose:t}}function Vi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Vf(Ff(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Qr)return Qr[n](e)},has(t,n){return n in t||n in Qr}})):e.proxy}function tp(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function np(e){return ie(e)&&"__vccOpts"in e}const M=(e,t)=>Qg(e,t,cs);function kn(e,t,n){const r=arguments.length;return r===2?Re(t)&&!ne(t)?wr(t)?R(e,null,[t]):R(e,t):R(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&wr(n)&&(n=[n]),R(e,t,n))}const rp="3.5.20";/** -* @vue/runtime-dom v3.5.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Xo;const rc=typeof window<"u"&&window.trustedTypes;if(rc)try{Xo=rc.createPolicy("vue",{createHTML:e=>e})}catch{}const Ld=Xo?e=>Xo.createHTML(e):e=>e,sp="http://www.w3.org/2000/svg",ip="http://www.w3.org/1998/Math/MathML",sn=typeof document<"u"?document:null,sc=sn&&sn.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 s=t==="svg"?sn.createElementNS(sp,e):t==="mathml"?sn.createElementNS(ip,e):n?sn.createElement(e,{is:n}):sn.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>sn.createTextNode(e),createComment:e=>sn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>sn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{sc.innerHTML=Ld(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=sc.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},pn="transition",Fr="animation",Sr=Symbol("_vtc"),Nd={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},Md=He({},Qf,Nd),ap=e=>(e.displayName="Transition",e.props=Md,e),An=ap((e,{slots:t})=>kn(lv,Bd(e),t)),Nn=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},ic=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function Bd(e){const t={};for(const A in e)A in Nd||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,g=lp(s),h=g&&g[0],b=g&&g[1],{onBeforeEnter:v,onEnter:w,onEnterCancelled:S,onLeave:E,onLeaveCancelled:D,onBeforeAppear:k=v,onAppear:B=w,onAppearCancelled:T=S}=t,I=(A,N,J,X)=>{A._enterCancelled=X,bn(A,N?c:a),bn(A,N?u:o),J&&J()},W=(A,N)=>{A._isLeaving=!1,bn(A,f),bn(A,m),bn(A,d),N&&N()},V=A=>(N,J)=>{const X=A?B:w,re=()=>I(N,A,J);Nn(X,[N,re]),oc(()=>{bn(N,A?l:i),jt(N,A?c:a),ic(X)||ac(N,r,h,re)})};return He(t,{onBeforeEnter(A){Nn(v,[A]),jt(A,i),jt(A,o)},onBeforeAppear(A){Nn(k,[A]),jt(A,l),jt(A,u)},onEnter:V(!1),onAppear:V(!0),onLeave(A,N){A._isLeaving=!0;const J=()=>W(A,N);jt(A,f),A._enterCancelled?(jt(A,d),Zo()):(Zo(),jt(A,d)),oc(()=>{A._isLeaving&&(bn(A,f),jt(A,m),ic(E)||ac(A,r,b,J))}),Nn(E,[A,J])},onEnterCancelled(A){I(A,!1,void 0,!0),Nn(S,[A])},onAppearCancelled(A){I(A,!0,void 0,!0),Nn(T,[A])},onLeaveCancelled(A){W(A),Nn(D,[A])}})}function lp(e){if(e==null)return null;if(Re(e))return[fo(e.enter),fo(e.leave)];{const t=fo(e);return[t,t]}}function fo(e){return Cg(e)}function jt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Sr]||(e[Sr]=new Set)).add(t)}function bn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Sr];n&&(n.delete(t),n.size||(e[Sr]=void 0))}function oc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let cp=0;function ac(e,t,n,r){const s=e._endId=++cp,i=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:a,propCount:l}=Fd(e,t);if(!o)return r();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=m=>{m.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[g]||"").split(", "),s=r(`${pn}Delay`),i=r(`${pn}Duration`),o=lc(s,i),a=r(`${Fr}Delay`),l=r(`${Fr}Duration`),u=lc(a,l);let c=null,f=0,d=0;t===pn?o>0&&(c=pn,f=o,d=i.length):t===Fr?u>0&&(c=Fr,f=u,d=l.length):(f=Math.max(o,u),c=f>0?o>u?pn:Fr:null,d=c?c===pn?i.length:l.length:0);const m=c===pn&&/\b(transform|all)(,|$)/.test(r(`${pn}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:m}}function lc(e,t){for(;e.lengthcc(n)+cc(e[r])))}function cc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Zo(){return document.body.offsetHeight}function up(e,t,n){const r=e[Sr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const gi=Symbol("_vod"),$d=Symbol("_vsh"),tl={name:"show",beforeMount(e,{value:t},{transition:n}){e[gi]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):$r(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),$r(e,!0),r.enter(e)):r.leave(e,()=>{$r(e,!1)}):$r(e,t))},beforeUnmount(e,{value:t}){$r(e,t)}};function $r(e,t){e.style.display=t?e[gi]:"none",e[$d]=!t}const fp=Symbol(""),dp=/(^|;)\s*display\s*:/;function mp(e,t,n){const r=e.style,s=Me(n);let i=!1;if(n&&!s){if(t)if(Me(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&Xs(r,a,"")}else for(const o in t)n[o]==null&&Xs(r,o,"");for(const o in n)o==="display"&&(i=!0),Xs(r,o,n[o])}else if(s){if(t!==n){const o=r[fp];o&&(n+=";"+o),r.cssText=n,i=dp.test(n)}}else t&&e.removeAttribute("style");gi in e&&(e[gi]=i?r.display:"",e[$d]&&(r.display="none"))}const uc=/\s*!important$/;function Xs(e,t,n){if(ne(n))n.forEach(r=>Xs(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=hp(e,t);uc.test(n)?e.setProperty(Rn(r),n.replace(uc,""),"important"):e[r]=n}}const fc=["Webkit","Moz","ms"],mo={};function hp(e,t){const n=mo[t];if(n)return n;let r=ct(t);if(r!=="filter"&&r in e)return mo[t]=r;r=Ar(r);for(let s=0;sho||(yp.then(()=>ho=0),ho=Date.now());function wp(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;It(Sp(r,n.value),t,5,[r])};return n.value=e,n.attached=bp(),n}function Sp(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const pc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cp=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?up(e,r,o):t==="style"?mp(e,n,r):Pi(t)?Ba(t)||vp(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xp(e,t,r,o))?(hc(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mc(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Me(r))?hc(e,ct(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),mc(e,t,r,o))};function xp(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&pc(t)&&ie(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return pc(t)&&Me(n)?!1:t in e}const Vd=new WeakMap,jd=new WeakMap,vi=Symbol("_moveCb"),yc=Symbol("_enterCb"),_p=e=>(delete e.props.mode,e),Ep=_p({name:"TransitionGroup",props:He({},Md,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=xs(),r=Zf();let s,i;return Ya(()=>{if(!s.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Pp(s[0].el,n.vnode.el,o)){s=[];return}s.forEach(Ap),s.forEach(Tp);const a=s.filter(Rp);Zo(),a.forEach(l=>{const u=l.el,c=u.style;jt(u,o),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[vi]=d=>{d&&d.target!==u||(!d||/transform$/.test(d.propertyName))&&(u.removeEventListener("transitionend",f),u[vi]=null,bn(u,o))};u.addEventListener("transitionend",f)}),s=[]}),()=>{const o=ee(e),a=Bd(o);let l=o.tag||Ie;if(s=[],i)for(let u=0;u{a.split(/\s+/).forEach(l=>l&&r.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=Fd(r);return i.removeChild(r),o}const bc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?n=>Gs(t,n):t};function kp(e){e.target.composing=!0}function wc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const go=Symbol("_assign"),Ox={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[go]=bc(s);const i=r||s.props&&s.props.type==="number";ir(e,t?"change":"input",o=>{if(o.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=Vo(a)),e[go](a)}),n&&ir(e,"change",()=>{e.value=e.value.trim()}),t||(ir(e,"compositionstart",kp),ir(e,"compositionend",wc),ir(e,"change",wc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[go]=bc(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?Vo(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l))}},Op=["ctrl","shift","alt","meta"],Ip={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Op.some(n=>e[`${n}Key`]&&!t.includes(n))},Ix=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=Rn(s.key);if(t.some(o=>o===i||Dp[o]===i))return e(s)})},Lp=He({patchProp:Cp},op);let Sc;function Np(){return Sc||(Sc=Ov(Lp))}const Mp=(...e)=>{const t=Np().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Fp(r);if(!s)return;const i=t._component;!ie(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,Bp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function Bp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Fp(e){return Me(e)?document.querySelector(e):e}function Es(e,t){let n;function r(){n=br(),n.run(()=>t.length?t(()=>{n==null||n.stop(),r()}):t())}me(e,s=>{s&&!n?r():s||(n==null||n.stop(),n=void 0)},{immediate:!0}),ut(()=>{n==null||n.stop()})}const Oe=typeof window<"u",rl=Oe&&"IntersectionObserver"in window,$p=Oe&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),Vp=Oe&&"matchMedia"in window&&typeof window.matchMedia=="function";function Cc(e,t,n){jp(e,t),t.set(e,n)}function jp(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function xc(e,t,n){return e.set(Hd(e,t),n),n}function tn(e,t){return e.get(Hd(e,t))}function Hd(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function Ud(e,t,n){const r=t.length-1;if(r<0)return e===void 0?n:e;for(let s=0;szn(e[r],t[r]))}function Qo(e,t,n){return e==null||!t||typeof t!="string"?n:e[t]!==void 0?e[t]:(t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^\./,""),Ud(e,t.split("."),n))}function qt(e,t,n){if(t===!0)return e===void 0?n:e;if(t==null||typeof t=="boolean")return n;if(e!==Object(e)){if(typeof t!="function")return n;const s=t(e,n);return typeof s>"u"?n:s}if(typeof t=="string")return Qo(e,t,n);if(Array.isArray(t))return Ud(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function Wd(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:e},(n,r)=>t+r)}function de(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(e==null||e==="")return;const n=Number(e);return isNaN(n)?String(e):isFinite(n)?`${n}${t}`:void 0}function ea(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function _c(e){let t;return e!==null&&typeof e=="object"&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function sl(e){if(e&&"$el"in e){const t=e.$el;return(t==null?void 0:t.nodeType)===Node.TEXT_NODE?t.nextElementSibling:t}return e}const Lx=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function Nx(e){return Object.keys(e)}function vo(e,t){return t.every(n=>e.hasOwnProperty(n))}function il(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function Ec(e,t,n){const r=Object.create(null),s=Object.create(null);for(const i in e)t.some(o=>o instanceof RegExp?o.test(i):o===i)?r[i]=e[i]:s[i]=e[i];return[r,s]}function As(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const zd=/^on[^a-z]/,qd=e=>zd.test(e),Hp=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"];function Mx(e){const[t,n]=Ec(e,[zd]),r=As(t,Hp),[s,i]=Ec(n,["class","style","id",/^data-/]);return Object.assign(s,t),Object.assign(i,r),[s,i]}function ol(e){return e==null?[]:Array.isArray(e)?e:[e]}function Bx(e,t){let n=0;const r=function(){for(var s=arguments.length,i=new Array(s),o=0;oe(...i),yt(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function Tn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(t,Math.min(n,e))}function Ac(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return e+n.repeat(Math.max(0,t-e.length))}function Tc(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function Up(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const n=[];let r=0;for(;r1&&arguments[1]!==void 0?arguments[1]:1e3;if(e=t&&r0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r={};for(const s in e)r[s]=e[s];for(const s in t){const i=e[s],o=t[s];if(_c(i)&&_c(o)){r[s]=nt(i,o,n);continue}if(n&&Array.isArray(i)&&Array.isArray(o)){r[s]=n(i,o);continue}r[s]=o}return r}function Kd(e){return e.map(t=>t.type===Ie?Kd(t.children):t).flat()}function qn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(qn.cache.has(e))return qn.cache.get(e);const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return qn.cache.set(e,t),t}qn.cache=new Map;function lr(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(n=>lr(e,n)).flat(1);if(t.suspense)return lr(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(n=>lr(e,n)).flat(1);if(t.component){if(Object.getOwnPropertySymbols(t.component.provides).includes(e))return[t.component];if(t.component.subTree)return lr(e,t.component.subTree).flat(1)}return[]}var tr=new WeakMap,Mn=new WeakMap;class Wp{constructor(t){Cc(this,tr,[]),Cc(this,Mn,0),this.size=t}get isFull(){return tn(tr,this).length===this.size}push(t){tn(tr,this)[tn(Mn,this)]=t,xc(Mn,this,(tn(Mn,this)+1)%this.size)}values(){return tn(tr,this).slice(tn(Mn,this)).concat(tn(tr,this).slice(0,tn(Mn,this)))}clear(){tn(tr,this).length=0,xc(Mn,this,0)}}function al(e){const t=ze({});Qt(()=>{const r=e();for(const s in r)t[s]=r[s]},{flush:"sync"});const n={};for(const r in t)n[r]=q(()=>t[r]);return n}function pi(e,t){return e.includes(t)}function Gd(e){return e[2].toLowerCase()+e.slice(3)}const ts=()=>[Function,Array];function Rc(e,t){return t="on"+Ar(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function $x(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:!0;const n=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map(r=>`${r}${t?':not([tabindex="-1"])':""}:not([disabled])`).join(", ");return[...e.querySelectorAll(n)]}function zp(e,t,n){let r,s=e.indexOf(document.activeElement);const i=t==="next"?1:-1;do s+=i,r=e[s];while((!r||r.offsetParent==null||!((n==null?void 0:n(r))??!0))&&s=0);return r}function Jd(e,t){var r,s,i,o;const n=Yd(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((r=n[0])==null||r.focus());else if(t==="first")(s=n[0])==null||s.focus();else if(t==="last")(i=n.at(-1))==null||i.focus();else if(typeof t=="number")(o=n[t])==null||o.focus();else{const a=zp(n,t);a?a.focus():Jd(e,t==="next"?"first":"last")}}function Vx(e){return e==null||typeof e=="string"&&e.trim()===""}function qp(e,t){if(!(Oe&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Kp(e){return e.some(t=>wr(t)?t.type===Ye?!1:t.type!==Ie||Kp(t.children):!0)?e:null}function Gp(e,t){if(!Oe||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function jx(e,t){const n=e.clientX,r=e.clientY,s=t.getBoundingClientRect(),i=s.left,o=s.top,a=s.right,l=s.bottom;return n>=i&&n<=a&&r>=o&&r<=l}function ta(){const e=ce(),t=n=>{e.value=n};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:n=>e.value=n}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>sl(e.value)}),t}function Hx(e){const t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function na(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"}function Ux(e){const t={};for(const n in e)t[ct(n)]=e[n];return t}function Yp(e){const t=["checked","disabled"];return Object.fromEntries(Object.entries(e).filter(n=>{let[r,s]=n;return t.includes(r)?!!s:s!==void 0}))}const Xd=["top","bottom"],Jp=["start","end","left","right"];function ra(e,t){let[n,r]=e.split(" ");return r||(r=pi(Xd,n)?"start":pi(Jp,n)?"top":"center"),{side:Pc(n,t),align:Pc(r,t)}}function Pc(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function po(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function yo(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function kc(e){return{side:e.align,align:e.side}}function Oc(e){return pi(Xd,e.side)?"y":"x"}class Jt{constructor(t){let{x:n,y:r,width:s,height:i}=t;this.x=n,this.y=r,this.width=s,this.height=i}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function Ic(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function Zd(e){return Array.isArray(e)?new Jt({x:e[0],y:e[1],width:0,height:0}):e.getBoundingClientRect()}function Xp(e){if(e===document.documentElement)return visualViewport?new Jt({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale,height:visualViewport.height*visualViewport.scale}):new Jt({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});{const t=e.getBoundingClientRect();return new Jt({x:t.x,y:t.y,width:e.clientWidth,height:e.clientHeight})}}function Qd(e){const t=e.getBoundingClientRect(),n=getComputedStyle(e),r=n.transform;if(r){let s,i,o,a,l;if(r.startsWith("matrix3d("))s=r.slice(9,-1).split(/, /),i=Number(s[0]),o=Number(s[5]),a=Number(s[12]),l=Number(s[13]);else if(r.startsWith("matrix("))s=r.slice(7,-1).split(/, /),i=Number(s[0]),o=Number(s[3]),a=Number(s[4]),l=Number(s[5]);else return new Jt(t);const u=n.transformOrigin,c=t.x-a-(1-i)*parseFloat(u),f=t.y-l-(1-o)*parseFloat(u.slice(u.indexOf(" ")+1)),d=i?t.width/i:e.offsetWidth+1,m=o?t.height/o:e.offsetHeight+1;return new Jt({x:c,y:f,width:d,height:m})}else return new Jt(t)}function qr(e,t,n){if(typeof e.animate>"u")return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return typeof r.finished>"u"&&(r.finished=new Promise(s=>{r.onfinish=()=>{s(r)}})),r}const Zs=new WeakMap;function Zp(e,t){Object.keys(t).forEach(n=>{if(qd(n)){const r=Gd(n),s=Zs.get(e);if(t[n]==null)s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))});else if(!s||![...s].some(i=>i[0]===r&&i[1]===t[n])){e.addEventListener(r,t[n]);const i=s||new Set;i.add([r,t[n]]),Zs.has(e)||Zs.set(e,i)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function Qp(e,t){Object.keys(t).forEach(n=>{if(qd(n)){const r=Gd(n),s=Zs.get(e);s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))})}else e.removeAttribute(n)})}const nr=2.4,Dc=.2126729,Lc=.7151522,Nc=.072175,ey=.55,ty=.58,ny=.57,ry=.62,Hs=.03,Mc=1.45,sy=5e-4,iy=1.25,oy=1.25,Bc=.078,Fc=12.82051282051282,Us=.06,$c=.001;function Vc(e,t){const n=(e.r/255)**nr,r=(e.g/255)**nr,s=(e.b/255)**nr,i=(t.r/255)**nr,o=(t.g/255)**nr,a=(t.b/255)**nr;let l=n*Dc+r*Lc+s*Nc,u=i*Dc+o*Lc+a*Nc;if(l<=Hs&&(l+=(Hs-l)**Mc),u<=Hs&&(u+=(Hs-u)**Mc),Math.abs(u-l)l){const f=(u**ey-l**ty)*iy;c=f<$c?0:f-$c?0:f>-Bc?f-f*Fc*Us:f+Us}return c*100}function Wx(e){}function em(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const yi=.20689655172413793,ay=e=>e>yi**3?Math.cbrt(e):e/(3*yi**2)+4/29,ly=e=>e>yi?e**3:3*yi**2*(e-4/29);function tm(e){const t=ay,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function nm(e){const t=ly,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const cy=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],uy=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,fy=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],dy=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function rm(e){const t=Array(3),n=uy,r=cy;for(let s=0;s<3;++s)t[s]=Math.round(Tn(n(r[s][0]*e[0]+r[s][1]*e[1]+r[s][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function ll(e){let{r:t,g:n,b:r}=e;const s=[0,0,0],i=dy,o=fy;t=i(t/255),n=i(n/255),r=i(r/255);for(let a=0;a<3;++a)s[a]=o[a][0]*t+o[a][1]*n+o[a][2]*r;return s}function sa(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function my(e){return sa(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const jc=/^(?(?:rgb|hsl)a?)\((?.+)\)/,hy={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>Hc({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>Hc({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>us({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>us({h:e,s:t,v:n,a:r})};function Gt(e){if(typeof e=="number")return{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e=="string"&&jc.test(e)){const{groups:t}=e.match(jc),{fn:n,values:r}=t,s=r.split(/,\s*|\s*\/\s*|\s+/).map((i,o)=>i.endsWith("%")||o>0&&o<3&&["hsl","hsla","hsv","hsva"].includes(n)?parseFloat(i)/100:parseFloat(i));return hy[n](...s)}else if(typeof e=="string"){let t=e.startsWith("#")?e.slice(1):e;return[3,4].includes(t.length)?t=t.split("").map(n=>n+n).join(""):[6,8].includes(t.length),vy(t)}else if(typeof e=="object"){if(vo(e,["r","g","b"]))return e;if(vo(e,["h","s","l"]))return us(sm(e));if(vo(e,["h","s","v"]))return us(e)}throw new TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name} -Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function us(e){const{h:t,s:n,v:r,a:s}=e,i=a=>{const l=(a+t/60)%6;return r-r*n*Math.max(Math.min(l,4-l,1),0)},o=[i(5),i(3),i(1)].map(a=>Math.round(a*255));return{r:o[0],g:o[1],b:o[2],a:s}}function Hc(e){return us(sm(e))}function sm(e){const{h:t,s:n,l:r,a:s}=e,i=r+n*Math.min(r,1-r),o=i===0?0:2-2*r/i;return{h:t,s:o,v:i,a:s}}function Ws(e){const t=Math.round(e).toString(16);return("00".substr(0,2-t.length)+t).toUpperCase()}function gy(e){let{r:t,g:n,b:r,a:s}=e;return`#${[Ws(t),Ws(n),Ws(r),s!==void 0?Ws(Math.round(s*255)):""].join("")}`}function vy(e){e=py(e);let[t,n,r,s]=Up(e,2).map(i=>parseInt(i,16));return s=s===void 0?s:s/255,{r:t,g:n,b:r,a:s}}function py(e){return e.startsWith("#")&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,"F"),(e.length===3||e.length===4)&&(e=e.split("").map(t=>t+t).join("")),e.length!==6&&(e=Ac(Ac(e,6),8,"F")),e}function yy(e,t){const n=tm(ll(e));return n[0]=n[0]+t*10,rm(nm(n))}function by(e,t){const n=tm(ll(e));return n[0]=n[0]-t*10,rm(nm(n))}function wy(e){const t=Gt(e);return ll(t)[1]}function im(e){const t=Math.abs(Vc(Gt(0),Gt(e)));return Math.abs(Vc(Gt(16777215),Gt(e)))>Math.min(t,50)?"#fff":"#000"}function Z(e,t){return n=>Object.keys(e).reduce((r,s)=>{const o=typeof e[s]=="object"&&e[s]!=null&&!Array.isArray(e[s])?e[s]:{type:e[s]};return n&&s in n?r[s]={...o,default:n[s]}:r[s]=o,t&&!r[s].source&&(r[s].source=t),r},{})}const Be=Z({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function Ue(e,t){const n=xs();if(!n)throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);return n}function On(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const t=Ue(e).type;return qn((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function Sy(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ue("injectSelf");const{provides:n}=t;if(n&&e in n)return n[e]}const Cr=Symbol.for("vuetify:defaults");function Cy(e){return fe(e)}function cl(){const e=ye(Cr);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function ji(e,t){const n=cl(),r=fe(e),s=M(()=>{if(yt(t==null?void 0:t.disabled))return n.value;const o=yt(t==null?void 0:t.scoped),a=yt(t==null?void 0:t.reset),l=yt(t==null?void 0:t.root);if(r.value==null&&!(o||a||l))return n.value;let u=nt(r.value,{prev:n.value});if(o)return u;if(a||l){const c=Number(a||1/0);for(let f=0;f<=c&&!(!u||!("prev"in u));f++)u=u.prev;return u&&typeof l=="string"&&l in u&&(u=nt(nt(u,{prev:u}),u[l])),u}return u.prev?nt(u.prev,u):u});return rt(Cr,s),s}function xy(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[qn(t)]<"u")}function _y(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:cl();const r=Ue("useDefaults");if(t=t??r.type.name??r.type.__name,!t)throw new Error("[Vuetify] Could not determine component name");const s=M(()=>{var l;return(l=n.value)==null?void 0:l[e._as??t]}),i=new Proxy(e,{get(l,u){var m,g,h,b;const c=Reflect.get(l,u);if(u==="class"||u==="style")return[(m=s.value)==null?void 0:m[u],c].filter(v=>v!=null);if(xy(r.vnode,u))return c;const f=(g=s.value)==null?void 0:g[u];if(f!==void 0)return f;const d=(b=(h=n.value)==null?void 0:h.global)==null?void 0:b[u];return d!==void 0?d:c}}),o=ce();Qt(()=>{if(s.value){const l=Object.entries(s.value).filter(u=>{let[c]=u;return c.startsWith(c[0].toUpperCase())});o.value=l.length?Object.fromEntries(l):void 0}else o.value=void 0});function a(){const l=Sy(Cr,r);rt(Cr,M(()=>o.value?nt((l==null?void 0:l.value)??{},o.value):l==null?void 0:l.value))}return{props:i,provideSubDefaults:a}}function Tr(e){if(e._setup=e._setup??e.setup,!e.name)return e;if(e._setup){e.props=Z(e.props??{},e.name)();const t=Object.keys(e.props).filter(n=>n!=="class"&&n!=="style");e.filterProps=function(r){return il(r,t)},e.props._as=String,e.setup=function(r,s){const i=cl();if(!i.value)return e._setup(r,s);const{props:o,provideSubDefaults:a}=_y(r,r._as??e.name,i),l=e._setup(o,s);return a(),l}}return e}function be(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?Tr:Ni)(t)}function zx(e,t){return t.props=e,t}function ul(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return be()({name:n??Ar(ct(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...Be()},setup(r,s){let{slots:i}=s;return()=>{var o;return kn(r.tag,{class:[e,r.class],style:r.style},(o=i.default)==null?void 0:o.call(i))}}})}function om(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}const ia="cubic-bezier(0.4, 0, 0.2, 1)",Ey="cubic-bezier(0.0, 0, 0.2, 1)",Ay="cubic-bezier(0.4, 0, 1, 1)",Ty={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5};function Ry(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?Py(e):fl(e))return e;e=e.parentElement}return document.scrollingElement}function bi(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(fl(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function fl(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e),n=t.overflowY==="scroll"||t.overflowY==="auto"&&e.scrollHeight>e.clientHeight,r=t.overflowX==="scroll"||t.overflowX==="auto"&&e.scrollWidth>e.clientWidth;return n||r}function Py(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function ky(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function De(e){const t=Ue("useRender");t.render=e}function un(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:f=>f,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:f=>f;const i=Ue("useProxiedModel"),o=fe(e[t]!==void 0?e[t]:n),a=qn(t),u=M(a!==t?()=>{var f,d,m,g;return e[t],!!(((f=i.vnode.props)!=null&&f.hasOwnProperty(t)||(d=i.vnode.props)!=null&&d.hasOwnProperty(a))&&((m=i.vnode.props)!=null&&m.hasOwnProperty(`onUpdate:${t}`)||(g=i.vnode.props)!=null&&g.hasOwnProperty(`onUpdate:${a}`)))}:()=>{var f,d;return e[t],!!((f=i.vnode.props)!=null&&f.hasOwnProperty(t)&&((d=i.vnode.props)!=null&&d.hasOwnProperty(`onUpdate:${t}`)))});Es(()=>!u.value,()=>{me(()=>e[t],f=>{o.value=f})});const c=M({get(){const f=e[t];return r(u.value?f:o.value)},set(f){const d=s(f),m=ee(u.value?e[t]:o.value);m===d||r(m)===f||(o.value=d,i==null||i.emit(`update:${t}`,d))}});return Object.defineProperty(c,"externalValue",{get:()=>u.value?e[t]:o.value}),c}const Oy={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"},ariaLabel:{previousMonth:"Previous month",nextMonth:"Next month",selectYear:"Select year",selectDate:"{0}",currentDate:"Today, {0}"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"},rules:{required:"This field is required",email:"Please enter a valid email",number:"This field can only contain numbers",integer:"This field can only contain integer values",capital:"This field can only contain uppercase letters",maxLength:"You must enter a maximum of {0} characters",minLength:"You must enter a minimum of {0} characters",strictLength:"The length of the entered field is invalid",exclude:"The {0} character is not allowed",notEmpty:"Please choose at least one value",pattern:"Invalid format"},hotkey:{then:"then",ctrl:"Ctrl",command:"Command",space:"Space",shift:"Shift",alt:"Alt",enter:"Enter",escape:"Escape",upArrow:"Up Arrow",downArrow:"Down Arrow",leftArrow:"Left Arrow",rightArrow:"Right Arrow",backspace:"Backspace",option:"Option",plus:"plus",shortcut:"Keyboard shortcut: {0}"},video:{play:"Play",pause:"Pause",seek:"Seek",volume:"Volume",showVolume:"Show volume control",mute:"Mute",unmute:"Unmute",enterFullscreen:"Full screen",exitFullscreen:"Exit full screen"},colorPicker:{ariaLabel:{eyedropper:"Select color with eyedropper",hueSlider:"Hue",alphaSlider:"Alpha",redInput:"Red value",greenInput:"Green value",blueInput:"Blue value",alphaInput:"Alpha value",hueInput:"Hue value",saturationInput:"Saturation value",lightnessInput:"Lightness value",hexInput:"HEX value",hexaInput:"HEX with alpha value",changeFormat:"Change color format"}}},Uc="$vuetify.",Wc=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),am=(e,t,n)=>function(r){for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;onew Intl.NumberFormat([e.value,t.value],r).format(n)}function lm(e,t){return dl(e,t)(.1).includes(",")?",":"."}function bo(e,t,n){const r=un(e,t,e[t]??n.value);return r.value=e[t]??n.value,me(n,s=>{e[t]==null&&(r.value=n.value)}),r}function cm(e){return t=>{const n=bo(t,"locale",e.current),r=bo(t,"fallback",e.fallback),s=bo(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:s,decimalSeparator:q(()=>lm(n,r)),t:am(n,r,s),n:dl(n,r),provide:cm({current:n,fallback:r,messages:s})}}}function Iy(e){const t=ce((e==null?void 0:e.locale)??"en"),n=ce((e==null?void 0:e.fallback)??"en"),r=fe({en:Oy,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:q(()=>(e==null?void 0:e.decimalSeparator)??lm(t,n)),t:am(t,n,r),n:dl(t,n),provide:cm({current:t,fallback:n,messages:r})}}const wi=Symbol.for("vuetify:locale");function Dy(e){return e.name!=null}function Ly(e){const t=e!=null&&e.adapter&&Dy(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:Iy(e),n=By(t,e);return{...t,...n}}function Ny(){const e=ye(wi);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function My(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function By(e,t){const n=fe((t==null?void 0:t.rtl)??My()),r=M(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:q(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function Ts(){const e=ye(wi);if(!e)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function Rs(e){const t=e.slice(-2).toUpperCase();switch(!0){case e==="GB-alt-variant":return{firstDay:0,firstWeekSize:4};case e==="001":return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE - KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US - VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV - MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS - IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case"AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".includes(t):return{firstDay:6,firstWeekSize:1};case t==="MV":return{firstDay:5,firstWeekSize:1};case t==="PT":return{firstDay:0,firstWeekSize:4};default:return null}}function Fy(e,t,n){var c;const r=[];let s=[];const i=um(e),o=fm(e),a=n??((c=Rs(t))==null?void 0:c.firstDay)??0,l=(i.getDay()-a+7)%7,u=(o.getDay()-a+7)%7;for(let f=0;f0&&r.push(s),r}function oa(e,t,n){var i;let r=(n??((i=Rs(t))==null?void 0:i.firstDay)??0)%7;[0,1,2,3,4,5,6].includes(r)||(r=0);const s=new Date(e);for(;s.getDay()!==r;)s.setDate(s.getDate()-1);return s}function $y(e,t){var s;const n=new Date(e),r=((((s=Rs(t))==null?void 0:s.firstDay)??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function um(e){return new Date(e.getFullYear(),e.getMonth(),1)}function fm(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function Vy(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const jy=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function dm(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(jy.test(e))return Vy(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const zc=new Date(2e3,0,2);function Hy(e,t,n){var s;const r=t??((s=Rs(e))==null?void 0:s.firstDay)??0;return Wd(7).map(i=>{const o=new Date(zc);return o.setDate(zc.getDate()+r+i),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function Uy(e,t,n,r){const s=dm(e)??new Date,i=r==null?void 0:r[t];if(typeof i=="function")return i(s,t,n);let o={};switch(t){case"fullDate":o={year:"numeric",month:"short",day:"numeric"};break;case"fullDateWithWeekday":o={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":const a=s.getDate(),l=new Intl.DateTimeFormat(n,{month:"long"}).format(s);return`${a} ${l}`;case"normalDateWithWeekday":o={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":o={month:"short",day:"numeric"};break;case"year":o={year:"numeric"};break;case"month":o={month:"long"};break;case"monthShort":o={month:"short"};break;case"monthAndYear":o={month:"long",year:"numeric"};break;case"monthAndDate":o={month:"long",day:"numeric"};break;case"weekday":o={weekday:"long"};break;case"weekdayShort":o={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(n).format(s.getDate());case"hours12h":o={hour:"numeric",hour12:!0};break;case"hours24h":o={hour:"numeric",hour12:!1};break;case"minutes":o={minute:"numeric"};break;case"seconds":o={second:"numeric"};break;case"fullTime":o={hour:"numeric",minute:"numeric"};break;case"fullTime12h":o={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":o={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":o={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime12h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime24h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");default:o=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(n,o).format(s)}function Wy(e,t){const n=e.toJsDate(t),r=n.getFullYear(),s=Tc(String(n.getMonth()+1),2,"0"),i=Tc(String(n.getDate()),2,"0");return`${r}-${s}-${i}`}function zy(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function qy(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function Ky(e,t){const n=new Date(e);return n.setHours(n.getHours()+t),n}function Qs(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function Gy(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Yy(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function aa(e){return e.getFullYear()}function Jy(e){return e.getMonth()}function Xy(e,t,n,r){const s=Rs(t),i=n??(s==null?void 0:s.firstDay)??0,o=r??(s==null?void 0:s.firstWeekSize)??1;function a(m){const g=new Date(m,0,1);return 7-la(g,oa(g,t,i),"days")}let l=aa(e);const u=Qs(oa(e,t,i),6);l=o&&l++;const c=new Date(l,0,1),f=a(l),d=f>=o?Qs(c,f-7):Qs(c,f);return 1+la(mm(e),Ci(d),"weeks")}function Zy(e){return e.getDate()}function Qy(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function eb(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function tb(e){return e.getHours()}function nb(e){return e.getMinutes()}function rb(e){return new Date(e.getFullYear(),0,1)}function sb(e){return new Date(e.getFullYear(),11,31)}function ib(e,t){return Si(e,t[0])&&lb(e,t[1])}function ob(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function Si(e,t){return e.getTime()>t.getTime()}function ab(e,t){return Si(Ci(e),Ci(t))}function lb(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function Kx(){const e=ye(hm);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=Ny();return gm(e,t)}const Gx=["sm","md","lg","xl","xxl"],ca=Symbol.for("vuetify:display"),Gc={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},bb=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Gc;return nt(Gc,e)};function Yc(e){return Oe&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function Jc(e){return Oe&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function Xc(e){const t=Oe&&!e?window.navigator.userAgent:"ssr";function n(g){return!!t.match(g)}const r=n(/android/i),s=n(/iphone|ipad|ipod/i),i=n(/cordova/i),o=n(/electron/i),a=n(/chrome/i),l=n(/edge/i),u=n(/firefox/i),c=n(/opera/i),f=n(/win/i),d=n(/mac/i),m=n(/linux/i);return{android:r,ios:s,cordova:i,electron:o,chrome:a,edge:l,firefox:u,opera:c,win:f,mac:d,linux:m,touch:$p,ssr:t==="ssr"}}function wb(e,t){const{thresholds:n,mobileBreakpoint:r}=bb(e),s=ce(Jc(t)),i=ce(Xc(t)),o=ze({}),a=ce(Yc(t));function l(){s.value=Jc(),a.value=Yc()}function u(){l(),i.value=Xc()}return Qt(()=>{const c=a.value=n.xxl,b=c?"xs":f?"sm":d?"md":m?"lg":g?"xl":"xxl",v=typeof r=="number"?r:n[r],w=a.value{window.removeEventListener("resize",l)},!0)),{...jf(o),update:u,ssr:!!t}}const Yx=Z({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function Sb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{mobile:null},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();const n=ye(ca);if(!n)throw new Error("Could not find Vuetify display injection");const r=M(()=>e.mobile?!0:typeof e.mobileBreakpoint=="number"?n.width.valuet?{[`${t}--mobile`]:r.value}:{});return{...n,displayClasses:s,mobile:r}}const vm=Symbol.for("vuetify:goto");function pm(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:Ty}}function Cb(e){return ml(e)??(document.scrollingElement||document.body)}function ml(e){return typeof e=="string"?document.querySelector(e):sl(e)}function wo(e,t,n){if(typeof e=="number")return t&&n?-e:e;let r=ml(e),s=0;for(;r;)s+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return s}function xb(e,t){return{rtl:t.isRtl,options:nt(pm(),e)}}async function Zc(e,t,n,r){const s=n?"scrollLeft":"scrollTop",i=nt((r==null?void 0:r.options)??pm(),t),o=r==null?void 0:r.rtl.value,a=(typeof e=="number"?e:ml(e))??0,l=i.container==="parent"&&a instanceof HTMLElement?a.parentElement:Cb(i.container),u=typeof i.easing=="function"?i.easing:i.patterns[i.easing];if(!u)throw new TypeError(`Easing function "${i.easing}" not found.`);let c;if(typeof a=="number")c=wo(a,n,o);else if(c=wo(a,n,o)-wo(l,n,o),i.layout){const g=window.getComputedStyle(a).getPropertyValue("--v-layout-top");g&&(c-=parseInt(g,10))}c+=i.offset,c=_b(l,c,!!o,!!n);const f=l[s]??0;if(c===f)return Promise.resolve(c);const d=performance.now();return new Promise(m=>requestAnimationFrame(function g(h){const v=(h-d)/i.duration,w=Math.floor(f+(c-f)*u(Tn(v,0,1)));if(l[s]=w,v>=1&&Math.abs(w-l[s])<10)return m(c);if(v>2)return m(l[s]);requestAnimationFrame(g)}))}function Jx(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=ye(vm),{isRtl:n}=Ts();if(!t)throw new Error("[Vuetify] Could not find injected goto instance");const r={...t,rtl:q(()=>t.rtl.value||n.value)};async function s(i,o){return Zc(i,nt(e,o),!1,r)}return s.horizontal=async(i,o)=>Zc(i,nt(e,o),!0,r),s}function _b(e,t,n,r){const{scrollWidth:s,scrollHeight:i}=e,[o,a]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight];let l,u;return r?n?(l=-(s-o),u=0):(l=0,u=s-o):(l=0,u=i+-a),Tn(t,l,u)}const Eb={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload",color:"mdi-palette",command:"mdi-apple-keyboard-command",ctrl:"mdi-apple-keyboard-control",space:"mdi-keyboard-space",shift:"mdi-apple-keyboard-shift",alt:"mdi-apple-keyboard-option",enter:"mdi-keyboard-return",arrowup:"mdi-arrow-up",arrowdown:"mdi-arrow-down",arrowleft:"mdi-arrow-left",arrowright:"mdi-arrow-right",backspace:"mdi-backspace",play:"mdi-play",pause:"mdi-pause",fullscreen:"mdi-fullscreen",fullscreenExit:"mdi-fullscreen-exit",volumeHigh:"mdi-volume-high",volumeMedium:"mdi-volume-medium",volumeLow:"mdi-volume-low",volumeOff:"mdi-volume-variant-off"},Ab={component:e=>kn(bm,{...e,class:"mdi"})},Xe=[String,Function,Object,Array],ua=Symbol.for("vuetify:icons"),Hi=Z({icon:{type:Xe},tag:{type:[String,Object,Function],required:!0}},"icon"),Qc=be()({name:"VComponentIcon",props:Hi(),setup(e,t){let{slots:n}=t;return()=>{const r=e.icon;return R(e.tag,null,{default:()=>{var s;return[e.icon?R(r,null,null):(s=n.default)==null?void 0:s.call(n)]}})}}}),ym=Tr({name:"VSvgIcon",inheritAttrs:!1,props:Hi(),setup(e,t){let{attrs:n}=t;return()=>R(e.tag,ke(n,{style:null}),{default:()=>[K("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(r=>Array.isArray(r)?K("path",{d:r[0],"fill-opacity":r[1]},null):K("path",{d:r},null)):K("path",{d:e.icon},null)])]})}});Tr({name:"VLigatureIcon",props:Hi(),setup(e){return()=>R(e.tag,null,{default:()=>[e.icon]})}});const bm=Tr({name:"VClassIcon",props:Hi(),setup(e){return()=>R(e.tag,{class:ve(e.icon)},null)}});function Tb(){return{svg:{component:ym},class:{component:bm}}}function Rb(e){const t=Tb(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=Ab),nt({defaultSet:n,sets:t,aliases:{...Eb,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},e)}const Pb=e=>{const t=ye(ua);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:M(()=>{var l;const r=Zt(e);if(!r)return{component:Qc};let s=r;if(typeof s=="string"&&(s=s.trim(),s.startsWith("$")&&(s=(l=t.aliases)==null?void 0:l[s.slice(1)])),Array.isArray(s))return{component:ym,icon:s};if(typeof s!="string")return{component:Qc,icon:s};const i=Object.keys(t.sets).find(u=>typeof s=="string"&&s.startsWith(`${u}:`)),o=i?s.slice(i.length+1):s;return{component:t.sets[i??t.defaultSet].component,icon:o}})}},fs=Symbol.for("vuetify:theme"),wt=Z({theme:String},"theme");function eu(){return{defaultTheme:"light",prefix:"v-",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#EEEEEE","theme-on-kbd":"#000000","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#c8c8c8","on-surface-variant":"#000000",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#424242","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}},stylesheetId:"vuetify-theme-stylesheet",scoped:!1,unimportant:!1,utilities:!0}}function kb(){var r,s;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:eu();const t=eu();if(!e)return{...t,isDisabled:!0};const n={};for(const[i,o]of Object.entries(e.themes??{})){const a=o.dark||i==="dark"?(r=t.themes)==null?void 0:r.dark:(s=t.themes)==null?void 0:s.light;n[i]=nt(a,o)}return nt(t,{...e,themes:n})}function Bn(e,t,n,r){e.push(`${Lb(t,r)} { -`,...n.map(s=>` ${s}; -`),`} -`)}function tu(e,t){const n=e.dark?2:1,r=e.dark?1:2,s=[];for(const[i,o]of Object.entries(e.colors)){const a=Gt(o);s.push(`--${t}theme-${i}: ${a.r},${a.g},${a.b}`),i.startsWith("on-")||s.push(`--${t}theme-${i}-overlay-multiplier: ${wy(o)>.18?n:r}`)}for(const[i,o]of Object.entries(e.variables)){const a=typeof o=="string"&&o.startsWith("#")?Gt(o):void 0,l=a?`${a.r}, ${a.g}, ${a.b}`:void 0;s.push(`--${t}${i}: ${l??o}`)}return s}function Ob(e,t,n){const r={};if(n)for(const s of["lighten","darken"]){const i=s==="lighten"?yy:by;for(const o of Wd(n[s],1))r[`${e}-${s}-${o}`]=gy(i(Gt(t),o))}return r}function Ib(e,t){if(!t)return{};let n={};for(const r of t.colors){const s=e[r];s&&(n={...n,...Ob(r,s,t)})}return n}function Db(e){const t={};for(const n of Object.keys(e)){if(n.startsWith("on-")||e[`on-${n}`])continue;const r=`on-${n}`,s=Gt(e[n]);t[r]=im(s)}return t}function Lb(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function Nb(e,t,n){const r=Mb(e,t);r&&(r.innerHTML=n)}function Mb(e,t){if(!Oe)return null;let n=document.getElementById(e);return n||(n=document.createElement("style"),n.id=e,n.type="text/css",t&&n.setAttribute("nonce",t),document.head.appendChild(n)),n}function Bb(e){const t=kb(e),n=ce(t.defaultTheme),r=fe(t.themes),s=ce("light"),i=M({get(){return n.value==="system"?s.value:n.value},set(v){n.value=v}}),o=M(()=>{const v={};for(const[w,S]of Object.entries(r.value)){const E={...S.colors,...Ib(S.colors,t.variations)};v[w]={...S,colors:{...E,...Db(E)}}}return v}),a=q(()=>o.value[i.value]),l=q(()=>n.value==="system"),u=M(()=>{var E;const v=[],w=t.unimportant?"":" !important",S=t.scoped?t.prefix:"";(E=a.value)!=null&&E.dark&&Bn(v,":root",["color-scheme: dark"],t.scope),Bn(v,":root",tu(a.value,t.prefix),t.scope);for(const[D,k]of Object.entries(o.value))Bn(v,`.${t.prefix}theme--${D}`,[`color-scheme: ${k.dark?"dark":"normal"}`,...tu(k,t.prefix)],t.scope);if(t.utilities){const D=[],k=[],B=new Set(Object.values(o.value).flatMap(T=>Object.keys(T.colors)));for(const T of B)T.startsWith("on-")?Bn(k,`.${T}`,[`color: rgb(var(--${t.prefix}theme-${T}))${w}`],t.scope):(Bn(D,`.${S}bg-${T}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${T}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${T}))${w}`,`color: rgb(var(--${t.prefix}theme-on-${T}))${w}`],t.scope),Bn(k,`.${S}text-${T}`,[`color: rgb(var(--${t.prefix}theme-${T}))${w}`],t.scope),Bn(k,`.${S}border-${T}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${T})`],t.scope));v.push(...D,...k)}return v.map((D,k)=>k===0?D:` ${D}`).join("")}),c=q(()=>t.isDisabled?void 0:`${t.prefix}theme--${i.value}`),f=q(()=>Object.keys(o.value));if(Vp){let w=function(){s.value=v.matches?"dark":"light"};const v=window.matchMedia("(prefers-color-scheme: dark)");w(),v.addEventListener("change",w,{passive:!0}),Cf()&&ut(()=>{v.removeEventListener("change",w)})}function d(v){if(t.isDisabled)return;const w=v._context.provides.usehead;if(w){let S=function(){return{style:[{textContent:u.value,id:t.stylesheetId,nonce:t.cspNonce||!1}]}};if(w.push){const E=w.push(S);Oe&&me(u,()=>{E.patch(S)})}else Oe?(w.addHeadObjs(q(S)),Qt(()=>w.updateDOM())):w.addHeadObjs(S())}else{let S=function(){Nb(t.stylesheetId,t.cspNonce,u.value)};Oe?me(u,S,{immediate:!0}):S()}}function m(v){v!=="system"&&!f.value.includes(v)||(i.value=v)}function g(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.value;const w=v.indexOf(i.value),S=w===-1?0:(w+1)%v.length;m(v[S])}function h(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["light","dark"];g(v)}const b=new Proxy(i,{get(v,w){return Reflect.get(v,w)},set(v,w,S){return w==="value"&&em(`theme.global.name.value = ${S}`,`theme.change('${S}')`),Reflect.set(v,w,S)}});return{install:d,change:m,cycle:g,toggle:h,isDisabled:t.isDisabled,isSystem:l,name:i,themes:r,current:a,computedThemes:o,prefix:t.prefix,themeClasses:c,styles:u,global:{name:b,current:a}}}function Rt(e){Ue("provideTheme");const t=ye(fs,null);if(!t)throw new Error("Could not find Vuetify theme injection");const n=q(()=>e.theme??t.name.value),r=q(()=>t.themes.value[n.value]),s=q(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),i={...t,name:n,current:r,themeClasses:s};return rt(fs,i),i}function wm(){Ue("useTheme");const e=ye(fs,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function Sm(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=ta(),r=fe();if(Oe){const s=new ResizeObserver(i=>{e==null||e(i,s),i.length&&(t==="content"?r.value=i[0].contentRect:r.value=i[0].target.getBoundingClientRect())});Tt(()=>{s.disconnect()}),me(()=>n.el,(i,o)=>{o&&(s.unobserve(o),r.value=void 0),i&&s.observe(i)},{flush:"post"})}return{resizeRef:n,contentRect:ws(r)}}const ds=Symbol.for("vuetify:layout"),Cm=Symbol.for("vuetify:layout-item"),nu=1e3,Fb=Z({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),Xx=Z({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function $b(){const e=ye(ds);if(!e)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function Zx(e){const t=ye(ds);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${rd()}`,r=Ue("useLayoutItem");rt(Cm,{id:n});const s=ce(!1);od(()=>s.value=!0),id(()=>s.value=!1);const{layoutItemStyles:i,layoutItemScrimStyles:o}=t.register(r,{...e,active:M(()=>s.value?!1:e.active.value),id:n});return Tt(()=>t.unregister(n)),{layoutItemStyles:i,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const Vb=(e,t,n,r)=>{let s={top:0,left:0,right:0,bottom:0};const i=[{id:"",layer:{...s}}];for(const o of e){const a=t.get(o),l=n.get(o),u=r.get(o);if(!a||!l||!u)continue;const c={...s,[a.value]:parseInt(s[a.value],10)+(u.value?parseInt(l.value,10):0)};i.push({id:o,layer:c}),s=c}return i};function jb(e){const t=ye(ds,null),n=M(()=>t?t.rootZIndex.value-100:nu),r=fe([]),s=ze(new Map),i=ze(new Map),o=ze(new Map),a=ze(new Map),l=ze(new Map),{resizeRef:u,contentRect:c}=Sm(),f=M(()=>{const k=new Map,B=e.overlaps??[];for(const T of B.filter(I=>I.includes(":"))){const[I,W]=T.split(":");if(!r.value.includes(I)||!r.value.includes(W))continue;const V=s.get(I),A=s.get(W),N=i.get(I),J=i.get(W);!V||!A||!N||!J||(k.set(W,{position:V.value,amount:parseInt(N.value,10)}),k.set(I,{position:A.value,amount:-parseInt(J.value,10)}))}return k}),d=M(()=>{const k=[...new Set([...o.values()].map(T=>T.value))].sort((T,I)=>T-I),B=[];for(const T of k){const I=r.value.filter(W=>{var V;return((V=o.get(W))==null?void 0:V.value)===T});B.push(...I)}return Vb(B,s,i,a)}),m=M(()=>!Array.from(l.values()).some(k=>k.value)),g=M(()=>d.value[d.value.length-1].layer),h=q(()=>({"--v-layout-left":de(g.value.left),"--v-layout-right":de(g.value.right),"--v-layout-top":de(g.value.top),"--v-layout-bottom":de(g.value.bottom),...m.value?void 0:{transition:"none"}})),b=M(()=>d.value.slice(1).map((k,B)=>{let{id:T}=k;const{layer:I}=d.value[B],W=i.get(T),V=s.get(T);return{id:T,...I,size:Number(W.value),position:V.value}})),v=k=>b.value.find(B=>B.id===k),w=Ue("createLayout"),S=ce(!1);Pn(()=>{S.value=!0}),rt(ds,{register:(k,B)=>{let{id:T,order:I,position:W,layoutSize:V,elementSize:A,active:N,disableTransitions:J,absolute:X}=B;o.set(T,I),s.set(T,W),i.set(T,V),a.set(T,N),J&&l.set(T,J);const oe=lr(Cm,w==null?void 0:w.vnode).indexOf(k);oe>-1?r.value.splice(oe,0,T):r.value.push(T);const se=M(()=>b.value.findIndex(xe=>xe.id===T)),Fe=M(()=>n.value+d.value.length*2-se.value*2),Ce=M(()=>{const xe=W.value==="left"||W.value==="right",je=W.value==="right",st=W.value==="bottom",ue=A.value??V.value,Ne=ue===0?"%":"px",x={[W.value]:0,zIndex:Fe.value,transform:`translate${xe?"X":"Y"}(${(N.value?0:-(ue===0?100:ue))*(je||st?-1:1)}${Ne})`,position:X.value||n.value!==nu?"absolute":"fixed",...m.value?void 0:{transition:"none"}};if(!S.value)return x;const F=b.value[se.value],j=f.value.get(T);return j&&(F[j.position]+=j.amount),{...x,height:xe?`calc(100% - ${F.top}px - ${F.bottom}px)`:A.value?`${A.value}px`:void 0,left:je?void 0:`${F.left}px`,right:je?`${F.right}px`:void 0,top:W.value!=="bottom"?`${F.top}px`:void 0,bottom:W.value!=="top"?`${F.bottom}px`:void 0,width:xe?A.value?`${A.value}px`:void 0:`calc(100% - ${F.left}px - ${F.right}px)`}}),Le=M(()=>({zIndex:Fe.value-1}));return{layoutItemStyles:Ce,layoutItemScrimStyles:Le,zIndex:Fe}},unregister:k=>{o.delete(k),s.delete(k),i.delete(k),a.delete(k),l.delete(k),r.value=r.value.filter(B=>B!==k)},mainRect:g,mainStyles:h,getLayoutItem:v,items:b,layoutRect:c,rootZIndex:n});const E=q(()=>["v-layout",{"v-layout--full-height":e.fullHeight}]),D=q(()=>({zIndex:t?n.value:void 0,position:t?"relative":void 0,overflow:t?"hidden":void 0}));return{layoutClasses:E,layoutStyles:D,getLayoutItem:v,items:b,layoutRect:c,layoutRef:u}}function xm(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=nt(t,n),{aliases:s={},components:i={},directives:o={}}=r,a=br();return a.run(()=>{const l=Cy(r.defaults),u=wb(r.display,r.ssr),c=Bb(r.theme),f=Rb(r.icons),d=Ly(r.locale),m=yb(r.date,d),g=xb(r.goTo,d);function h(v){for(const S in o)v.directive(S,o[S]);for(const S in i)v.component(S,i[S]);for(const S in s)v.component(S,Tr({...s[S],name:S,aliasName:s[S].name}));const w=br();if(w.run(()=>{c.install(v)}),v.onUnmount(()=>w.stop()),v.provide(Cr,l),v.provide(ca,u),v.provide(fs,c),v.provide(ua,f),v.provide(wi,d),v.provide(hm,m.options),v.provide(Kc,m.instance),v.provide(vm,g),Oe&&r.ssr)if(v.$nuxt)v.$nuxt.hook("app:suspense:resolve",()=>{u.update()});else{const{mount:S}=v;v.mount=function(){const E=S(...arguments);return At(()=>u.update()),v.mount=S,E}}v.mixin({computed:{$vuetify(){return ze({defaults:rr.call(this,Cr),display:rr.call(this,ca),theme:rr.call(this,fs),icons:rr.call(this,ua),locale:rr.call(this,wi),date:rr.call(this,Kc)})}}})}function b(){a.stop()}return{install:h,unmount:b,defaults:l,display:u,theme:c,icons:f,locale:d,date:m,goTo:g}})}const Hb="3.9.6";xm.version=Hb;function rr(e){var r,s;const t=this.$,n=((r=t.parent)==null?void 0:r.provides)??((s=t.vnode.appContext)==null?void 0:s.provides);if(n&&e in n)return n[e]}const Ub=xm({theme:{defaultTheme:"dark"}});/*! - * pinia v3.0.3 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const Wb=Symbol();var ru;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ru||(ru={}));function zb(){const e=br(!0),t=e.run(()=>fe({}));let n=[],r=[];const s=Ff({install(i){s._a=i,i.provide(Wb,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const qb=zb();/*! - * vue-router v4.5.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const or=typeof document<"u";function _m(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Kb(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&_m(e.default)}const we=Object.assign;function So(e,t){const n={};for(const r in t){const s=t[r];n[r]=Dt(s)?s.map(e):e(s)}return n}const ns=()=>{},Dt=Array.isArray,Em=/#/g,Gb=/&/g,Yb=/\//g,Jb=/=/g,Xb=/\?/g,Am=/\+/g,Zb=/%5B/g,Qb=/%5D/g,Tm=/%5E/g,e0=/%60/g,Rm=/%7B/g,t0=/%7C/g,Pm=/%7D/g,n0=/%20/g;function hl(e){return encodeURI(""+e).replace(t0,"|").replace(Zb,"[").replace(Qb,"]")}function r0(e){return hl(e).replace(Rm,"{").replace(Pm,"}").replace(Tm,"^")}function fa(e){return hl(e).replace(Am,"%2B").replace(n0,"+").replace(Em,"%23").replace(Gb,"%26").replace(e0,"`").replace(Rm,"{").replace(Pm,"}").replace(Tm,"^")}function s0(e){return fa(e).replace(Jb,"%3D")}function i0(e){return hl(e).replace(Em,"%23").replace(Xb,"%3F")}function o0(e){return e==null?"":i0(e).replace(Yb,"%2F")}function ms(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const a0=/\/$/,l0=e=>e.replace(a0,"");function Co(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=d0(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:ms(o)}}function c0(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function su(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function u0(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&xr(t.matched[r],n.matched[s])&&km(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function xr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function km(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!f0(e[n],t[n]))return!1;return!0}function f0(e,t){return Dt(e)?iu(e,t):Dt(t)?iu(t,e):e===t}function iu(e,t){return Dt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function d0(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const yn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var hs;(function(e){e.pop="pop",e.push="push"})(hs||(hs={}));var rs;(function(e){e.back="back",e.forward="forward",e.unknown=""})(rs||(rs={}));function m0(e){if(!e)if(or){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),l0(e)}const h0=/^[^#]+#/;function g0(e,t){return e.replace(h0,"#")+t}function v0(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 Ui=()=>({left:window.scrollX,top:window.scrollY});function p0(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=v0(s,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 ou(e,t){return(history.state?history.state.position-t:-1)+e}const da=new Map;function y0(e,t){da.set(e,t)}function b0(e){const t=da.get(e);return da.delete(e),t}let w0=()=>location.protocol+"//"+location.host;function Om(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),su(l,"")}return su(n,e)+r+s}function S0(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const m=Om(e,location),g=n.value,h=t.value;let b=0;if(d){if(n.value=m,t.value=d,o&&o===g){o=null;return}b=h?d.position-h.position:0}else r(m);s.forEach(v=>{v(n.value,g,{delta:b,type:hs.pop,direction:b?b>0?rs.forward:rs.back:rs.unknown})})};function l(){o=n.value}function u(d){s.push(d);const m=()=>{const g=s.indexOf(d);g>-1&&s.splice(g,1)};return i.push(m),m}function c(){const{history:d}=window;d.state&&d.replaceState(we({},d.state,{scroll:Ui()}),"")}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:l,listen:u,destroy:f}}function au(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Ui():null}}function C0(e){const{history:t,location:n}=window,r={value:Om(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:w0()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(m){console.error(m),n[c?"replace":"assign"](d)}}function o(l,u){const c=we({},t.state,au(s.value.back,l,s.value.forward,!0),u,{position:s.value.position});i(l,c,!0),r.value=l}function a(l,u){const c=we({},s.value,t.state,{forward:l,scroll:Ui()});i(c.current,c,!0);const f=we({},au(r.value,l,null),{position:c.position+1},u);i(l,f,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function x0(e){e=m0(e);const t=C0(e),n=S0(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=we({location:"",base:e,go:r,createHref:g0.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function _0(e){return typeof e=="string"||e&&typeof e=="object"}function Im(e){return typeof e=="string"||typeof e=="symbol"}const Dm=Symbol("");var lu;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lu||(lu={}));function _r(e,t){return we(new Error,{type:e,[Dm]:!0},t)}function nn(e,t){return e instanceof Error&&Dm in e&&(t==null||!!(e.type&t))}const cu="[^/]+?",E0={sensitive:!1,strict:!1,start:!0,end:!0},A0=/[.+*?^${}()[\]/\\]/g;function T0(e,t){const n=we({},E0,t),r=[];let s=n.start?"^":"";const i=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Lm(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const P0={type:0,value:""},k0=/[a-zA-Z0-9_]/;function O0(e){if(!e)return[[]];if(e==="/")return[[P0]];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 s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,l,u="",c="";function f(){u&&(n===0?i.push({type:0,value:u}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;a{o(S)}:ns}function o(f){if(Im(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function a(){return n}function l(f){const d=M0(f,n);n.splice(d,0,f),f.record.name&&!mu(f)&&r.set(f.record.name,f)}function u(f,d){let m,g={},h,b;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw _r(1,{location:f});b=m.record.name,g=we(fu(d.params,m.keys.filter(S=>!S.optional).concat(m.parent?m.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),f.params&&fu(f.params,m.keys.map(S=>S.name))),h=m.stringify(g)}else if(f.path!=null)h=f.path,m=n.find(S=>S.re.test(h)),m&&(g=m.parse(h),b=m.record.name);else{if(m=d.name?r.get(d.name):n.find(S=>S.re.test(d.path)),!m)throw _r(1,{location:f,currentLocation:d});b=m.record.name,g=we({},d.params,f.params),h=m.stringify(g)}const v=[];let w=m;for(;w;)v.unshift(w.record),w=w.parent;return{name:b,path:h,params:g,matched:v,meta:N0(v)}}e.forEach(f=>i(f));function c(){n.length=0,r.clear()}return{addRoute:i,resolve:u,removeRoute:o,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function fu(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function du(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:L0(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function L0(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 mu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function N0(e){return e.reduce((t,n)=>we(t,n.meta),{})}function hu(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function M0(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;Lm(e,t[i])<0?r=i:n=i+1}const s=B0(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function B0(e){let t=e;for(;t=t.parent;)if(Nm(t)&&Lm(e,t)===0)return t}function Nm({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function F0(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&fa(i)):[r&&fa(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function $0(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Dt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const V0=Symbol(""),vu=Symbol(""),Wi=Symbol(""),gl=Symbol(""),ma=Symbol("");function Vr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Cn(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(_r(4,{from:n,to:t})):d instanceof Error?l(d):_0(d)?l(_r(2,{from:t,to:d})):(o&&r.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),a())},c=i(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function xo(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let l=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(_m(l)){const c=(l.__vccOpts||l)[t];c&&i.push(Cn(c,n,r,o,a,s))}else{let u=l();i.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const f=Kb(c)?c.default:c;o.mods[a]=c,o.components[a]=f;const m=(f.__vccOpts||f)[t];return m&&Cn(m,n,r,o,a,s)()}))}}return i}function pu(e){const t=ye(Wi),n=ye(gl),r=M(()=>{const l=yt(e.to);return t.resolve(l)}),s=M(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(xr.bind(null,c));if(d>-1)return d;const m=yu(l[u-2]);return u>1&&yu(c)===m&&f[f.length-1].path!==m?f.findIndex(xr.bind(null,l[u-2])):d}),i=M(()=>s.value>-1&&z0(n.params,r.value.params)),o=M(()=>s.value>-1&&s.value===n.matched.length-1&&km(n.params,r.value.params));function a(l={}){if(W0(l)){const u=t[yt(e.replace)?"replace":"push"](yt(e.to)).catch(ns);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:M(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}function j0(e){return e.length===1?e[0]:e}const H0=Ni({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"},viewTransition:Boolean},useLink:pu,setup(e,{slots:t}){const n=ze(pu(e)),{options:r}=ye(Wi),s=M(()=>({[bu(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[bu(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&j0(t.default(n));return e.custom?i:kn("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),U0=H0;function W0(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 z0(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Dt(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function yu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bu=(e,t,n)=>e??t??n,q0=Ni({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ye(ma),s=M(()=>e.route||r.value),i=ye(vu,0),o=M(()=>{let u=yt(i);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=M(()=>s.value.matched[o.value]);rt(vu,M(()=>o.value+1)),rt(V0,a),rt(ma,s);const l=fe();return me(()=>[l.value,a.value,e.name],([u,c,f],[d,m,g])=>{c&&(c.instances[f]=u,m&&m!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),u&&c&&(!m||!xr(c,m)||!d)&&(c.enterCallbacks[f]||[]).forEach(h=>h(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return wu(n.default,{Component:d,route:u});const m=f.props[c],g=m?m===!0?u.params:typeof m=="function"?m(u):m:null,b=kn(d,we({},g,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return wu(n.default,{Component:b,route:u})||b}}});function wu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const K0=q0;function G0(e){const t=D0(e.routes,e),n=e.parseQuery||F0,r=e.stringifyQuery||gu,s=e.history,i=Vr(),o=Vr(),a=Vr(),l=ce(yn);let u=yn;or&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=So.bind(null,x=>""+x),f=So.bind(null,o0),d=So.bind(null,ms);function m(x,F){let j,Y;return Im(x)?(j=t.getRecordMatcher(x),Y=F):Y=x,t.addRoute(Y,j)}function g(x){const F=t.getRecordMatcher(x);F&&t.removeRoute(F)}function h(){return t.getRoutes().map(x=>x.record)}function b(x){return!!t.getRecordMatcher(x)}function v(x,F){if(F=we({},F||l.value),typeof x=="string"){const C=Co(n,x,F.path),O=t.resolve({path:C.path},F),L=s.createHref(C.fullPath);return we(C,O,{params:d(O.params),hash:ms(C.hash),redirectedFrom:void 0,href:L})}let j;if(x.path!=null)j=we({},x,{path:Co(n,x.path,F.path).path});else{const C=we({},x.params);for(const O in C)C[O]==null&&delete C[O];j=we({},x,{params:f(C)}),F.params=f(F.params)}const Y=t.resolve(j,F),he=x.hash||"";Y.params=c(d(Y.params));const p=c0(r,we({},x,{hash:r0(he),path:Y.path})),y=s.createHref(p);return we({fullPath:p,hash:he,query:r===gu?$0(x.query):x.query||{}},Y,{redirectedFrom:void 0,href:y})}function w(x){return typeof x=="string"?Co(n,x,l.value.path):we({},x)}function S(x,F){if(u!==x)return _r(8,{from:F,to:x})}function E(x){return B(x)}function D(x){return E(we(w(x),{replace:!0}))}function k(x){const F=x.matched[x.matched.length-1];if(F&&F.redirect){const{redirect:j}=F;let Y=typeof j=="function"?j(x):j;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=w(Y):{path:Y},Y.params={}),we({query:x.query,hash:x.hash,params:Y.path!=null?{}:x.params},Y)}}function B(x,F){const j=u=v(x),Y=l.value,he=x.state,p=x.force,y=x.replace===!0,C=k(j);if(C)return B(we(w(C),{state:typeof C=="object"?we({},he,C.state):he,force:p,replace:y}),F||j);const O=j;O.redirectedFrom=F;let L;return!p&&u0(r,Y,j)&&(L=_r(16,{to:O,from:Y}),Le(Y,Y,!0,!1)),(L?Promise.resolve(L):W(O,Y)).catch(P=>nn(P)?nn(P,2)?P:Ce(P):se(P,O,Y)).then(P=>{if(P){if(nn(P,2))return B(we({replace:y},w(P.to),{state:typeof P.to=="object"?we({},he,P.to.state):he,force:p}),F||O)}else P=A(O,Y,!0,y,he);return V(O,Y,P),P})}function T(x,F){const j=S(x,F);return j?Promise.reject(j):Promise.resolve()}function I(x){const F=st.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(x):x()}function W(x,F){let j;const[Y,he,p]=Y0(x,F);j=xo(Y.reverse(),"beforeRouteLeave",x,F);for(const C of Y)C.leaveGuards.forEach(O=>{j.push(Cn(O,x,F))});const y=T.bind(null,x,F);return j.push(y),Ne(j).then(()=>{j=[];for(const C of i.list())j.push(Cn(C,x,F));return j.push(y),Ne(j)}).then(()=>{j=xo(he,"beforeRouteUpdate",x,F);for(const C of he)C.updateGuards.forEach(O=>{j.push(Cn(O,x,F))});return j.push(y),Ne(j)}).then(()=>{j=[];for(const C of p)if(C.beforeEnter)if(Dt(C.beforeEnter))for(const O of C.beforeEnter)j.push(Cn(O,x,F));else j.push(Cn(C.beforeEnter,x,F));return j.push(y),Ne(j)}).then(()=>(x.matched.forEach(C=>C.enterCallbacks={}),j=xo(p,"beforeRouteEnter",x,F,I),j.push(y),Ne(j))).then(()=>{j=[];for(const C of o.list())j.push(Cn(C,x,F));return j.push(y),Ne(j)}).catch(C=>nn(C,8)?C:Promise.reject(C))}function V(x,F,j){a.list().forEach(Y=>I(()=>Y(x,F,j)))}function A(x,F,j,Y,he){const p=S(x,F);if(p)return p;const y=F===yn,C=or?history.state:{};j&&(Y||y?s.replace(x.fullPath,we({scroll:y&&C&&C.scroll},he)):s.push(x.fullPath,he)),l.value=x,Le(x,F,j,y),Ce()}let N;function J(){N||(N=s.listen((x,F,j)=>{if(!ue.listening)return;const Y=v(x),he=k(Y);if(he){B(we(he,{replace:!0,force:!0}),Y).catch(ns);return}u=Y;const p=l.value;or&&y0(ou(p.fullPath,j.delta),Ui()),W(Y,p).catch(y=>nn(y,12)?y:nn(y,2)?(B(we(w(y.to),{force:!0}),Y).then(C=>{nn(C,20)&&!j.delta&&j.type===hs.pop&&s.go(-1,!1)}).catch(ns),Promise.reject()):(j.delta&&s.go(-j.delta,!1),se(y,Y,p))).then(y=>{y=y||A(Y,p,!1),y&&(j.delta&&!nn(y,8)?s.go(-j.delta,!1):j.type===hs.pop&&nn(y,20)&&s.go(-1,!1)),V(Y,p,y)}).catch(ns)}))}let X=Vr(),re=Vr(),oe;function se(x,F,j){Ce(x);const Y=re.list();return Y.length?Y.forEach(he=>he(x,F,j)):console.error(x),Promise.reject(x)}function Fe(){return oe&&l.value!==yn?Promise.resolve():new Promise((x,F)=>{X.add([x,F])})}function Ce(x){return oe||(oe=!x,J(),X.list().forEach(([F,j])=>x?j(x):F()),X.reset()),x}function Le(x,F,j,Y){const{scrollBehavior:he}=e;if(!or||!he)return Promise.resolve();const p=!j&&b0(ou(x.fullPath,0))||(Y||!j)&&history.state&&history.state.scroll||null;return At().then(()=>he(x,F,p)).then(y=>y&&p0(y)).catch(y=>se(y,x,F))}const xe=x=>s.go(x);let je;const st=new Set,ue={currentRoute:l,listening:!0,addRoute:m,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:h,resolve:v,options:e,push:E,replace:D,go:xe,back:()=>xe(-1),forward:()=>xe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:re.add,isReady:Fe,install(x){const F=this;x.component("RouterLink",U0),x.component("RouterView",K0),x.config.globalProperties.$router=F,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>yt(l)}),or&&!je&&l.value===yn&&(je=!0,E(s.location).catch(he=>{}));const j={};for(const he in yn)Object.defineProperty(j,he,{get:()=>l.value[he],enumerable:!0});x.provide(Wi,F),x.provide(gl,Bf(j)),x.provide(ma,l);const Y=x.unmount;st.add(x),x.unmount=function(){st.delete(x),st.size<1&&(u=yn,N&&N(),N=null,l.value=yn,je=!1,oe=!1),Y()}}};function Ne(x){return x.reduce((F,j)=>F.then(()=>I(j)),Promise.resolve())}return ue}function Y0(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oxr(u,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(u=>xr(u,l))||s.push(l))}return[n,r,s]}function J0(){return ye(Wi)}function X0(e){return ye(gl)}function Z0(e){const{extendRoutes:t,routes:n}=e;return t&&console.warn('"extendRoutes()" is deprecated, please modify the routes directly. See https://uvr.esm.is/guide/extending-routes.html#extending-routes-at-runtime for an alternative.'),G0(Object.assign(e,{routes:typeof t=="function"&&t(n)||n}))}const Q0="modulepreload",ew=function(e,t){return new URL(e,t).href},Su={},rn=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(n.map(u=>{if(u=ew(u,r),u in Su)return;Su[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(!!r)for(let g=o.length-1;g>=0;g--){const h=o[g];if(h.href===u&&(!c||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${f}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":Q0,c||(m.as="script"),m.crossOrigin="",m.href=u,l&&m.setAttribute("nonce",l),document.head.appendChild(m),c)return new Promise((g,h)=>{m.addEventListener("load",g),m.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})},tw=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>rn(()=>import("./default-B3YofT5k.js"),__vite__mapDeps([0,1]),import.meta.url)})).forEach(([s,i])=>{let o=s.replace("/src/layouts/","").replace(".vue","");t[o]=i});function r(s,i=!0){return s.map(o=>{var a,l,u,c,f,d;if(((a=o.children)==null?void 0:a.length)>0&&(o.children=r(o.children,!1)),i){if(!o.component&&((l=o.children)==null?void 0:l.find(g=>{var h;return(g.path===""||g.path==="/")&&((h=g.meta)==null?void 0:h.isLayout)})))return o;if(((u=o.meta)==null?void 0:u.layout)!==!1)return{path:o.path,component:t[((c=o.meta)==null?void 0:c.layout)||"default"],children:o.path==="/"?[o]:[{...o,path:""}],meta:{isLayout:!0}}}return(f=o.meta)!=null&&f.layout?{path:o.path,component:t[(d=o.meta)==null?void 0:d.layout],children:[{...o,path:""}],meta:{isLayout:!0}}:o})}return r(e)},nw=[{path:"/",name:"/",component:()=>rn(()=>import("./index-CxzoX4Xk.js"),__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]),import.meta.url)},{path:"/404",name:"/404",component:()=>rn(()=>import("./404-ZFKl6IaK.js"),__vite__mapDeps([20,18,17]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>rn(()=>import("./CacheManagement-Dn2ky79P.js"),__vite__mapDeps([21,22,23,24,25,7,8,26,27,18,17]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>rn(()=>import("./cses2wakeup-7beuD_CI.js"),__vite__mapDeps([28,18,22,23,29,30,7,8,5,6,15,3,4,16,31,32,33,34,26,27,35,9,10,36,17,37]),import.meta.url)},{path:"/DataMigration",name:"/DataMigration",component:()=>rn(()=>import("./DataMigration-BwfINwoF.js"),__vite__mapDeps([38,18,3,4,32,33,22,23,35,9,10,7,8,36,26,27,17,39]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>rn(()=>import("./index-CdfK4JOQ.js"),__vite__mapDeps([40,12,13,3,4,17]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>rn(()=>import("./_id_-DKZSKqNm.js"),__vite__mapDeps([41,12,13,3,4,32,33,7,8,15,16,31,34,17]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>rn(()=>import("./settings-CiB_D7vP.js"),__vite__mapDeps([42,11,12,13,7,8,3,4,14,18,31,32,33,34,35,9,10,36,22,23,17,24,25,15,16,29,30,43]),import.meta.url)}],vl=Z0({history:x0("./"),routes:tw(nw)});vl.onError((e,t)=>{var n,r;(r=(n=e==null?void 0:e.message)==null?void 0:n.includes)!=null&&r.call(n,"Failed to fetch dynamically imported module")?localStorage.getItem("vuetify:dynamic-reload")?console.error("Dynamic import error, reloading page did not fix it",e):(console.log("Reloading page to fix dynamic import error"),localStorage.setItem("vuetify:dynamic-reload","true"),location.assign(t.fullPath)):console.error(e)});vl.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function rw(e){e.use(Ub).use(vl).use(qb)}let zs;const sw=new Uint8Array(16);function iw(){if(!zs&&(zs=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!zs))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return zs(sw)}const qe=[];for(let e=0;e<256;++e)qe.push((e+256).toString(16).slice(1));function ow(e,t=0){return qe[e[t+0]]+qe[e[t+1]]+qe[e[t+2]]+qe[e[t+3]]+"-"+qe[e[t+4]]+qe[e[t+5]]+"-"+qe[e[t+6]]+qe[e[t+7]]+"-"+qe[e[t+8]]+qe[e[t+9]]+"-"+qe[e[t+10]]+qe[e[t+11]]+qe[e[t+12]]+qe[e[t+13]]+qe[e[t+14]]+qe[e[t+15]]}const aw=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Cu={randomUUID:aw};function lw(e,t,n){if(Cu.randomUUID&&!e)return Cu.randomUUID();e=e||{};const r=e.random||(e.rng||iw)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,ow(r)}async function cw(){return Notification&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function uw(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}async function fw(){if(await cw()&&In.getSetting("storage.persistOnLoad")){const t=await uw();console.log(`持久性存储状态: ${t?"已启用":"未启用"}`)}}typeof window<"u"&&window.addEventListener("load",fw);const _o="Classworks_settings";function dw(){return lw()}const xu={"server.domain":"https://kv.wuyuan.dev","server.siteKey":""},Fn={"device.uuid":{type:"string",default:dw(),description:"设备唯一标识符",icon:"mdi-identifier"},"namespace.password":{type:"string",default:"",description:"命名空间访问密码",icon:"mdi-key"},"namespace.accessType":{type:"string",default:"readwrite",description:"访问权限类型",icon:"mdi-shield-lock",validate:e=>["readonly","readwrite"].includes(e)},"storage.persistOnLoad":{type:"boolean",default:!0,description:"是否在页面加载时自动请求持久性存储",icon:"mdi-database-sync"},"display.emptySubjectDisplay":{type:"string",default:"card",validate:e=>["card","button"].includes(e),description:"空科目的显示方式",icon:"mdi-card-outline"},"display.dynamicSort":{type:"boolean",default:!0,description:"是否启用动态排序",icon:"mdi-sort-variant"},"display.showRandomButton":{type:"boolean",default:!1,description:"是否显示随机点人按钮",icon:"mdi-shuffle-variant"},"display.showFullscreenButton":{type:"boolean",default:!0,description:"是否显示全屏按钮",icon:"mdi-fullscreen"},"display.cardHoverEffect":{type:"boolean",default:!0,description:"是否启用卡片悬浮效果",icon:"mdi-gesture-tap"},"display.enhancedTouchMode":{type:"boolean",default:!0,description:"是否启用增强触摸模式",icon:"mdi-gesture-tap-button"},"display.showAntiScreenBurnCard":{type:"boolean",default:!1,description:"是否显示防烧屏忽悠卡片",icon:"mdi-monitor-shimmer"},"display.showListCard":{type:"boolean",default:!0,description:"是否显示列表卡片",icon:"mdi-list-box"},"server.domain":{type:"string",default:"",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("域名格式无效:",t),!1}},description:"后端服务器域名",icon:"mdi-web"},"server.classNumber":{type:"string",default:"高三八班",validate:e=>/.*/.test(e),description:"班级编号",icon:"mdi-account-group"},"server.siteKey":{type:"string",default:"",description:"网站令牌",icon:"mdi-key-chain"},"server.provider":{type:"string",default:"kv-local",validate:e=>["kv-local","kv-server","classworkscloud"].includes(e),description:"数据提供者",icon:"mdi-database"},"refresh.auto":{type:"boolean",default:!1,description:"是否启用自动刷新",icon:"mdi-refresh-auto"},"refresh.interval":{type:"number",default:300,validate:e=>e>=10&&e<=3600,description:"自动刷新间隔(秒)",icon:"mdi-timer-outline"},"font.size":{type:"number",default:28,validate:e=>e>=16&&e<=100,description:"字体大小",icon:"mdi-format-size"},"edit.autoSave":{type:"boolean",default:!0,description:"是否启用自动保存",icon:"mdi-content-save-outline"},"edit.blockNonTodayAutoSave":{type:"boolean",default:!0,description:"禁止自动保存非当天数据",icon:"mdi-calendar-lock"},"edit.refreshBeforeEdit":{type:"boolean",default:!0,description:"编辑前是否自动刷新",icon:"mdi-refresh"},"edit.confirmNonTodaySave":{type:"boolean",default:!0,description:"保存非当天数据需确认",icon:"mdi-calendar-alert"},"developer.enabled":{type:"boolean",default:!1,description:"是否启用开发者选项",icon:"mdi-developer-board"},"developer.showDebugConfig":{type:"boolean",default:!1,description:"是否显示调试配置",icon:"mdi-bug-outline"},"developer.disableMessageLog":{type:"boolean",default:!1,description:"禁用消息日志记录",requireDeveloper:!0,icon:"mdi-message-off-outline"},"message.showSidebar":{type:"boolean",default:!0,description:"是否显示消息记录侧栏",requireDeveloper:!0,icon:"mdi-message-text-outline"},"message.maxActiveMessages":{type:"number",default:5,validate:e=>e>=1&&e<=10,description:"同时显示的最大消息数量",requireDeveloper:!0,icon:"mdi-message-badge-outline"},"message.timeout":{type:"number",default:5e3,validate:e=>e>=1e3&&e<=3e4,description:"消息自动关闭时间(毫秒)",requireDeveloper:!0,icon:"mdi-timer-sand"},"message.saveHistory":{type:"boolean",default:!0,description:"是否保存消息历史记录",requireDeveloper:!0,icon:"mdi-history"},"theme.mode":{type:"string",default:"dark",validate:e=>["light","dark"].includes(e),description:"主题模式",icon:"mdi-theme-light-dark"},"randomPicker.enabled":{type:"boolean",default:!0,description:"是否启用随机点名功能",icon:"mdi-account-question"},"randomPicker.animation":{type:"boolean",default:!0,description:"是否启用随机点名动画效果",icon:"mdi-animation-play"},"randomPicker.defaultCount":{type:"number",default:1,validate:e=>e>=1&&e,description:"默认抽取人数",icon:"mdi-counter"},"randomPicker.excludeAbsent":{type:"boolean",default:!0,description:"是否排除请假学生",icon:"mdi-account-off"},"randomPicker.excludeLate":{type:"boolean",default:!1,description:"是否排除迟到学生",icon:"mdi-clock-alert"},"randomPicker.excludeExcluded":{type:"boolean",default:!0,description:"是否排除不参与学生",icon:"mdi-account-cancel"},"randomPicker.mode":{type:"string",default:"name",validate:e=>["name","number"].includes(e),description:"随机点名模式",icon:"mdi-format-list-numbered"},"randomPicker.maxNumber":{type:"number",default:60,validate:e=>e>=1&&e,description:"学号模式最大值",icon:"mdi-numeric"},"randomPicker.minNumber":{type:"number",default:1,validate:e=>e>=1&&e,description:"学号模式最小值",icon:"mdi-numeric-negative-1"}};class mw{constructor(){this.settingsCache=null,this.isInitialized=!1}init(){this.isInitialized||(this.loadSettings(),this.isInitialized=!0)}loadSettings(){this.settingsCache={};try{const t=typeof localStorage<"u"?localStorage.getItem(_o):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(Fn))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(_o,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=Fn[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&xu[t]!==void 0)return xu[t];const r=this.settingsCache[t];return r!==void 0?r:n.default}setSetting(t,n){this.isInitialized||this.init();const r=Fn[t];if(!r)return console.warn(`未定义的设置项: ${t}`),!1;if(r.requireDeveloper&&!this.settingsCache["developer.enabled"])return console.warn(`设置项 ${t} 需要启用开发者选项`),!1;try{const s=this.settingsCache[t];if(typeof n!==r.type&&(n=r.type==="boolean"?!!n:r.type==="number"?Number(n):String(n)),r.validate&&!r.validate(n))return console.warn(`设置项 ${t} 的值无效`),!1;this.settingsCache[t]=n,this.saveSettings(),this.logSettingsChange(t,s,n);const i=r.legacyKey;return i&&typeof localStorage<"u"&&localStorage.setItem(i,n.toString()),!0}catch(s){return console.error(`设置配置项 ${t} 失败:`,s),!1}}logSettingsChange(t,n,r){this.settingsCache["developer.enabled"]&&this.settingsCache["developer.showDebugConfig"]&&console.log(`[Settings] ${t}:`,{old:n,new:r,time:new Date().toLocaleTimeString()})}resetSetting(t){this.isInitialized||this.init();const n=Fn[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings()}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(Fn))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=r=>{r.key===_o&&(this.settingsCache=JSON.parse(r.newValue),t(this.settingsCache))};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}getSettingDefinition(t){return Fn[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in Fn)t[n]=this.getSetting(n);return t}}const In=new mw;typeof window<"u"&&In.init();const pe=e=>In.getSetting(e),Eo=(e,t)=>In.setSetting(e,t),Qx=e=>In.resetSetting(e),e_=e=>In.watchSettings(e),t_=e=>In.getSettingDefinition(e),n_=()=>In.exportSettingsAsKeyValue();class hw{constructor(){this.logs=[]}async addLog(t){return this.logs.push(t),this.logs.length>100&&this.logs.shift(),!0}async getLogs(t=20){return this.logs.slice(-t).reverse()}}const ei=new hw,zt=[];let ti=null,Ut=null;const jr={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},gw={timeout:3e3,showSnackbar:!0,addToLog:!0};async function qs(e,t,n="",r={}){const s={...gw,...r},i={id:Date.now()+Math.random(),type:e,title:t,content:n.substring(0,500),timestamp:new Date};if(s.addToLog)try{for(await ei.addLog(i),zt.unshift(i);zt.length>pe("message.maxActiveMessages");)zt.pop();Ut==null||Ut(zt)}catch(o){console.error("保存日志失败:",o)}return s.showSnackbar&&(ti==null||ti(i)),i}function vw(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}const ar={install:e=>{e.config.globalProperties.$message={success:(t,n,r)=>qs(jr.SUCCESS,t,n,r),error:(t,n,r)=>qs(jr.ERROR,t,n,r),info:(t,n,r)=>qs(jr.INFO,t,n,r),warning:(t,n,r)=>qs(jr.WARNING,t,n,r)}},onSnackbar:e=>{ti=e},onLog:e=>{Ut=e},getMessages:async()=>{try{return await ei.getLogs()}catch(e){return console.error("获取日志失败:",e),[...zt]}},clearMessages:async()=>{try{await ei.clearLogs(),zt.length=0,Ut==null||Ut(zt)}catch(e){console.error("清除日志失败:",e)}},MessageType:jr,markAsRead:()=>{},deleteMessage:async e=>{try{await ei.deleteLog(e);const t=zt.findIndex(n=>n.id===e);t!==-1&&zt.splice(t,1),Ut==null||Ut(zt)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:vw},Mm=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Rr=Z({border:[Boolean,Number,String]},"border");function Pr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();return{borderClasses:M(()=>{const r=e.border;return r===!0||r===""?`${t}--border`:typeof r=="string"||r===0?String(r).split(" ").map(s=>`border-${s}`):[]})}}const pw=[null,"default","comfortable","compact"],Zn=Z({density:{type:String,default:"default",validator:e=>pw.includes(e)}},"density");function kr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();return{densityClasses:q(()=>`${t}--density-${e.density}`)}}const Ps=Z({elevation:{type:[Number,String],validator(e){const t=parseInt(e);return!isNaN(t)&&t>=0&&t<=24}}},"elevation");function ks(e){return{elevationClasses:q(()=>{const n=$e(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const gn=Z({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function vn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();return{roundedClasses:M(()=>{const r=$e(e)?e.value:e.rounded,s=$e(e)?e.value:e.tile,i=[];if(r===!0||r==="")i.push(`${t}--rounded`);else if(typeof r=="string"||r===0)for(const o of String(r).split(" "))i.push(`rounded-${o}`);else(s||r===!1)&&i.push("rounded-0");return i})}}const gt=Z({tag:{type:[String,Object,Function],default:"div"}},"tag");function pl(e){return al(()=>{const t=Zt(e),n=[],r={};if(t.background)if(sa(t.background)){if(r.backgroundColor=t.background,!t.text&&my(t.background)){const s=Gt(t.background);if(s.a==null||s.a===1){const i=im(s);r.color=i,r.caretColor=i}}}else n.push(`bg-${t.background}`);return t.text&&(sa(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{colorClasses:n,colorStyles:r}})}function Er(e){const{colorClasses:t,colorStyles:n}=pl(()=>({text:Zt(e)}));return{textColorClasses:t,textColorStyles:n}}function vr(e){const{colorClasses:t,colorStyles:n}=pl(()=>({background:Zt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}const yw=["elevated","flat","tonal","outlined","text","plain"];function Os(e,t){return K(Ie,null,[e&&K("span",{key:"overlay",class:ve(`${t}__overlay`)},null),K("span",{key:"underlay",class:ve(`${t}__underlay`)},null)])}const Qn=Z({color:String,variant:{type:String,default:"elevated",validator:e=>yw.includes(e)}},"variant");function Is(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();const n=q(()=>{const{variant:i}=Zt(e);return`${t}--variant-${i}`}),{colorClasses:r,colorStyles:s}=pl(()=>{const{variant:i,color:o}=Zt(e);return{[["elevated","flat"].includes(i)?"background":"text"]:o}});return{colorClasses:r,colorStyles:s,variantClasses:n}}const Bm=Z({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...Rr(),...Be(),...Zn(),...Ps(),...gn(),...gt(),...wt(),...Qn()},"VBtnGroup"),_u=be()({name:"VBtnGroup",props:Bm(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=Rt(e),{densityClasses:s}=kr(e),{borderClasses:i}=Pr(e),{elevationClasses:o}=ks(e),{roundedClasses:a}=vn(e);ji({VBtn:{height:q(()=>e.direction==="horizontal"?"auto":null),baseColor:q(()=>e.baseColor),color:q(()=>e.color),density:q(()=>e.density),flat:!0,variant:q(()=>e.variant)}}),De(()=>R(e.tag,{class:ve(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},r.value,i.value,s.value,o.value,a.value,e.class]),style:Pe(e.style)},n))}}),bw=Z({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),ww=Z({value:null,disabled:Boolean,selectedClass:String},"group-item");function Sw(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const r=Ue("useGroupItem");if(!r)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const s=rd();rt(Symbol.for(`${t.description}:id`),s);const i=ye(t,null);if(!i){if(!n)return i;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const o=q(()=>e.value),a=M(()=>!!(i.disabled.value||e.disabled));i.register({id:s,value:o,disabled:a},r),Tt(()=>{i.unregister(s)});const l=M(()=>i.isSelected(s)),u=M(()=>i.items.value[0].id===s),c=M(()=>i.items.value[i.items.value.length-1].id===s),f=M(()=>l.value&&[i.selectedClass.value,e.selectedClass]);return me(l,d=>{r.emit("group:selected",{value:d})},{flush:"sync"}),{id:s,isSelected:l,isFirst:u,isLast:c,toggle:()=>i.select(s,!l.value),select:d=>i.select(s,d),selectedClass:f,value:o,disabled:a,group:i}}function Cw(e,t){let n=!1;const r=ze([]),s=un(e,"modelValue",[],d=>d==null?[]:Fm(r,ol(d)),d=>{const m=_w(r,d);return e.multiple?m:m[0]}),i=Ue("useGroup");function o(d,m){const g=d,h=Symbol.for(`${t.description}:id`),v=lr(h,i==null?void 0:i.vnode).indexOf(m);yt(g.value)==null&&(g.value=v,g.useIndexAsValue=!0),v>-1?r.splice(v,0,g):r.push(g)}function a(d){if(n)return;l();const m=r.findIndex(g=>g.id===d);r.splice(m,1)}function l(){const d=r.find(m=>!m.disabled);d&&e.mandatory==="force"&&!s.value.length&&(s.value=[d.id])}Pn(()=>{l()}),Tt(()=>{n=!0}),Ya(()=>{for(let d=0;dh.id===d);if(!(m&&(g!=null&&g.disabled)))if(e.multiple){const h=s.value.slice(),b=h.findIndex(w=>w===d),v=~b;if(m=m??!v,v&&e.mandatory&&h.length<=1||!v&&e.max!=null&&h.length+1>e.max)return;b<0&&m?h.push(d):b>=0&&!m&&h.splice(b,1),s.value=h}else{const h=s.value.includes(d);if(e.mandatory&&h||!h&&!m)return;s.value=m??!h?[d]:[]}}function c(d){if(e.multiple,s.value.length){const m=s.value[0],g=r.findIndex(v=>v.id===m);let h=(g+d)%r.length,b=r[h];for(;b.disabled&&h!==g;)h=(h+d)%r.length,b=r[h];if(b.disabled)return;s.value=[r[h].id]}else{const m=r.find(g=>!g.disabled);m&&(s.value=[m.id])}}const f={register:o,unregister:a,selected:s,select:u,disabled:q(()=>e.disabled),prev:()=>c(r.length-1),next:()=>c(1),isSelected:d=>s.value.includes(d),selectedClass:q(()=>e.selectedClass),items:q(()=>r),getItemIndex:d=>xw(r,d)};return rt(t,f),f}function xw(e,t){const n=Fm(e,[t]);return n.length?e.findIndex(r=>r.id===n[0]):-1}function Fm(e,t){const n=[];return t.forEach(r=>{const s=e.find(o=>zn(r,o.value)),i=e[r];(s==null?void 0:s.value)!=null?n.push(s.id):i!=null&&i.useIndexAsValue&&n.push(i.id)}),n}function _w(e,t){const n=[];return t.forEach(r=>{const s=e.findIndex(i=>i.id===r);if(~s){const i=e[s];n.push(i.value!=null?i.value:s)}}),n}const $m=Symbol.for("vuetify:v-btn-toggle"),Ew=Z({...Bm(),...bw()},"VBtnToggle"),r_=be()({name:"VBtnToggle",props:Ew(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:r,next:s,prev:i,select:o,selected:a}=Cw(e,$m);return De(()=>{const l=_u.filterProps(e);return R(_u,ke({class:["v-btn-toggle",e.class]},l,{style:e.style}),{default:()=>{var u;return[(u=n.default)==null?void 0:u.call(n,{isSelected:r,next:s,prev:i,select:o,selected:a})]}})}),{next:s,prev:i,select:o}}}),Aw=Z({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),Et=be(!1)({name:"VDefaultsProvider",props:Aw(),setup(e,t){let{slots:n}=t;const{defaults:r,disabled:s,reset:i,root:o,scoped:a}=jf(e);return ji(r,{reset:i,root:o,scoped:a,disabled:s}),()=>{var l;return(l=n.default)==null?void 0:l.call(n)}}}),Tw=["x-small","small","default","large","x-large"],zi=Z({size:{type:[String,Number],default:"default"}},"size");function qi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();return al(()=>{const n=e.size;let r,s;return pi(Tw,n)?r=`${t}--size-${n}`:n&&(s={width:de(n),height:de(n)}),{sizeClasses:r,sizeStyles:s}})}const Rw=Z({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:Xe,opacity:[String,Number],...Be(),...zi(),...gt({tag:"i"}),...wt()},"VIcon"),Xt=be()({name:"VIcon",props:Rw(),setup(e,t){let{attrs:n,slots:r}=t;const s=ce(),{themeClasses:i}=wm(),{iconData:o}=Pb(()=>s.value||e.icon),{sizeClasses:a}=qi(e),{textColorClasses:l,textColorStyles:u}=Er(()=>e.color);return De(()=>{var d,m;const c=(d=r.default)==null?void 0:d.call(r);c&&(s.value=(m=Kd(c).filter(g=>g.type===Cs&&g.children&&typeof g.children=="string")[0])==null?void 0:m.children);const f=!!(n.onClick||n.onClickOnce);return R(o.value.component,{tag:e.tag,icon:o.value.icon,class:ve(["v-icon","notranslate",i.value,a.value,l.value,{"v-icon--clickable":f,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:Pe([{"--v-icon-opacity":e.opacity},a.value?void 0:{fontSize:de(e.size),height:de(e.size),width:de(e.size)},u.value,e.style]),role:f?"button":void 0,"aria-hidden":!f,tabindex:f?e.disabled?-1:0:void 0},{default:()=>[c]})}),{}}});function Vm(e,t){const n=fe(),r=ce(!1);if(rl){const s=new IntersectionObserver(i=>{r.value=!!i.find(o=>o.isIntersecting)},t);ut(()=>{s.disconnect()}),me(n,(i,o)=>{o&&(s.unobserve(o),r.value=!1),i&&s.observe(i)},{flush:"post"})}return{intersectionRef:n,isIntersecting:r}}const Pw=Z({bgColor:String,color:String,indeterminate:[Boolean,String],modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Be(),...zi(),...gt({tag:"div"}),...wt()},"VProgressCircular"),kw=be()({name:"VProgressCircular",props:Pw(),setup(e,t){let{slots:n}=t;const r=20,s=2*Math.PI*r,i=fe(),{themeClasses:o}=Rt(e),{sizeClasses:a,sizeStyles:l}=qi(e),{textColorClasses:u,textColorStyles:c}=Er(()=>e.color),{textColorClasses:f,textColorStyles:d}=Er(()=>e.bgColor),{intersectionRef:m,isIntersecting:g}=Vm(),{resizeRef:h,contentRect:b}=Sm(),v=q(()=>Tn(parseFloat(e.modelValue),0,100)),w=q(()=>Number(e.width)),S=q(()=>l.value?Number(e.size):b.value?b.value.width:Math.max(w.value,32)),E=q(()=>r/(1-w.value/S.value)*2),D=q(()=>w.value/S.value*E.value),k=q(()=>de((100-v.value)/100*s));return Qt(()=>{m.value=i.value,h.value=i.value}),De(()=>R(e.tag,{ref:i,class:ve(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":g.value,"v-progress-circular--disable-shrink":e.indeterminate==="disable-shrink"},o.value,a.value,u.value,e.class]),style:Pe([l.value,c.value,e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:v.value},{default:()=>[K("svg",{style:{transform:`rotate(calc(-90deg + ${Number(e.rotate)}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${E.value} ${E.value}`},[K("circle",{class:ve(["v-progress-circular__underlay",f.value]),style:Pe(d.value),fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":D.value,"stroke-dasharray":s,"stroke-dashoffset":0},null),K("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":D.value,"stroke-dasharray":s,"stroke-dashoffset":k.value},null)]),n.default&&K("div",{class:"v-progress-circular__content"},[n.default({value:v.value})])]})),{}}}),Or=Z({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function Ir(e){return{dimensionStyles:M(()=>{const n={},r=de(e.height),s=de(e.maxHeight),i=de(e.maxWidth),o=de(e.minHeight),a=de(e.minWidth),l=de(e.width);return r!=null&&(n.height=r),s!=null&&(n.maxHeight=s),i!=null&&(n.maxWidth=i),o!=null&&(n.minHeight=o),a!=null&&(n.minWidth=a),l!=null&&(n.width=l),n})}}const Eu={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Ki=Z({location:String},"location");function yl(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:r}=Ts();return{locationStyles:M(()=>{if(!e.location)return{};const{side:i,align:o}=ra(e.location.split(" ").length>1?e.location:`${e.location} center`,r.value);function a(u){return n?n(u):0}const l={};return i!=="center"&&(t?l[Eu[i]]=`calc(100% - ${a(i)}px)`:l[i]=0),o!=="center"?t?l[Eu[o]]=`calc(100% - ${a(o)}px)`:l[o]=0:(i==="center"?l.top=l.left="50%":l[{top:"left",bottom:"left",left:"top",right:"top"}[i]]="50%",l.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[i]),l})}}const Ow=Z({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Be(),...Ki({location:"top"}),...gn(),...gt(),...wt()},"VProgressLinear"),jm=be()({name:"VProgressLinear",props:Ow(),emits:{"update:modelValue":e=>!0},setup(e,t){var V;let{slots:n}=t;const r=un(e,"modelValue"),{isRtl:s,rtlClasses:i}=Ts(),{themeClasses:o}=Rt(e),{locationStyles:a}=yl(e),{textColorClasses:l,textColorStyles:u}=Er(()=>e.color),{backgroundColorClasses:c,backgroundColorStyles:f}=vr(()=>e.bgColor||e.color),{backgroundColorClasses:d,backgroundColorStyles:m}=vr(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:g,backgroundColorStyles:h}=vr(()=>e.color),{roundedClasses:b}=vn(e),{intersectionRef:v,isIntersecting:w}=Vm(),S=M(()=>parseFloat(e.max)),E=M(()=>parseFloat(e.height)),D=M(()=>Tn(parseFloat(e.bufferValue)/S.value*100,0,100)),k=M(()=>Tn(parseFloat(r.value)/S.value*100,0,100)),B=M(()=>s.value!==e.reverse),T=M(()=>e.indeterminate?"fade-transition":"slide-x-transition"),I=Oe&&((V=window.matchMedia)==null?void 0:V.call(window,"(forced-colors: active)").matches);function W(A){if(!v.value)return;const{left:N,right:J,width:X}=v.value.getBoundingClientRect(),re=B.value?X-A.clientX+(J-X):A.clientX-N;r.value=Math.round(re/X*S.value)}return De(()=>R(e.tag,{ref:v,class:ve(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&w.value,"v-progress-linear--reverse":B.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},b.value,o.value,i.value,e.class]),style:Pe([{bottom:e.location==="bottom"?0:void 0,top:e.location==="top"?0:void 0,height:e.active?de(E.value):0,"--v-progress-linear-height":de(E.value),...e.absolute?a.value:{}},e.style]),role:"progressbar","aria-hidden":e.active?"false":"true","aria-valuemin":"0","aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(r.value),S.value),onClick:e.clickable&&W},{default:()=>[e.stream&&K("div",{key:"stream",class:ve(["v-progress-linear__stream",l.value]),style:{...u.value,[B.value?"left":"right"]:de(-E.value),borderTop:`${de(E.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${de(E.value/4)})`,width:de(100-D.value,"%"),"--v-progress-linear-stream-to":de(E.value*(B.value?1:-1))}},null),K("div",{class:ve(["v-progress-linear__background",I?void 0:c.value]),style:Pe([f.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),K("div",{class:ve(["v-progress-linear__buffer",I?void 0:d.value]),style:Pe([m.value,{opacity:parseFloat(e.bufferOpacity),width:de(D.value,"%")}])},null),R(An,{name:T.value},{default:()=>[e.indeterminate?K("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(A=>K("div",{key:A,class:ve(["v-progress-linear__indeterminate",A,I?void 0:g.value]),style:Pe(h.value)},null))]):K("div",{class:ve(["v-progress-linear__determinate",I?void 0:g.value]),style:Pe([h.value,{width:de(k.value,"%")}])},null)]}),n.default&&K("div",{class:"v-progress-linear__content"},[n.default({value:k.value,buffer:D.value})])]})),{}}}),Hm=Z({loading:[Boolean,String]},"loader");function Um(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();return{loaderClasses:q(()=>({[`${t}--loading`]:e.loading}))}}function Iw(e,t){var r;let{slots:n}=t;return K("div",{class:ve(`${e.name}__loader`)},[((r=n.default)==null?void 0:r.call(n,{color:e.color,isActive:e.active}))||R(jm,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const Dw=["static","relative","fixed","absolute","sticky"],bl=Z({position:{type:String,validator:e=>Dw.includes(e)}},"position");function wl(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:On();return{positionClasses:q(()=>e.position?`${t}--${e.position}`:void 0)}}function Lw(){const e=Ue("useRoute");return M(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Nw(){var e,t;return(t=(e=Ue("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function Sl(e,t){var c,f;const n=fd("RouterLink"),r=q(()=>!!(e.href||e.to)),s=M(()=>(r==null?void 0:r.value)||Rc(t,"click")||Rc(e,"click"));if(typeof n=="string"||!("useLink"in n)){const d=q(()=>e.href);return{isLink:r,isClickable:s,href:d,linkProps:ze({href:d})}}const i=n.useLink({to:q(()=>e.to||""),replace:q(()=>e.replace)}),o=M(()=>e.to?i:void 0),a=Lw(),l=M(()=>{var d,m,g;return o.value?e.exact?a.value?((g=o.value.isExactActive)==null?void 0:g.value)&&zn(o.value.route.value.query,a.value.query):((m=o.value.isExactActive)==null?void 0:m.value)??!1:((d=o.value.isActive)==null?void 0:d.value)??!1:!1}),u=M(()=>{var d;return e.to?(d=o.value)==null?void 0:d.route.value.href:e.href});return{isLink:r,isClickable:s,isActive:l,route:(c=o.value)==null?void 0:c.route,navigate:(f=o.value)==null?void 0:f.navigate,href:u,linkProps:ze({href:u,"aria-current":q(()=>l.value?"page":void 0)})}}const Cl=Z({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let Ao=!1;function Mw(e,t){let n=!1,r,s;Oe&&(e!=null&&e.beforeEach)&&(At(()=>{window.addEventListener("popstate",i),r=e.beforeEach((o,a,l)=>{Ao?n?t(l):l():setTimeout(()=>n?t(l):l()),Ao=!0}),s=e==null?void 0:e.afterEach(()=>{Ao=!1})}),ut(()=>{window.removeEventListener("popstate",i),r==null||r(),s==null||s()}));function i(o){var a;(a=o.state)!=null&&a.replaced||(n=!0,setTimeout(()=>n=!1))}}function Bw(e,t){me(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&At(()=>{t(n)})},{immediate:!0})}const ha=Symbol("rippleStop"),Fw=80;function Au(e,t){e.style.transform=t,e.style.webkitTransform=t}function ga(e){return e.constructor.name==="TouchEvent"}function Wm(e){return e.constructor.name==="KeyboardEvent"}const $w=function(e,t){var f;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=0,s=0;if(!Wm(e)){const d=t.getBoundingClientRect(),m=ga(e)?e.touches[e.touches.length-1]:e;r=m.clientX-d.left,s=m.clientY-d.top}let i=0,o=.3;(f=t._ripple)!=null&&f.circle?(o=.15,i=t.clientWidth/2,i=n.center?i:i+Math.sqrt((r-i)**2+(s-i)**2)/4):i=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;const a=`${(t.clientWidth-i*2)/2}px`,l=`${(t.clientHeight-i*2)/2}px`,u=n.center?a:`${r-i}px`,c=n.center?l:`${s-i}px`;return{radius:i,scale:o,x:u,y:c,centerX:a,centerY:l}},xi={show(e,t){var m;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((m=t==null?void 0:t._ripple)!=null&&m.enabled))return;const r=document.createElement("span"),s=document.createElement("span");r.appendChild(s),r.className="v-ripple__container",n.class&&(r.className+=` ${n.class}`);const{radius:i,scale:o,x:a,y:l,centerX:u,centerY:c}=$w(e,t,n),f=`${i*2}px`;s.className="v-ripple__animation",s.style.width=f,s.style.height=f,t.appendChild(r);const d=window.getComputedStyle(t);d&&d.position==="static"&&(t.style.position="relative",t.dataset.previousPosition="static"),s.classList.add("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--visible"),Au(s,`translate(${a}, ${l}) scale3d(${o},${o},${o})`),s.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{s.classList.remove("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--in"),Au(s,`translate(${u}, ${c}) scale3d(1,1,1)`)})})},hide(e){var i;if(!((i=e==null?void 0:e._ripple)!=null&&i.enabled))return;const t=e.getElementsByClassName("v-ripple__animation");if(t.length===0)return;const n=Array.from(t).findLast(o=>!o.dataset.isHiding);if(n)n.dataset.isHiding="true";else return;const r=performance.now()-Number(n.dataset.activated),s=Math.max(250-r,0);setTimeout(()=>{n.classList.remove("v-ripple__animation--in"),n.classList.add("v-ripple__animation--out"),setTimeout(()=>{var a;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((a=n.parentNode)==null?void 0:a.parentNode)===e&&e.removeChild(n.parentNode)},300)},s)}};function zm(e){return typeof e>"u"||!!e}function gs(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[ha])){if(e[ha]=!0,ga(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||Wm(e),n._ripple.class&&(t.class=n._ripple.class),ga(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{xi.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{var r;(r=n==null?void 0:n._ripple)!=null&&r.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},Fw)}else xi.show(e,n,t)}}function Tu(e){e[ha]=!0}function pt(e){const t=e.currentTarget;if(t!=null&&t._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type==="touchend"&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{pt(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),xi.hide(t)}}function qm(e){const t=e.currentTarget;t!=null&&t._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}let vs=!1;function Ru(e,t){!vs&&t.includes(e.key)&&(vs=!0,gs(e))}function Km(e){vs=!1,pt(e)}function Gm(e){vs&&(vs=!1,pt(e))}function Ym(e,t,n){const{value:r,modifiers:s}=t,i=zm(r);i||xi.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=i,e._ripple.centered=s.center,e._ripple.circle=s.circle;const o=ea(r)?r:{};o.class&&(e._ripple.class=o.class);const a=o.keys??["Enter","Space"];if(e._ripple.keyDownHandler=l=>Ru(l,a),i&&!n){if(s.stop){e.addEventListener("touchstart",Tu,{passive:!0}),e.addEventListener("mousedown",Tu);return}e.addEventListener("touchstart",gs,{passive:!0}),e.addEventListener("touchend",pt,{passive:!0}),e.addEventListener("touchmove",qm,{passive:!0}),e.addEventListener("touchcancel",pt),e.addEventListener("mousedown",gs),e.addEventListener("mouseup",pt),e.addEventListener("mouseleave",pt),e.addEventListener("keydown",l=>Ru(l,a)),e.addEventListener("keyup",Km),e.addEventListener("blur",Gm),e.addEventListener("dragstart",pt,{passive:!0})}else!i&&n&&Jm(e)}function Jm(e){var t;e.removeEventListener("mousedown",gs),e.removeEventListener("touchstart",gs),e.removeEventListener("touchend",pt),e.removeEventListener("touchmove",qm),e.removeEventListener("touchcancel",pt),e.removeEventListener("mouseup",pt),e.removeEventListener("mouseleave",pt),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",Km),e.removeEventListener("dragstart",pt),e.removeEventListener("blur",Gm)}function Vw(e,t){Ym(e,t,!1)}function jw(e){Jm(e),delete e._ripple}function Hw(e,t){if(t.value===t.oldValue)return;const n=zm(t.oldValue);Ym(e,t,n)}const ps={mounted:Vw,unmounted:jw,updated:Hw},Uw=Z({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:$m},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:Xe,appendIcon:Xe,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...Rr(),...Be(),...Zn(),...Or(),...Ps(),...ww(),...Hm(),...Ki(),...bl(),...gn(),...Cl(),...zi(),...gt({tag:"button"}),...wt(),...Qn({variant:"elevated"})},"VBtn"),Xm=be()({name:"VBtn",props:Uw(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Rt(e),{borderClasses:i}=Pr(e),{densityClasses:o}=kr(e),{dimensionStyles:a}=Ir(e),{elevationClasses:l}=ks(e),{loaderClasses:u}=Um(e),{locationStyles:c}=yl(e),{positionClasses:f}=wl(e),{roundedClasses:d}=vn(e),{sizeClasses:m,sizeStyles:g}=qi(e),h=Sw(e,e.symbol,!1),b=Sl(e,n),v=M(()=>{var V;return e.active!==void 0?e.active:b.isLink.value?(V=b.isActive)==null?void 0:V.value:h==null?void 0:h.isSelected.value}),w=q(()=>v.value?e.activeColor??e.color:e.color),S=M(()=>{var A,N;return{color:(h==null?void 0:h.isSelected.value)&&(!b.isLink.value||((A=b.isActive)==null?void 0:A.value))||!h||((N=b.isActive)==null?void 0:N.value)?w.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:E,colorStyles:D,variantClasses:k}=Is(S),B=M(()=>(h==null?void 0:h.disabled.value)||e.disabled),T=q(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),I=M(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function W(V){var A;B.value||b.isLink.value&&(V.metaKey||V.ctrlKey||V.shiftKey||V.button!==0||n.target==="_blank")||((A=b.navigate)==null||A.call(b,V),h==null||h.toggle())}return Bw(b,h==null?void 0:h.select),De(()=>{const V=b.isLink.value?"a":e.tag,A=!!(e.prependIcon||r.prepend),N=!!(e.appendIcon||r.append),J=!!(e.icon&&e.icon!==!0);return Yn(R(V,ke({type:V==="a"?void 0:"button",class:["v-btn",h==null?void 0:h.selectedClass.value,{"v-btn--active":v.value,"v-btn--block":e.block,"v-btn--disabled":B.value,"v-btn--elevated":T.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},s.value,i.value,E.value,o.value,l.value,u.value,f.value,d.value,m.value,k.value,e.class],style:[D.value,a.value,c.value,g.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:B.value||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:W,value:I.value},b.linkProps),{default:()=>{var X;return[Os(!0,"v-btn"),!e.icon&&A&&K("span",{key:"prepend",class:"v-btn__prepend"},[r.prepend?R(Et,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},r.prepend):R(Xt,{key:"prepend-icon",icon:e.prependIcon},null)]),K("span",{class:"v-btn__content","data-no-activator":""},[!r.default&&J?R(Xt,{key:"content-icon",icon:e.icon},null):R(Et,{key:"content-defaults",disabled:!J,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var re;return[((re=r.default)==null?void 0:re.call(r))??kt(e.text)]}})]),!e.icon&&N&&K("span",{key:"append",class:"v-btn__append"},[r.append?R(Et,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},r.append):R(Xt,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&K("span",{key:"loader",class:"v-btn__loader"},[((X=r.loader)==null?void 0:X.call(r))??R(kw,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[ps,!B.value&&e.ripple,"",{center:!!e.icon}]])}),{group:h}}});function To(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ww(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Pu(e,t){if(e.side==="top"||e.side==="bottom"){const{side:n,align:r}=e,s=r==="left"?0:r==="center"?t.width/2:r==="right"?t.width:r,i=n==="top"?0:n==="bottom"?t.height:n;return To({x:s,y:i},t)}else if(e.side==="left"||e.side==="right"){const{side:n,align:r}=e,s=n==="left"?0:n==="right"?t.width:n,i=r==="top"?0:r==="center"?t.height/2:r==="bottom"?t.height:r;return To({x:s,y:i},t)}return To({x:t.width/2,y:t.height/2},t)}const Zm={static:Kw,connected:Yw},zw=Z({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in Zm},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array]},"VOverlay-location-strategies");function qw(e,t){const n=fe({}),r=fe();Oe&&Es(()=>!!(t.isActive.value&&e.locationStrategy),a=>{var l,u;me(()=>e.locationStrategy,a),ut(()=>{window.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("scroll",o),r.value=void 0}),window.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",o,{passive:!0}),typeof e.locationStrategy=="function"?r.value=(l=e.locationStrategy(t,e,n))==null?void 0:l.updateLocation:r.value=(u=Zm[e.locationStrategy](t,e,n))==null?void 0:u.updateLocation});function s(a){var l;(l=r.value)==null||l.call(r,a)}function i(a){var l;(l=r.value)==null||l.call(r,a)}function o(a){var l;(l=r.value)==null||l.call(r,a)}return{contentStyles:n,updateLocation:r}}function Kw(){}function Gw(e,t){const n=Qd(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Yw(e,t,n){(Array.isArray(e.target.value)||ky(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:s,preferredOrigin:i}=al(()=>{const v=ra(t.location,e.isRtl.value),w=t.origin==="overlap"?v:t.origin==="auto"?po(v):ra(t.origin,e.isRtl.value);return v.side===w.side&&v.align===yo(w).align?{preferredAnchor:kc(v),preferredOrigin:kc(w)}:{preferredAnchor:v,preferredOrigin:w}}),[o,a,l,u]=["minWidth","minHeight","maxWidth","maxHeight"].map(v=>M(()=>{const w=parseFloat(t[v]);return isNaN(w)?1/0:w})),c=M(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const v=t.offset.split(" ").map(parseFloat);return v.length<2&&v.push(0),v}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let f=!1,d=-1;const m=new Wp(4),g=new ResizeObserver(()=>{if(!f)return;if(requestAnimationFrame(w=>{w!==d&&m.clear(),requestAnimationFrame(S=>{d=S})}),m.isFull){const w=m.values();if(zn(w.at(-1),w.at(-3))&&!zn(w.at(-1),w.at(-2)))return}const v=b();v&&m.push(v.flipped)});let h=new Jt({x:0,y:0,width:0,height:0});me(e.target,(v,w)=>{w&&!Array.isArray(w)&&g.unobserve(w),Array.isArray(v)?zn(v,w)||b():v&&g.observe(v)},{immediate:!0}),me(e.contentEl,(v,w)=>{w&&g.unobserve(w),v&&g.observe(v)},{immediate:!0}),ut(()=>{g.disconnect()});function b(){if(f=!1,requestAnimationFrame(()=>f=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(h=Zd(e.target.value));const v=Gw(e.contentEl.value,e.isRtl.value),w=bi(e.contentEl.value),S=12;w.length||(w.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(v.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),v.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const E=w.reduce((N,J)=>{const X=Xp(J);return N?new Jt({x:Math.max(N.left,X.left),y:Math.max(N.top,X.top),width:Math.min(N.right,X.right)-Math.max(N.left,X.left),height:Math.min(N.bottom,X.bottom)-Math.max(N.top,X.top)}):X},void 0);E.x+=S,E.y+=S,E.width-=S*2,E.height-=S*2;let D={anchor:s.value,origin:i.value};function k(N){const J=new Jt(v),X=Pu(N.anchor,h),re=Pu(N.origin,J);let{x:oe,y:se}=Ww(X,re);switch(N.anchor.side){case"top":se-=c.value[0];break;case"bottom":se+=c.value[0];break;case"left":oe-=c.value[0];break;case"right":oe+=c.value[0];break}switch(N.anchor.align){case"top":se-=c.value[1];break;case"bottom":se+=c.value[1];break;case"left":oe-=c.value[1];break;case"right":oe+=c.value[1];break}return J.x+=oe,J.y+=se,J.width=Math.min(J.width,l.value),J.height=Math.min(J.height,u.value),{overflows:Ic(J,E),x:oe,y:se}}let B=0,T=0;const I={x:0,y:0},W={x:!1,y:!1};let V=-1;for(;!(V++>10);){const{x:N,y:J,overflows:X}=k(D);B+=N,T+=J,v.x+=N,v.y+=J;{const re=Oc(D.anchor),oe=X.x.before||X.x.after,se=X.y.before||X.y.after;let Fe=!1;if(["x","y"].forEach(Ce=>{if(Ce==="x"&&oe&&!W.x||Ce==="y"&&se&&!W.y){const Le={anchor:{...D.anchor},origin:{...D.origin}},xe=Ce==="x"?re==="y"?yo:po:re==="y"?po:yo;Le.anchor=xe(Le.anchor),Le.origin=xe(Le.origin);const{overflows:je}=k(Le);(je[Ce].before<=X[Ce].before&&je[Ce].after<=X[Ce].after||je[Ce].before+je[Ce].after<(X[Ce].before+X[Ce].after)/2)&&(D=Le,Fe=W[Ce]=!0)}}),Fe)continue}X.x.before&&(B+=X.x.before,v.x+=X.x.before),X.x.after&&(B-=X.x.after,v.x-=X.x.after),X.y.before&&(T+=X.y.before,v.y+=X.y.before),X.y.after&&(T-=X.y.after,v.y-=X.y.after);{const re=Ic(v,E);I.x=E.width-re.x.before-re.x.after,I.y=E.height-re.y.before-re.y.after,B+=re.x.before,v.x+=re.x.before,T+=re.y.before,v.y+=re.y.before}break}const A=Oc(D.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${D.anchor.side} ${D.anchor.align}`,transformOrigin:`${D.origin.side} ${D.origin.align}`,top:de(Ro(T)),left:e.isRtl.value?void 0:de(Ro(B)),right:e.isRtl.value?de(Ro(-B)):void 0,minWidth:de(A==="y"?Math.min(o.value,h.width):o.value),maxWidth:de(ku(Tn(I.x,o.value===1/0?0:o.value,l.value))),maxHeight:de(ku(Tn(I.y,a.value===1/0?0:a.value,u.value)))}),{available:I,contentBox:v,flipped:W}}return me(()=>[s.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>b()),At(()=>{const v=b();if(!v)return;const{available:w,contentBox:S}=v;S.height>w.y&&requestAnimationFrame(()=>{b(),requestAnimationFrame(()=>{b()})})}),{updateLocation:b}}function Ro(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function ku(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let va=!0;const _i=[];function Jw(e){!va||_i.length?(_i.push(e),pa()):(va=!1,e(),pa())}let Ou=-1;function pa(){cancelAnimationFrame(Ou),Ou=requestAnimationFrame(()=>{const e=_i.shift();e&&e(),_i.length?pa():va=!0})}const ni={none:null,close:Qw,block:eS,reposition:tS},Xw=Z({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in ni}},"VOverlay-scroll-strategies");function Zw(e,t){if(!Oe)return;let n;Qt(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=br(),await new Promise(r=>setTimeout(r)),n.active&&n.run(()=>{var r;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(r=ni[e.scrollStrategy])==null||r.call(ni,t,e,n)}))}),ut(()=>{n==null||n.stop()})}function Qw(e){function t(n){e.isActive.value=!1}Qm(xl(e.target.value,e.contentEl.value),t)}function eS(e,t){var a;const n=(a=e.root.value)==null?void 0:a.offsetParent,r=xl(e.target.value,e.contentEl.value),s=[...new Set([...bi(r,t.contained?n:void 0),...bi(e.contentEl.value,t.contained?n:void 0)])].filter(l=>!l.classList.contains("v-overlay-scroll-blocked")),i=window.innerWidth-document.documentElement.offsetWidth,o=(l=>fl(l)&&l)(n||document.documentElement);o&&e.root.value.classList.add("v-overlay--scroll-blocked"),s.forEach((l,u)=>{l.style.setProperty("--v-body-scroll-x",de(-l.scrollLeft)),l.style.setProperty("--v-body-scroll-y",de(-l.scrollTop)),l!==document.documentElement&&l.style.setProperty("--v-scrollbar-offset",de(i)),l.classList.add("v-overlay-scroll-blocked")}),ut(()=>{s.forEach((l,u)=>{const c=parseFloat(l.style.getPropertyValue("--v-body-scroll-x")),f=parseFloat(l.style.getPropertyValue("--v-body-scroll-y")),d=l.style.scrollBehavior;l.style.scrollBehavior="auto",l.style.removeProperty("--v-body-scroll-x"),l.style.removeProperty("--v-body-scroll-y"),l.style.removeProperty("--v-scrollbar-offset"),l.classList.remove("v-overlay-scroll-blocked"),l.scrollLeft=-c,l.scrollTop=-f,l.style.scrollBehavior=d}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function tS(e,t,n){let r=!1,s=-1,i=-1;function o(a){Jw(()=>{var c,f;const l=performance.now();(f=(c=e.updateLocation).value)==null||f.call(c,a),r=(performance.now()-l)/(1e3/60)>2})}i=(typeof requestIdleCallback>"u"?a=>a():requestIdleCallback)(()=>{n.run(()=>{Qm(xl(e.target.value,e.contentEl.value),a=>{r?(cancelAnimationFrame(s),s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{o(a)})})):o(a)})})}),ut(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(i),cancelAnimationFrame(s)})}function xl(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function Qm(e,t){const n=[document,...bi(e)];n.forEach(r=>{r.addEventListener("scroll",t,{passive:!0})}),ut(()=>{n.forEach(r=>{r.removeEventListener("scroll",t)})})}const nS=Symbol.for("vuetify:v-menu"),rS=Z({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function sS(e,t){let n=()=>{};function r(o){n==null||n();const a=Number(o?e.openDelay:e.closeDelay);return new Promise(l=>{n=Gp(a,()=>{t==null||t(o),l(o)})})}function s(){return r(!0)}function i(){return r(!1)}return{clearDelay:n,runOpenDelay:s,runCloseDelay:i}}const iS=Z({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...rS()},"VOverlay-activator");function oS(e,t){let{isActive:n,isTop:r,contentEl:s}=t;const i=Ue("useActivator"),o=fe();let a=!1,l=!1,u=!0;const c=M(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),f=M(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:d,runCloseDelay:m}=sS(e,T=>{T===(e.openOnHover&&a||c.value&&l)&&!(e.openOnHover&&n.value&&!r.value)&&(n.value!==T&&(u=!0),n.value=T)}),g=fe(),h={onClick:T=>{T.stopPropagation(),o.value=T.currentTarget||T.target,n.value||(g.value=[T.clientX,T.clientY]),n.value=!n.value},onMouseenter:T=>{var I;(I=T.sourceCapabilities)!=null&&I.firesTouchEvents||(a=!0,o.value=T.currentTarget||T.target,d())},onMouseleave:T=>{a=!1,m()},onFocus:T=>{qp(T.target,":focus-visible")!==!1&&(l=!0,T.stopPropagation(),o.value=T.currentTarget||T.target,d())},onBlur:T=>{l=!1,T.stopPropagation(),m()}},b=M(()=>{const T={};return f.value&&(T.onClick=h.onClick),e.openOnHover&&(T.onMouseenter=h.onMouseenter,T.onMouseleave=h.onMouseleave),c.value&&(T.onFocus=h.onFocus,T.onBlur=h.onBlur),T}),v=M(()=>{const T={};if(e.openOnHover&&(T.onMouseenter=()=>{a=!0,d()},T.onMouseleave=()=>{a=!1,m()}),c.value&&(T.onFocusin=()=>{l=!0,d()},T.onFocusout=()=>{l=!1,m()}),e.closeOnContentClick){const I=ye(nS,null);T.onClick=()=>{n.value=!1,I==null||I.closeParents()}}return T}),w=M(()=>{const T={};return e.openOnHover&&(T.onMouseenter=()=>{u&&(a=!0,u=!1,d())},T.onMouseleave=()=>{a=!1,m()}),T});me(r,T=>{var I;T&&(e.openOnHover&&!a&&(!c.value||!l)||c.value&&!l&&(!e.openOnHover||!a))&&!((I=s.value)!=null&&I.contains(document.activeElement))&&(n.value=!1)}),me(n,T=>{T||setTimeout(()=>{g.value=void 0})},{flush:"post"});const S=ta();Qt(()=>{S.value&&At(()=>{o.value=S.el})});const E=ta(),D=M(()=>e.target==="cursor"&&g.value?g.value:E.value?E.el:eh(e.target,i)||o.value),k=M(()=>Array.isArray(D.value)?void 0:D.value);let B;return me(()=>!!e.activator,T=>{T&&Oe?(B=br(),B.run(()=>{aS(e,i,{activatorEl:o,activatorEvents:b})})):B&&B.stop()},{flush:"post",immediate:!0}),ut(()=>{B==null||B.stop()}),{activatorEl:o,activatorRef:S,target:D,targetEl:k,targetRef:E,activatorEvents:b,contentEvents:v,scrimEvents:w}}function aS(e,t,n){let{activatorEl:r,activatorEvents:s}=n;me(()=>e.activator,(l,u)=>{if(u&&l!==u){const c=a(u);c&&o(c)}l&&At(()=>i())},{immediate:!0}),me(()=>e.activatorProps,()=>{i()}),ut(()=>{o()});function i(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;l&&Zp(l,ke(s.value,u))}function o(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;l&&Qp(l,ke(s.value,u))}function a(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const u=eh(l,t);return r.value=(u==null?void 0:u.nodeType)===Node.ELEMENT_NODE?u:void 0,r.value}}function eh(e,t){var r,s;if(!e)return;let n;if(e==="parent"){let i=(s=(r=t==null?void 0:t.proxy)==null?void 0:r.$el)==null?void 0:s.parentNode;for(;i!=null&&i.hasAttribute("data-no-activator");)i=i.parentNode;n=i}else typeof e=="string"?n=document.querySelector(e):"$el"in e?n=e.$el:n=e;return n}function lS(){if(!Oe)return ce(!1);const{ssr:e}=Sb();if(e){const t=ce(!1);return Pn(()=>{t.value=!0}),t}else return ce(!0)}const cS=Z({eager:Boolean},"lazy");function uS(e,t){const n=ce(!1),r=q(()=>n.value||e.eager||t.value);me(t,()=>n.value=!0);function s(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:s}}function _l(){const t=Ue("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const Iu=Symbol.for("vuetify:stack"),Hr=ze([]);function fS(e,t,n){const r=Ue("useStack"),s=!n,i=ye(Iu,void 0),o=ze({activeChildren:new Set});rt(Iu,o);const a=ce(Number(Zt(t)));Es(e,()=>{var f;const c=(f=Hr.at(-1))==null?void 0:f[1];a.value=c?c+10:Number(Zt(t)),s&&Hr.push([r.uid,a.value]),i==null||i.activeChildren.add(r.uid),ut(()=>{if(s){const d=ee(Hr).findIndex(m=>m[0]===r.uid);Hr.splice(d,1)}i==null||i.activeChildren.delete(r.uid)})});const l=ce(!0);s&&Qt(()=>{var f;const c=((f=Hr.at(-1))==null?void 0:f[0])===r.uid;setTimeout(()=>l.value=c)});const u=q(()=>!o.activeChildren.size);return{globalTop:ws(l),localTop:u,stackStyles:q(()=>({zIndex:a.value}))}}function dS(e){return{teleportTarget:M(()=>{const n=e();if(n===!0||!Oe)return;const r=n===!1?document.body:typeof n=="string"?document.querySelector(n):n;if(r==null)return;let s=[...r.children].find(i=>i.matches(".v-overlay-container"));return s||(s=document.createElement("div"),s.className="v-overlay-container",r.appendChild(s)),s})}}const th=Z({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),cr=(e,t)=>{let{slots:n}=t;const{transition:r,disabled:s,group:i,...o}=e,{component:a=i?nl:An,...l}=ea(r)?r:{};let u;return ea(r)?u=ke(l,Yp({disabled:s,group:i}),o):u=ke({name:s||!r?"":r},o),kn(a,u,n)};function mS(){return!0}function nh(e,t,n){if(!e||rh(e,n)===!1)return!1;const r=om(t);if(typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&r.host===e.target)return!1;const s=(typeof n.value=="object"&&n.value.include||(()=>[]))();return s.push(t),!s.some(i=>i==null?void 0:i.contains(e.target))}function rh(e,t){return(typeof t.value=="object"&&t.value.closeConditional||mS)(e)}function hS(e,t,n){const r=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&nh(e,t,n)&&setTimeout(()=>{rh(e,n)&&r&&r(e)},0)}function Du(e,t){const n=om(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const Lu={mounted(e,t){const n=s=>hS(s,e,t),r=s=>{e._clickOutside.lastMousedownWasOutside=nh(s,e,t)};Du(e,s=>{s.addEventListener("click",n,!0),s.addEventListener("mousedown",r,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(Du(e,n=>{var i;if(!n||!((i=e._clickOutside)!=null&&i[t.instance.$.uid]))return;const{onClick:r,onMousedown:s}=e._clickOutside[t.instance.$.uid];n.removeEventListener("click",r,!0),n.removeEventListener("mousedown",s,!0)}),delete e._clickOutside[t.instance.$.uid])}};function gS(e){const{modelValue:t,color:n,...r}=e;return R(An,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&K("div",ke({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}const El=Z({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...iS(),...Be(),...Or(),...cS(),...zw(),...Xw(),...wt(),...th()},"VOverlay"),Ei=be()({name:"VOverlay",directives:{vClickOutside:Lu},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...El()},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{slots:n,attrs:r,emit:s}=t;const i=Ue("VOverlay"),o=fe(),a=fe(),l=fe(),u=un(e,"modelValue"),c=M({get:()=>u.value,set:x=>{x&&e.disabled||(u.value=x)}}),{themeClasses:f}=Rt(e),{rtlClasses:d,isRtl:m}=Ts(),{hasContent:g,onAfterLeave:h}=uS(e,c),b=vr(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:v,localTop:w,stackStyles:S}=fS(c,()=>e.zIndex,e._disableGlobalStack),{activatorEl:E,activatorRef:D,target:k,targetEl:B,targetRef:T,activatorEvents:I,contentEvents:W,scrimEvents:V}=oS(e,{isActive:c,isTop:w,contentEl:l}),{teleportTarget:A}=dS(()=>{var j,Y,he;const x=e.attach||e.contained;if(x)return x;const F=((j=E==null?void 0:E.value)==null?void 0:j.getRootNode())||((he=(Y=i.proxy)==null?void 0:Y.$el)==null?void 0:he.getRootNode());return F instanceof ShadowRoot?F:!1}),{dimensionStyles:N}=Ir(e),J=lS(),{scopeId:X}=_l();me(()=>e.disabled,x=>{x&&(c.value=!1)});const{contentStyles:re,updateLocation:oe}=qw(e,{isRtl:m,contentEl:l,target:k,isActive:c});Zw(e,{root:o,contentEl:l,targetEl:B,target:k,isActive:c,updateLocation:oe});function se(x){s("click:outside",x),e.persistent?st():c.value=!1}function Fe(x){return c.value&&v.value&&(!e.scrim||x.target===a.value||x instanceof MouseEvent&&x.shadowTarget===a.value)}Oe&&me(c,x=>{x?window.addEventListener("keydown",Ce):window.removeEventListener("keydown",Ce)},{immediate:!0}),Tt(()=>{Oe&&window.removeEventListener("keydown",Ce)});function Ce(x){var F,j,Y;x.key==="Escape"&&v.value&&((F=l.value)!=null&&F.contains(document.activeElement)||s("keydown",x),e.persistent?st():(c.value=!1,(j=l.value)!=null&&j.contains(document.activeElement)&&((Y=E.value)==null||Y.focus())))}function Le(x){x.key==="Escape"&&!v.value||s("keydown",x)}const xe=Nw();Es(()=>e.closeOnBack,()=>{Mw(xe,x=>{v.value&&c.value?(x(!1),e.persistent?st():c.value=!1):x()})});const je=fe();me(()=>c.value&&(e.absolute||e.contained)&&A.value==null,x=>{if(x){const F=Ry(o.value);F&&F!==document.scrollingElement&&(je.value=F.scrollTop)}});function st(){e.noClickAnimation||l.value&&qr(l.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:ia})}function ue(){s("afterEnter")}function Ne(){h(),s("afterLeave")}return De(()=>{var x;return K(Ie,null,[(x=n.activator)==null?void 0:x.call(n,{isActive:c.value,targetRef:T,props:ke({ref:D},I.value,e.activatorProps)}),J.value&&g.value&&R(ov,{disabled:!A.value,to:A.value},{default:()=>[K("div",ke({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":c.value,"v-overlay--contained":e.contained},f.value,d.value,e.class],style:[S.value,{"--v-overlay-opacity":e.opacity,top:de(je.value)},e.style],ref:o,onKeydown:Le},X,r),[R(gS,ke({color:b,modelValue:c.value&&!!e.scrim,ref:a},V.value),null),R(cr,{appear:!0,persisted:!0,transition:e.transition,target:k.value,onAfterEnter:ue,onAfterLeave:Ne},{default:()=>{var F;return[Yn(K("div",ke({ref:l,class:["v-overlay__content",e.contentClass],style:[N.value,re.value]},W.value,e.contentProps),[(F=n.default)==null?void 0:F.call(n,{isActive:c})]),[[tl,c.value],[Lu,{handler:se,closeConditional:Fe,include:()=>[E.value]}]])]}})])]})])}),{activatorEl:E,scrimEl:a,target:k,animateClick:st,contentEl:l,globalTop:v,localTop:w,updateLocation:oe}}}),Po=Symbol("Forwarded refs");function ko(e,t){let n=e;for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function sh(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rt.value=e())}function i(o){const a=o?getComputedStyle(o):{transitionDuration:.2},l=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;const u=performance.now();n=window.setInterval(()=>{const c=performance.now()-u+l;t.value=Math.max(e()-c,0),t.value<=0&&r()},l)}return ut(r),{clear:r,time:t,start:i,reset:s}}const pS=Z({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Ki({location:"bottom"}),...bl(),...gn(),...Qn(),...wt(),...As(El({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","scrim","scrollStrategy"])},"VSnackbar"),yS=be()({name:"VSnackbar",props:pS(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=un(e,"modelValue"),{positionClasses:s}=wl(e),{scopeId:i}=_l(),{themeClasses:o}=Rt(e),{colorClasses:a,colorStyles:l,variantClasses:u}=Is(e),{roundedClasses:c}=vn(e),f=vS(()=>Number(e.timeout)),d=fe(),m=fe(),g=ce(!1),h=ce(0),b=fe(),v=ye(ds,void 0);Es(()=>!!v,()=>{const V=$b();Qt(()=>{b.value=V.mainStyles.value})}),me(r,S),me(()=>e.timeout,S),Pn(()=>{r.value&&S()});let w=-1;function S(){f.reset(),window.clearTimeout(w);const V=Number(e.timeout);if(!r.value||V===-1)return;const A=sl(m.value);f.start(A),w=window.setTimeout(()=>{r.value=!1},V)}function E(){f.reset(),window.clearTimeout(w)}function D(){g.value=!0,E()}function k(){g.value=!1,S()}function B(V){h.value=V.touches[0].clientY}function T(V){Math.abs(h.value-V.changedTouches[0].clientY)>50&&(r.value=!1)}function I(){g.value&&k()}const W=M(()=>e.location.split(" ").reduce((V,A)=>(V[`v-snackbar--${A}`]=!0,V),{}));return De(()=>{const V=Ei.filterProps(e),A=!!(n.default||n.text||e.text);return R(Ei,ke({ref:d,class:["v-snackbar",{"v-snackbar--active":r.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},W.value,s.value,e.class],style:[b.value,e.style]},V,{modelValue:r.value,"onUpdate:modelValue":N=>r.value=N,contentProps:ke({class:["v-snackbar__wrapper",o.value,a.value,c.value,u.value],style:[l.value],onPointerenter:D,onPointerleave:k},V.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:B,onTouchend:T,onAfterLeave:I},i),{default:()=>{var N,J;return[Os(!1,"v-snackbar"),e.timer&&!g.value&&K("div",{key:"timer",class:"v-snackbar__timer"},[R(jm,{ref:m,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:f.time.value},null)]),A&&K("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((N=n.text)==null?void 0:N.call(n))??e.text,(J=n.default)==null?void 0:J.call(n)]),n.actions&&R(Et,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[K("div",{class:"v-snackbar__actions"},[n.actions({isActive:r})])]})]},activator:n.activator})}),sh({},d)}}),bS=Ni({name:"GlobalMessage",setup(){var i;const e=fe(!1),t=fe(null),n={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},r={success:"success",error:"error",warning:"warning",info:"info"},s=(i=ar==null?void 0:ar.onSnackbar)==null?void 0:i.call(ar,async o=>{o&&(e.value&&(e.value=!1,await At()),t.value=o,e.value=!0)});return Tt(()=>s==null?void 0:s()),{snackbar:e,message:t,icons:n,colors:r}}}),wS={class:"d-flex align-center"},SS={class:"text-subtitle-2 font-weight-medium"},CS={key:0,class:"text-body-2"};function xS(e,t,n,r,s,i){var o;return xt(),Kt(yS,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=a=>e.snackbar=a),color:e.colors[(o=e.message)==null?void 0:o.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:We(()=>[R(Xm,{variant:"text",icon:"mdi-close",onClick:t[0]||(t[0]=a=>e.snackbar=!1)})]),default:We(()=>{var a,l,u,c;return[K("div",wS,[R(Xt,{icon:e.icons[(a=e.message)==null?void 0:a.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),K("div",null,[K("div",SS,kt((l=e.message)==null?void 0:l.title),1),(u=e.message)!=null&&u.content?(xt(),kd("div",CS,kt((c=e.message)==null?void 0:c.content),1)):Yo("",!0)])])]}),_:1},8,["modelValue","color"])}const ih=Mm(bS,[["render",xS]]),oh=be()({name:"VCardActions",props:Be(),setup(e,t){let{slots:n}=t;return ji({VBtn:{slim:!0,variant:"text"}}),De(()=>{var r;return K("div",{class:ve(["v-card-actions",e.class]),style:Pe(e.style)},[(r=n.default)==null?void 0:r.call(n)])}),{}}}),_S=Z({opacity:[Number,String],...Be(),...gt()},"VCardSubtitle"),ES=be()({name:"VCardSubtitle",props:_S(),setup(e,t){let{slots:n}=t;return De(()=>R(e.tag,{class:ve(["v-card-subtitle",e.class]),style:Pe([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),ah=ul("v-card-title");function AS(e){return{aspectStyles:M(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const lh=Z({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Be(),...Or()},"VResponsive"),Nu=be()({name:"VResponsive",props:lh(),setup(e,t){let{slots:n}=t;const{aspectStyles:r}=AS(e),{dimensionStyles:s}=Ir(e);return De(()=>{var i;return K("div",{class:ve(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:Pe([s.value,e.style])},[K("div",{class:"v-responsive__sizer",style:Pe(r.value)},null),(i=n.additional)==null?void 0:i.call(n),n.default&&K("div",{class:ve(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function TS(e,t){if(!rl)return;const n=t.modifiers||{},r=t.value,{handler:s,options:i}=typeof r=="object"?r:{handler:r,options:{}},o=new IntersectionObserver(function(){var f;let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],l=arguments.length>1?arguments[1]:void 0;const u=(f=e._observe)==null?void 0:f[t.instance.$.uid];if(!u)return;const c=a.some(d=>d.isIntersecting);s&&(!n.quiet||u.init)&&(!n.once||c||u.init)&&s(c,a,l),c&&n.once?ch(e,t):u.init=!0},i);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function ch(e,t){var r;const n=(r=e._observe)==null?void 0:r[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const Mu={mounted:TS,unmounted:ch},RS=Z({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...lh(),...Be(),...gn(),...th()},"VImg"),uh=be()({name:"VImg",directives:{vIntersect:Mu},props:RS(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:r}=t;const{backgroundColorClasses:s,backgroundColorStyles:i}=vr(()=>e.color),{roundedClasses:o}=vn(e),a=Ue("VImg"),l=ce(""),u=fe(),c=ce(e.eager?"loading":"idle"),f=ce(),d=ce(),m=M(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),g=M(()=>m.value.aspect||f.value/d.value||0);me(()=>e.src,()=>{h(c.value!=="idle")}),me(g,(A,N)=>{!A&&N&&u.value&&E(u.value)}),Fi(()=>h());function h(A){if(!(e.eager&&A)&&!(rl&&!A&&!e.eager)){if(c.value="loading",m.value.lazySrc){const N=new Image;N.src=m.value.lazySrc,E(N,null)}m.value.src&&At(()=>{var N;n("loadstart",((N=u.value)==null?void 0:N.currentSrc)||m.value.src),setTimeout(()=>{var J;if(!a.isUnmounted)if((J=u.value)!=null&&J.complete){if(u.value.naturalWidth||v(),c.value==="error")return;g.value||E(u.value,null),c.value==="loading"&&b()}else g.value||E(u.value),w()})})}}function b(){var A;a.isUnmounted||(w(),E(u.value),c.value="loaded",n("load",((A=u.value)==null?void 0:A.currentSrc)||m.value.src))}function v(){var A;a.isUnmounted||(c.value="error",n("error",((A=u.value)==null?void 0:A.currentSrc)||m.value.src))}function w(){const A=u.value;A&&(l.value=A.currentSrc||A.src)}let S=-1;Tt(()=>{clearTimeout(S)});function E(A){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const J=()=>{if(clearTimeout(S),a.isUnmounted)return;const{naturalHeight:X,naturalWidth:re}=A;X||re?(f.value=re,d.value=X):!A.complete&&c.value==="loading"&&N!=null?S=window.setTimeout(J,N):(A.currentSrc.endsWith(".svg")||A.currentSrc.startsWith("data:image/svg+xml"))&&(f.value=1,d.value=1)};J()}const D=q(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),k=()=>{var J;if(!m.value.src||c.value==="idle")return null;const A=K("img",{class:ve(["v-img__img",D.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:m.value.src,srcset:m.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:u,onLoad:b,onError:v},null),N=(J=r.sources)==null?void 0:J.call(r);return R(cr,{transition:e.transition,appear:!0},{default:()=>[Yn(N?K("picture",{class:"v-img__picture"},[N,A]):A,[[tl,c.value==="loaded"]])]})},B=()=>R(cr,{transition:e.transition},{default:()=>[m.value.lazySrc&&c.value!=="loaded"&&K("img",{class:ve(["v-img__img","v-img__img--preload",D.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:m.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),T=()=>r.placeholder?R(cr,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!r.error)&&K("div",{class:"v-img__placeholder"},[r.placeholder()])]}):null,I=()=>r.error?R(cr,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&K("div",{class:"v-img__error"},[r.error()])]}):null,W=()=>e.gradient?K("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,V=ce(!1);{const A=me(g,N=>{N&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{V.value=!0})}),A())})}return De(()=>{const A=Nu.filterProps(e);return Yn(R(Nu,ke({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!V.value},s.value,o.value,e.class],style:[{width:de(e.width==="auto"?f.value:e.width)},i.value,e.style]},A,{aspectRatio:g.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>K(Ie,null,[R(k,null,null),R(B,null,null),R(W,null,null),R(T,null,null),R(I,null,null)]),default:r.default}),[[Mu,{handler:h,options:e.options},null,{once:!0}]])}),{currentSrc:l,image:u,state:c,naturalWidth:f,naturalHeight:d}}}),PS=Z({start:Boolean,end:Boolean,icon:Xe,image:String,text:String,...Rr(),...Be(),...Zn(),...gn(),...zi(),...gt(),...wt(),...Qn({variant:"flat"})},"VAvatar"),Ai=be()({name:"VAvatar",props:PS(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=Rt(e),{borderClasses:s}=Pr(e),{colorClasses:i,colorStyles:o,variantClasses:a}=Is(e),{densityClasses:l}=kr(e),{roundedClasses:u}=vn(e),{sizeClasses:c,sizeStyles:f}=qi(e);return De(()=>R(e.tag,{class:ve(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},r.value,s.value,i.value,l.value,u.value,c.value,a.value,e.class]),style:Pe([o.value,f.value,e.style])},{default:()=>[n.default?R(Et,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?R(uh,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?R(Xt,{key:"icon",icon:e.icon},null):e.text,Os(!1,"v-avatar")]})),{}}}),kS=Z({appendAvatar:String,appendIcon:Xe,prependAvatar:String,prependIcon:Xe,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Be(),...Zn()},"VCardItem"),OS=be()({name:"VCardItem",props:kS(),setup(e,t){let{slots:n}=t;return De(()=>{var u;const r=!!(e.prependAvatar||e.prependIcon),s=!!(r||n.prepend),i=!!(e.appendAvatar||e.appendIcon),o=!!(i||n.append),a=!!(e.title!=null||n.title),l=!!(e.subtitle!=null||n.subtitle);return K("div",{class:ve(["v-card-item",e.class]),style:Pe(e.style)},[s&&K("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?R(Et,{key:"prepend-defaults",disabled:!r,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):K(Ie,null,[e.prependAvatar&&R(Ai,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&R(Xt,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),K("div",{class:"v-card-item__content"},[a&&R(ah,{key:"title"},{default:()=>{var c;return[((c=n.title)==null?void 0:c.call(n))??kt(e.title)]}}),l&&R(ES,{key:"subtitle"},{default:()=>{var c;return[((c=n.subtitle)==null?void 0:c.call(n))??kt(e.subtitle)]}}),(u=n.default)==null?void 0:u.call(n)]),o&&K("div",{key:"append",class:"v-card-item__append"},[n.append?R(Et,{key:"append-defaults",disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):K(Ie,null,[e.appendIcon&&R(Xt,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&R(Ai,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])])}),{}}}),IS=Z({opacity:[Number,String],...Be(),...gt()},"VCardText"),ya=be()({name:"VCardText",props:IS(),setup(e,t){let{slots:n}=t;return De(()=>R(e.tag,{class:ve(["v-card-text",e.class]),style:Pe([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),DS=Z({appendAvatar:String,appendIcon:Xe,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:Xe,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Rr(),...Be(),...Zn(),...Or(),...Ps(),...Hm(),...Ki(),...bl(),...gn(),...Cl(),...gt(),...wt(),...Qn({variant:"elevated"})},"VCard"),Bu=be()({name:"VCard",directives:{vRipple:ps},props:DS(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Rt(e),{borderClasses:i}=Pr(e),{colorClasses:o,colorStyles:a,variantClasses:l}=Is(e),{densityClasses:u}=kr(e),{dimensionStyles:c}=Ir(e),{elevationClasses:f}=ks(e),{loaderClasses:d}=Um(e),{locationStyles:m}=yl(e),{positionClasses:g}=wl(e),{roundedClasses:h}=vn(e),b=Sl(e,n);return De(()=>{const v=e.link!==!1&&b.isLink.value,w=!e.disabled&&e.link!==!1&&(e.link||b.isClickable.value),S=v?"a":e.tag,E=!!(r.title||e.title!=null),D=!!(r.subtitle||e.subtitle!=null),k=E||D,B=!!(r.append||e.appendAvatar||e.appendIcon),T=!!(r.prepend||e.prependAvatar||e.prependIcon),I=!!(r.image||e.image),W=k||T||B,V=!!(r.text||e.text!=null);return Yn(R(S,ke({class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":w},s.value,i.value,o.value,u.value,f.value,d.value,g.value,h.value,l.value,e.class],style:[a.value,c.value,m.value,e.style],onClick:w&&b.navigate,tabindex:e.disabled?-1:void 0},b.linkProps),{default:()=>{var A;return[I&&K("div",{key:"image",class:"v-card__image"},[r.image?R(Et,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},r.image):R(uh,{key:"image-img",cover:!0,src:e.image},null)]),R(Iw,{name:"v-card",active:!!e.loading,color:typeof e.loading=="boolean"?void 0:e.loading},{default:r.loader}),W&&R(OS,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:r.item,prepend:r.prepend,title:r.title,subtitle:r.subtitle,append:r.append}),V&&R(ya,{key:"text"},{default:()=>{var N;return[((N=r.text)==null?void 0:N.call(r))??e.text]}}),(A=r.default)==null?void 0:A.call(r),r.actions&&R(oh,null,{default:r.actions}),Os(w,"v-card")]}}),[[ps,w&&e.ripple]])}),{}}}),LS=Z({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function St(e,t,n){return be()({name:e,props:LS({mode:n,origin:t}),setup(r,s){let{slots:i}=s;const o={onBeforeEnter(a){r.origin&&(a.style.transformOrigin=r.origin)},onLeave(a){if(r.leaveAbsolute){const{offsetTop:l,offsetLeft:u,offsetWidth:c,offsetHeight:f}=a;a._transitionInitialStyles={position:a.style.position,top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height},a.style.position="absolute",a.style.top=`${l}px`,a.style.left=`${u}px`,a.style.width=`${c}px`,a.style.height=`${f}px`}r.hideOnLeave&&a.style.setProperty("display","none","important")},onAfterLeave(a){if(r.leaveAbsolute&&(a!=null&&a._transitionInitialStyles)){const{position:l,top:u,left:c,width:f,height:d}=a._transitionInitialStyles;delete a._transitionInitialStyles,a.style.position=l||"",a.style.top=u||"",a.style.left=c||"",a.style.width=f||"",a.style.height=d||""}}};return()=>{const a=r.group?nl:An;return kn(a,{name:r.disabled?"":e,css:!r.disabled,...r.group?void 0:{mode:r.mode},...r.disabled?{}:o},i.default)}}})}function fh(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return be()({name:e,props:{mode:{type:String,default:n},disabled:Boolean,group:Boolean},setup(r,s){let{slots:i}=s;const o=r.group?nl:An;return()=>kn(o,{name:r.disabled?"":e,css:!r.disabled,...r.disabled?{}:t},i.default)}})}function dh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";const n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)?"width":"height",r=ct(`offset-${n}`);return{onBeforeEnter(o){o._parent=o.parentNode,o._initialStyle={transition:o.style.transition,overflow:o.style.overflow,[n]:o.style[n]}},onEnter(o){const a=o._initialStyle;if(!a)return;o.style.setProperty("transition","none","important"),o.style.overflow="hidden";const l=`${o[r]}px`;o.style[n]="0",o.offsetHeight,o.style.transition=a.transition,e&&o._parent&&o._parent.classList.add(e),requestAnimationFrame(()=>{o.style[n]=l})},onAfterEnter:i,onEnterCancelled:i,onLeave(o){o._initialStyle={transition:"",overflow:o.style.overflow,[n]:o.style[n]},o.style.overflow="hidden",o.style[n]=`${o[r]}px`,o.offsetHeight,requestAnimationFrame(()=>o.style[n]="0")},onAfterLeave:s,onLeaveCancelled:s};function s(o){e&&o._parent&&o._parent.classList.remove(e),i(o)}function i(o){if(!o._initialStyle)return;const a=o._initialStyle[n];o.style.overflow=o._initialStyle.overflow,a!=null&&(o.style[n]=a),delete o._initialStyle}}const NS=Z({target:[Object,Array]},"v-dialog-transition"),Oo=new WeakMap,MS=be()({name:"VDialogTransition",props:NS(),setup(e,t){let{slots:n}=t;const r={onBeforeEnter(s){s.style.pointerEvents="none",s.style.visibility="hidden"},async onEnter(s,i){var m;await new Promise(g=>requestAnimationFrame(g)),await new Promise(g=>requestAnimationFrame(g)),s.style.visibility="";const o=$u(e.target,s),{x:a,y:l,sx:u,sy:c,speed:f}=o;Oo.set(s,o);const d=qr(s,[{transform:`translate(${a}px, ${l}px) scale(${u}, ${c})`,opacity:0},{}],{duration:225*f,easing:Ey});(m=Fu(s))==null||m.forEach(g=>{qr(g,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*f,easing:ia})}),d.finished.then(()=>i())},onAfterEnter(s){s.style.removeProperty("pointer-events")},onBeforeLeave(s){s.style.pointerEvents="none"},async onLeave(s,i){var m;await new Promise(g=>requestAnimationFrame(g));let o;!Oo.has(s)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?o=$u(e.target,s):o=Oo.get(s);const{x:a,y:l,sx:u,sy:c,speed:f}=o;qr(s,[{},{transform:`translate(${a}px, ${l}px) scale(${u}, ${c})`,opacity:0}],{duration:125*f,easing:Ay}).finished.then(()=>i()),(m=Fu(s))==null||m.forEach(g=>{qr(g,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*f,easing:ia})})},onAfterLeave(s){s.style.removeProperty("pointer-events")}};return()=>e.target?R(An,ke({name:"dialog-transition"},r,{css:!1}),n):R(An,{name:"dialog-transition"},n)}});function Fu(e){var n;const t=(n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:n.children;return t&&[...t]}function $u(e,t){const n=Zd(e),r=Qd(t),[s,i]=getComputedStyle(t).transformOrigin.split(" ").map(v=>parseFloat(v)),[o,a]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let l=n.left+n.width/2;o==="left"||a==="left"?l-=n.width/2:(o==="right"||a==="right")&&(l+=n.width/2);let u=n.top+n.height/2;o==="top"||a==="top"?u-=n.height/2:(o==="bottom"||a==="bottom")&&(u+=n.height/2);const c=n.width/r.width,f=n.height/r.height,d=Math.max(1,c,f),m=c/d||0,g=f/d||0,h=r.width*r.height/(window.innerWidth*window.innerHeight),b=h>.12?Math.min(1.5,(h-.12)*10+1):1;return{x:l-(s+r.left),y:u-(i+r.top),sx:m,sy:g,speed:b}}St("fab-transition","center center","out-in");St("dialog-bottom-transition");St("dialog-top-transition");const s_=St("fade-transition"),i_=St("scale-transition");St("scroll-x-transition");St("scroll-x-reverse-transition");St("scroll-y-transition");St("scroll-y-reverse-transition");const o_=St("slide-x-transition");St("slide-x-reverse-transition");const a_=St("slide-y-transition");St("slide-y-reverse-transition");const BS=fh("expand-transition",dh()),l_=fh("expand-x-transition",dh("",!0)),FS=Z({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...El({origin:"center center",scrollStrategy:"block",transition:{component:MS},zIndex:2400})},"VDialog"),$S=be()({name:"VDialog",props:FS(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{emit:n,slots:r}=t;const s=un(e,"modelValue"),{scopeId:i}=_l(),o=fe();function a(c){var m,g;const f=c.relatedTarget,d=c.target;if(f!==d&&((m=o.value)!=null&&m.contentEl)&&((g=o.value)!=null&&g.globalTop)&&![document,o.value.contentEl].includes(d)&&!o.value.contentEl.contains(d)){const h=Yd(o.value.contentEl);if(!h.length)return;const b=h[0],v=h[h.length-1];f===b?v.focus():b.focus()}}Tt(()=>{document.removeEventListener("focusin",a)}),Oe&&me(()=>s.value&&e.retainFocus,c=>{c?document.addEventListener("focusin",a):document.removeEventListener("focusin",a)},{immediate:!0});function l(){var c;n("afterEnter"),(e.scrim||e.retainFocus)&&((c=o.value)!=null&&c.contentEl)&&!o.value.contentEl.contains(document.activeElement)&&o.value.contentEl.focus({preventScroll:!0})}function u(){n("afterLeave")}return me(s,async c=>{var f;c||(await At(),(f=o.value.activatorEl)==null||f.focus({preventScroll:!0}))}),De(()=>{const c=Ei.filterProps(e),f=ke({"aria-haspopup":"dialog"},e.activatorProps),d=ke({tabindex:-1},e.contentProps);return R(Ei,ke({ref:o,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},c,{modelValue:s.value,"onUpdate:modelValue":m=>s.value=m,"aria-modal":"true",activatorProps:f,contentProps:d,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:l,onAfterLeave:u},i),{activator:r.activator,default:function(){for(var m=arguments.length,g=new Array(m),h=0;h{var b;return[(b=r.default)==null?void 0:b.call(r,...g)]}})}})}),sh({},o)}}),VS=Z({color:String,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,...Be(),...wt()},"VDivider"),mh=be()({name:"VDivider",props:VS(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Rt(e),{textColorClasses:i,textColorStyles:o}=Er(()=>e.color),a=M(()=>{const l={};return e.length&&(l[e.vertical?"height":"width"]=de(e.length)),e.thickness&&(l[e.vertical?"borderRightWidth":"borderTopWidth"]=de(e.thickness)),l});return De(()=>{const l=K("hr",{class:ve([{"v-divider":!0,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},s.value,i.value,e.class]),style:Pe([a.value,o.value,{"--v-border-opacity":e.opacity},e.style]),"aria-orientation":!n.role||n.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${n.role||"separator"}`},null);return r.default?K("div",{class:ve(["v-divider__wrapper",{"v-divider__wrapper--vertical":e.vertical,"v-divider__wrapper--inset":e.inset}])},[l,K("div",{class:"v-divider__content"},[r.default()]),l]):l}),{}}}),jS=ul("v-spacer","div","VSpacer"),ba=Symbol.for("vuetify:list");function hh(){let{filterable:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=ye(ba,{filterable:!1,hasPrepend:ce(!1),updateHasPrepend:()=>null}),n={filterable:t.filterable||e,hasPrepend:ce(!1),updateHasPrepend:r=>{r&&(n.hasPrepend.value=r)}};return rt(ba,n),t}function gh(){return ye(ba,null)}const Al=e=>{const t={activate:n=>{let{id:r,value:s,activated:i}=n;return r=ee(r),e&&!s&&i.size===1&&i.has(r)||(s?i.add(r):i.delete(r)),i},in:(n,r,s)=>{let i=new Set;if(n!=null)for(const o of ol(n))i=t.activate({id:o,value:!0,activated:new Set(i),children:r,parents:s});return i},out:n=>Array.from(n)};return t},vh=e=>{const t=Al(e);return{activate:r=>{let{activated:s,id:i,...o}=r;i=ee(i);const a=s.has(i)?new Set([i]):new Set;return t.activate({...o,id:i,activated:a})},in:(r,s,i)=>{let o=new Set;if(r!=null){const a=ol(r);a.length&&(o=t.in(a.slice(0,1),s,i))}return o},out:(r,s,i)=>t.out(r,s,i)}},HS=e=>{const t=Al(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},US=e=>{const t=vh(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},WS={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){const i=new Set;i.add(t);let o=s.get(t);for(;o!=null;)i.add(o),o=s.get(o);return i}else return r.delete(t),r},select:()=>null},ph={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){let i=s.get(t);for(r.add(t);i!=null&&i!==t;)r.add(i),i=s.get(i);return r}else r.delete(t);return r},select:()=>null},zS={open:ph.open,select:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(!n)return r;const i=[];let o=s.get(t);for(;o!=null;)i.push(o),o=s.get(o);return new Set(i)}},Tl=e=>{const t={select:n=>{let{id:r,value:s,selected:i}=n;if(r=ee(r),e&&!s){const o=Array.from(i.entries()).reduce((a,l)=>{let[u,c]=l;return c==="on"&&a.push(u),a},[]);if(o.length===1&&o[0]===r)return i}return i.set(r,s?"on":"off"),i},in:(n,r,s,i)=>{const o=new Map;for(const a of n||[])t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:n=>{const r=[];for(const[s,i]of n.entries())i==="on"&&r.push(s);return r}};return t},yh=e=>{const t=Tl(e);return{select:r=>{let{selected:s,id:i,...o}=r;i=ee(i);const a=s.has(i)?new Map([[i,s.get(i)]]):new Map;return t.select({...o,id:i,selected:a})},in:(r,s,i,o)=>r!=null&&r.length?t.in(r.slice(0,1),s,i,o):new Map,out:(r,s,i)=>t.out(r,s,i)}},qS=e=>{const t=Tl(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},KS=e=>{const t=yh(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=ee(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},bh=e=>{const t={select:n=>{let{id:r,value:s,selected:i,children:o,parents:a,disabled:l}=n;r=ee(r);const u=new Map(i),c=[r];for(;c.length;){const d=c.shift();l.has(d)||i.set(ee(d),s?"on":"off"),o.has(d)&&c.push(...o.get(d))}let f=ee(a.get(r));for(;f;){let d=!0,m=!0;for(const g of o.get(f)){const h=ee(g);if(!l.has(h)&&(i.get(h)!=="on"&&(d=!1),i.has(h)&&i.get(h)!=="off"&&(m=!1),!d&&!m))break}i.set(f,d?"on":m?"off":"indeterminate"),f=ee(a.get(f))}return e&&!s&&Array.from(i.entries()).reduce((m,g)=>{let[h,b]=g;return b==="on"&&m.push(h),m},[]).length===0?u:i},in:(n,r,s,i)=>{let o=new Map;for(const a of n||[])o=t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:(n,r)=>{const s=[];for(const[i,o]of n.entries())o==="on"&&!r.has(i)&&s.push(i);return s}};return t},GS=e=>{const t=bh(e);return{select:t.select,in:t.in,out:(r,s,i)=>{const o=[];for(const[a,l]of r.entries())if(l==="on"){if(i.has(a)){const u=i.get(a);if(r.get(u)==="on")continue}o.push(a)}return o}}},ys=Symbol.for("vuetify:nested"),wh={id:ce(),root:{register:()=>null,unregister:()=>null,children:fe(new Map),parents:fe(new Map),disabled:fe(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:fe(!1),selectable:fe(!1),opened:fe(new Set),activated:fe(new Set),selected:fe(new Map),selectedValues:fe([]),getPath:()=>[]}},YS=Z({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean},"nested"),JS=e=>{let t=!1;const n=ce(new Map),r=ce(new Map),s=ce(new Set),i=un(e,"opened",e.opened,h=>new Set(Array.isArray(h)?h.map(b=>ee(b)):h),h=>[...h.values()]),o=M(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return HS(e.mandatory);case"single-leaf":return US(e.mandatory);case"independent":return Al(e.mandatory);case"single-independent":default:return vh(e.mandatory)}}),a=M(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return KS(e.mandatory);case"leaf":return qS(e.mandatory);case"independent":return Tl(e.mandatory);case"single-independent":return yh(e.mandatory);case"trunk":return GS(e.mandatory);case"classic":default:return bh(e.mandatory)}}),l=M(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return zS;case"single":return WS;case"multiple":default:return ph}}),u=un(e,"activated",e.activated,h=>o.value.in(h,n.value,r.value),h=>o.value.out(h,n.value,r.value)),c=un(e,"selected",e.selected,h=>a.value.in(h,n.value,r.value,s.value),h=>a.value.out(h,n.value,r.value));Tt(()=>{t=!0});function f(h){const b=[];let v=ee(h);for(;v!=null;)b.unshift(v),v=r.value.get(v);return b}const d=Ue("nested"),m=new Set,g={id:ce(),root:{opened:i,activatable:q(()=>e.activatable),selectable:q(()=>e.selectable),activated:u,selected:c,selectedValues:M(()=>{const h=[];for(const[b,v]of c.value.entries())v==="on"&&h.push(b);return h}),register:(h,b,v,w)=>{if(m.has(h)){f(h).map(String).join(" -> "),f(b).concat(h).map(String).join(" -> ");return}else m.add(h);b&&h!==b&&r.value.set(h,b),v&&s.value.add(h),w&&n.value.set(h,[]),b!=null&&n.value.set(b,[...n.value.get(b)||[],h])},unregister:h=>{if(t)return;m.delete(h),n.value.delete(h),s.value.delete(h);const b=r.value.get(h);if(b){const v=n.value.get(b)??[];n.value.set(b,v.filter(w=>w!==h))}r.value.delete(h)},open:(h,b,v)=>{d.emit("click:open",{id:h,value:b,path:f(h),event:v});const w=l.value.open({id:h,value:b,opened:new Set(i.value),children:n.value,parents:r.value,event:v});w&&(i.value=w)},openOnSelect:(h,b,v)=>{const w=l.value.select({id:h,value:b,selected:new Map(c.value),opened:new Set(i.value),children:n.value,parents:r.value,event:v});w&&(i.value=w)},select:(h,b,v)=>{d.emit("click:select",{id:h,value:b,path:f(h),event:v});const w=a.value.select({id:h,value:b,selected:new Map(c.value),children:n.value,parents:r.value,disabled:s.value,event:v});w&&(c.value=w),g.root.openOnSelect(h,b,v)},activate:(h,b,v)=>{if(!e.activatable)return g.root.select(h,!0,v);d.emit("click:activate",{id:h,value:b,path:f(h),event:v});const w=o.value.activate({id:h,value:b,activated:new Set(u.value),children:n.value,parents:r.value,event:v});if(w.size!==u.value.size)u.value=w;else{for(const S of w)if(!u.value.has(S)){u.value=w;return}for(const S of u.value)if(!w.has(S)){u.value=w;return}}},children:n,parents:r,disabled:s,getPath:f}};return rt(ys,g),g.root},Sh=(e,t,n)=>{const r=ye(ys,wh),s=Symbol("nested item"),i=M(()=>ee(Zt(e))??s),o={...r,id:i,open:(a,l)=>r.root.open(i.value,a,l),openOnSelect:(a,l)=>r.root.openOnSelect(i.value,a,l),isOpen:M(()=>r.root.opened.value.has(i.value)),parent:M(()=>r.root.parents.value.get(i.value)),activate:(a,l)=>r.root.activate(i.value,a,l),isActivated:M(()=>r.root.activated.value.has(i.value)),select:(a,l)=>r.root.select(i.value,a,l),isSelected:M(()=>r.root.selected.value.get(i.value)==="on"),isIndeterminate:M(()=>r.root.selected.value.get(i.value)==="indeterminate"),isLeaf:M(()=>!r.root.children.value.get(i.value)),isGroupActivator:r.isGroupActivator};return Fi(()=>{r.isGroupActivator||r.root.register(i.value,r.id.value,Zt(t),n)}),Tt(()=>{r.isGroupActivator||r.root.unregister(i.value)}),n&&rt(ys,o),o},XS=()=>{const e=ye(ys,wh);rt(ys,{...e,isGroupActivator:!0})};function ZS(){const e=ce(!1);return Pn(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:q(()=>e.value?void 0:{transition:"none !important"}),isBooted:ws(e)}}const QS=Tr({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return XS(),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),e1=Z({activeColor:String,baseColor:String,color:String,collapseIcon:{type:Xe,default:"$collapse"},disabled:Boolean,expandIcon:{type:Xe,default:"$expand"},rawId:[String,Number],prependIcon:Xe,appendIcon:Xe,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Be(),...gt()},"VListGroup"),Vu=be()({name:"VListGroup",props:e1(),setup(e,t){let{slots:n}=t;const{isOpen:r,open:s,id:i}=Sh(()=>e.value,()=>e.disabled,!0),o=M(()=>`v-list-group--id-${String(e.rawId??i.value)}`),a=gh(),{isBooted:l}=ZS();function u(m){var g;["INPUT","TEXTAREA"].includes((g=m.target)==null?void 0:g.tagName)||s(!r.value,m)}const c=M(()=>({onClick:u,class:"v-list-group__header",id:o.value})),f=M(()=>r.value?e.collapseIcon:e.expandIcon),d=M(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return De(()=>R(e.tag,{class:ve(["v-list-group",{"v-list-group--prepend":a==null?void 0:a.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":r.value},e.class]),style:Pe(e.style)},{default:()=>[n.activator&&R(Et,{defaults:d.value},{default:()=>[R(QS,null,{default:()=>[n.activator({props:c.value,isOpen:r.value})]})]}),R(cr,{transition:{component:BS},disabled:!l.value},{default:()=>{var m;return[Yn(K("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(m=n.default)==null?void 0:m.call(n)]),[[tl,r.value]])]}})]})),{isOpen:r}}}),t1=Z({opacity:[Number,String],...Be(),...gt()},"VListItemSubtitle"),Ch=be()({name:"VListItemSubtitle",props:t1(),setup(e,t){let{slots:n}=t;return De(()=>R(e.tag,{class:ve(["v-list-item-subtitle",e.class]),style:Pe([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),xh=ul("v-list-item-title"),n1=Z({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:Xe,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:Xe,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,onClick:ts(),onClickOnce:ts(),...Rr(),...Be(),...Zn(),...Or(),...Ps(),...gn(),...Cl(),...gt(),...wt(),...Qn({variant:"text"})},"VListItem"),wa=be()({name:"VListItem",directives:{vRipple:ps},props:n1(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:r,emit:s}=t;const i=Sl(e,n),o=M(()=>e.value===void 0?i.href.value:e.value),{activate:a,isActivated:l,select:u,isOpen:c,isSelected:f,isIndeterminate:d,isGroupActivator:m,root:g,parent:h,openOnSelect:b,id:v}=Sh(o,()=>e.disabled,!1),w=gh(),S=M(()=>{var ue;return e.active!==!1&&(e.active||((ue=i.isActive)==null?void 0:ue.value)||(g.activatable.value?l.value:f.value))}),E=q(()=>e.link!==!1&&i.isLink.value),D=M(()=>!!w&&(g.selectable.value||g.activatable.value||e.value!=null)),k=M(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||D.value)),B=q(()=>e.rounded||e.nav),T=q(()=>e.color??e.activeColor),I=q(()=>({color:S.value?T.value??e.baseColor:e.baseColor,variant:e.variant}));me(()=>{var ue;return(ue=i.isActive)==null?void 0:ue.value},ue=>{ue&&W()}),Fi(()=>{var ue;(ue=i.isActive)!=null&&ue.value&&W()});function W(){h.value!=null&&g.open(h.value,!0),b(!0)}const{themeClasses:V}=Rt(e),{borderClasses:A}=Pr(e),{colorClasses:N,colorStyles:J,variantClasses:X}=Is(I),{densityClasses:re}=kr(e),{dimensionStyles:oe}=Ir(e),{elevationClasses:se}=ks(e),{roundedClasses:Fe}=vn(B),Ce=q(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),Le=q(()=>e.ripple!==void 0&&e.ripple&&(w!=null&&w.filterable)?{keys:["Enter"]}:e.ripple),xe=M(()=>({isActive:S.value,select:u,isOpen:c.value,isSelected:f.value,isIndeterminate:d.value}));function je(ue){var Ne,x;s("click",ue),!["INPUT","TEXTAREA"].includes((Ne=ue.target)==null?void 0:Ne.tagName)&&k.value&&((x=i.navigate)==null||x.call(i,ue),!m&&(g.activatable.value?a(!l.value,ue):(g.selectable.value||e.value!=null)&&u(!f.value,ue)))}function st(ue){const Ne=ue.target;["INPUT","TEXTAREA"].includes(Ne.tagName)||(ue.key==="Enter"||ue.key===" "&&!(w!=null&&w.filterable))&&(ue.preventDefault(),ue.stopPropagation(),ue.target.dispatchEvent(new MouseEvent("click",ue)))}return De(()=>{const ue=E.value?"a":e.tag,Ne=r.title||e.title!=null,x=r.subtitle||e.subtitle!=null,F=!!(e.appendAvatar||e.appendIcon),j=!!(F||r.append),Y=!!(e.prependAvatar||e.prependIcon),he=!!(Y||r.prepend);return w==null||w.updateHasPrepend(he),e.activeColor&&em("active-color",["color","base-color"]),Yn(R(ue,ke({class:["v-list-item",{"v-list-item--active":S.value,"v-list-item--disabled":e.disabled,"v-list-item--link":k.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!he&&(w==null?void 0:w.hasPrepend.value),"v-list-item--slim":e.slim,[`${e.activeClass}`]:e.activeClass&&S.value},V.value,A.value,N.value,re.value,se.value,Ce.value,Fe.value,X.value,e.class],style:[J.value,oe.value,e.style],tabindex:k.value?w?-2:0:void 0,"aria-selected":D.value?g.activatable.value?l.value:g.selectable.value?f.value:S.value:void 0,onClick:je,onKeydown:k.value&&!E.value&&st},i.linkProps),{default:()=>{var p;return[Os(k.value||S.value,"v-list-item"),he&&K("div",{key:"prepend",class:"v-list-item__prepend"},[r.prepend?R(Et,{key:"prepend-defaults",disabled:!Y,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0}}},{default:()=>{var y;return[(y=r.prepend)==null?void 0:y.call(r,xe.value)]}}):K(Ie,null,[e.prependAvatar&&R(Ai,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&R(Xt,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),K("div",{class:"v-list-item__spacer"},null)]),K("div",{class:"v-list-item__content","data-no-activator":""},[Ne&&R(xh,{key:"title"},{default:()=>{var y;return[((y=r.title)==null?void 0:y.call(r,{title:e.title}))??kt(e.title)]}}),x&&R(Ch,{key:"subtitle"},{default:()=>{var y;return[((y=r.subtitle)==null?void 0:y.call(r,{subtitle:e.subtitle}))??kt(e.subtitle)]}}),(p=r.default)==null?void 0:p.call(r,xe.value)]),j&&K("div",{key:"append",class:"v-list-item__append"},[r.append?R(Et,{key:"append-defaults",disabled:!F,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0}}},{default:()=>{var y;return[(y=r.append)==null?void 0:y.call(r,xe.value)]}}):K(Ie,null,[e.appendIcon&&R(Xt,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&R(Ai,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),K("div",{class:"v-list-item__spacer"},null)])]}}),[[ps,k.value&&Le.value]])}),{activate:a,isActivated:l,isGroupActivator:m,isSelected:f,list:w,select:u,root:g,id:v,link:i}}}),r1=Z({color:String,inset:Boolean,sticky:Boolean,title:String,...Be(),...gt()},"VListSubheader"),s1=be()({name:"VListSubheader",props:r1(),setup(e,t){let{slots:n}=t;const{textColorClasses:r,textColorStyles:s}=Er(()=>e.color);return De(()=>{const i=!!(n.default||e.title);return R(e.tag,{class:ve(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},r.value,e.class]),style:Pe([{textColorStyles:s},e.style])},{default:()=>{var o;return[i&&K("div",{class:"v-list-subheader__text"},[((o=n.default)==null?void 0:o.call(n))??e.title])]}})}),{}}}),i1=Z({items:Array,returnObject:Boolean},"VListChildren"),_h=be()({name:"VListChildren",props:i1(),setup(e,t){let{slots:n}=t;return hh(),()=>{var r,s;return((r=n.default)==null?void 0:r.call(n))??((s=e.items)==null?void 0:s.map(i=>{var d,m;let{children:o,props:a,type:l,raw:u}=i;if(l==="divider")return((d=n.divider)==null?void 0:d.call(n,{props:a}))??R(mh,a,null);if(l==="subheader")return((m=n.subheader)==null?void 0:m.call(n,{props:a}))??R(s1,a,null);const c={subtitle:n.subtitle?g=>{var h;return(h=n.subtitle)==null?void 0:h.call(n,{...g,item:u})}:void 0,prepend:n.prepend?g=>{var h;return(h=n.prepend)==null?void 0:h.call(n,{...g,item:u})}:void 0,append:n.append?g=>{var h;return(h=n.append)==null?void 0:h.call(n,{...g,item:u})}:void 0,title:n.title?g=>{var h;return(h=n.title)==null?void 0:h.call(n,{...g,item:u})}:void 0},f=Vu.filterProps(a);return o?R(Vu,ke(f,{value:e.returnObject?u:a==null?void 0:a.value,rawId:a==null?void 0:a.value}),{activator:g=>{let{props:h}=g;const b=ke(a,h,{value:e.returnObject?u:a.value});return n.header?n.header({props:b}):R(wa,b,c)},default:()=>R(_h,{items:o,returnObject:e.returnObject},n)}):n.item?n.item({props:a}):R(wa,ke(a,{value:e.returnObject?u:a.value}),c)}))}}}),o1=Z({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),a1=new Set(["item","divider","subheader"]);function pr(e,t){const n=qt(t,e.itemTitle,t),r=qt(t,e.itemValue,n),s=qt(t,e.itemChildren),i=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?As(t,["children"]):t:void 0:qt(t,e.itemProps);let o=qt(t,e.itemType,"item");a1.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:String(a.title??""),value:a.value,props:a,children:o==="item"&&Array.isArray(s)?Eh(e,s):void 0,raw:t}}pr.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function Eh(e,t){const n=il(e,pr.neededProps),r=[];for(const s of t)r.push(pr(n,s));return r}function c_(e){const t=M(()=>Eh(e,e.items)),n=M(()=>t.value.some(a=>a.value===null)),r=ce(new Map),s=ce([]);Qt(()=>{const a=t.value,l=new Map,u=[];for(let c=0;c{let{raw:u}=l;return u}):a.map(l=>{let{value:u}=l;return u})}return{items:t,transformIn:i,transformOut:o}}const l1=new Set(["item","divider","subheader"]);function c1(e,t){const n=na(t)?t:qt(t,e.itemTitle),r=na(t)?t:qt(t,e.itemValue,void 0),s=qt(t,e.itemChildren),i=e.itemProps===!0?As(t,["children"]):qt(t,e.itemProps);let o=qt(t,e.itemType,"item");l1.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:a.title,value:a.value,props:a,children:o==="item"&&s?Ah(e,s):void 0,raw:t}}function Ah(e,t){const n=[];for(const r of t)n.push(c1(e,r));return n}function u1(e){return{items:M(()=>Ah(e,e.items))}}const f1=Z({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:Xe,collapseIcon:Xe,lines:{type:[Boolean,String],default:"one"},slim:Boolean,nav:Boolean,"onClick:open":ts(),"onClick:select":ts(),"onUpdate:opened":ts(),...YS({selectStrategy:"single-leaf",openStrategy:"list"}),...Rr(),...Be(),...Zn(),...Or(),...Ps(),...o1(),...gn(),...gt(),...wt(),...Qn({variant:"text"})},"VList"),d1=be()({name:"VList",props:f1(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,t){let{slots:n}=t;const{items:r}=u1(e),{themeClasses:s}=Rt(e),{backgroundColorClasses:i,backgroundColorStyles:o}=vr(()=>e.bgColor),{borderClasses:a}=Pr(e),{densityClasses:l}=kr(e),{dimensionStyles:u}=Ir(e),{elevationClasses:c}=ks(e),{roundedClasses:f}=vn(e),{children:d,open:m,parents:g,select:h,getPath:b}=JS(e),v=q(()=>e.lines?`v-list--${e.lines}-line`:void 0),w=q(()=>e.activeColor),S=q(()=>e.baseColor),E=q(()=>e.color);hh({filterable:e.filterable}),ji({VListGroup:{activeColor:w,baseColor:S,color:E,expandIcon:q(()=>e.expandIcon),collapseIcon:q(()=>e.collapseIcon)},VListItem:{activeClass:q(()=>e.activeClass),activeColor:w,baseColor:S,color:E,density:q(()=>e.density),disabled:q(()=>e.disabled),lines:q(()=>e.lines),nav:q(()=>e.nav),slim:q(()=>e.slim),variant:q(()=>e.variant)}});const D=ce(!1),k=fe();function B(N){D.value=!0}function T(N){D.value=!1}function I(N){var J;!D.value&&!(N.relatedTarget&&((J=k.value)!=null&&J.contains(N.relatedTarget)))&&A()}function W(N){const J=N.target;if(!(!k.value||J.tagName==="INPUT"&&["Home","End"].includes(N.key)||J.tagName==="TEXTAREA")){if(N.key==="ArrowDown")A("next");else if(N.key==="ArrowUp")A("prev");else if(N.key==="Home")A("first");else if(N.key==="End")A("last");else return;N.preventDefault()}}function V(N){D.value=!0}function A(N){if(k.value)return Jd(k.value,N)}return De(()=>R(e.tag,{ref:k,class:ve(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},s.value,i.value,a.value,l.value,c.value,v.value,f.value,e.class]),style:Pe([o.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:"listbox","aria-activedescendant":void 0,onFocusin:B,onFocusout:T,onFocus:I,onKeydown:W,onMousedown:V},{default:()=>[R(_h,{items:r.value,returnObject:e.returnObject},n)]})),{open:m,select:h,focus:A,children:d,parents:g,getPath:b}}});let Sa=null;const Th={name:"RateLimitModal",data(){return{isVisible:!1,activeRequests:[]}},computed:{hasActiveRequests(){return this.activeRequests.length>0}},watch:{hasActiveRequests(e){this.isVisible=e}},methods:{close(){this.isVisible=!1},show(e,t,n){const r=Date.now()+Math.random().toString(36).substring(2,9),s=Math.max(0,Math.floor((new Date(e)-new Date)/1e3)),i={id:r,resetTime:e,path:t,method:n,remainingSeconds:s};this.activeRequests.push(i),this.startCountdown(r),this.isVisible=!0},startCountdown(e){const t=this.activeRequests.find(r=>r.id===e);if(!t)return;const n=setInterval(()=>{const r=this.activeRequests.findIndex(s=>s.id===e);if(r===-1){clearInterval(n);return}this.activeRequests[r].remainingSeconds--,this.activeRequests[r].remainingSeconds<=0&&(clearInterval(n),this.activeRequests.splice(r,1))},1e3);t.intervalId=n},clearAllCountdowns(){this.activeRequests.forEach(e=>{e.intervalId&&clearInterval(e.intervalId)}),this.activeRequests=[]}},beforeUnmount(){this.clearAllCountdowns()},created(){Sa=this}};Th.show=function(e,t,n){Sa&&Sa.show(e,t,n)};const m1=Th,h1={class:"text-primary font-weight-bold"};function g1(e,t,n,r,s,i){return xt(),Kt($S,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=o=>e.isVisible=o),"max-width":"500",persistent:""},{default:We(()=>[R(Bu,{class:"rate-limit-modal"},{default:We(()=>[R(ah,{class:"text-center pa-4 bg-error text-white"},{default:We(()=>[R(Xt,{icon:"mdi-clock-alert-outline",size:"large",class:"mr-2"}),t[1]||(t[1]=zr(" 请求频率超限 ",-1))]),_:1}),R(ya,{class:"pa-6"},{default:We(()=>[t[3]||(t[3]=K("div",{class:"text-body-1 mb-4"},"您的请求过于频繁,请稍后再试。",-1)),e.activeRequests.length>0?(xt(),Kt(Bu,{key:0,flat:"",class:"mb-4"},{default:We(()=>[R(ya,null,{default:We(()=>[(xt(!0),kd(Ie,null,vv(e.activeRequests,(o,a)=>(xt(),Kt(d1,{key:a,class:"mb-4"},{default:We(()=>[R(wa,{"prepend-icon":"mdi-web",color:"primary"},{default:We(()=>[R(xh,null,{default:We(()=>[t[2]||(t[2]=zr(" 等待时间: ",-1)),K("span",h1,kt(o.remainingSeconds),1)]),_:2},1024),R(Ch,null,{default:We(()=>[zr(kt(o.method)+" "+kt(o.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[R(jS),R(Xm,{color:"primary",variant:"tonal",onClick:e.close},{default:We(()=>[...t[5]||(t[5]=[zr(" 我知道了 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Rh=Mm(m1,[["render",g1]]);function v1(e){try{(function(t,n,r,s,i,o,a){n.getElementById("clarity-script")||(t[r]=t[r]||function(){(t[r].q=t[r].q||[]).push(arguments)},o=n.createElement(s),o.async=1,o.src="https://www.clarity.ms/tag/"+i+"?ref=npm",o.id="clarity-script",a=n.getElementsByTagName(s)[0],a.parentNode.insertBefore(o,a))})(window,document,"clarity","script",e);return}catch{return}}const Ph={init(e){v1(e)},setTag(e,t){window.clarity("set",e,t)},identify(e,t,n,r){window.clarity("identify",e,t,n,r)},consent(e=!0){window.clarity("consent",e)},upgrade(e){window.clarity("upgrade",e)},event(e){window.clarity("event",e)}};function kh(e,t){return function(){return e.apply(t,arguments)}}const{toString:p1}=Object.prototype,{getPrototypeOf:Rl}=Object,{iterator:Gi,toStringTag:Oh}=Symbol,Yi=(e=>t=>{const n=p1.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Lt=e=>(e=e.toLowerCase(),t=>Yi(t)===e),Ji=e=>t=>typeof t===e,{isArray:Dr}=Array,bs=Ji("undefined");function Ds(e){return e!==null&&!bs(e)&&e.constructor!==null&&!bs(e.constructor)&&mt(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ih=Lt("ArrayBuffer");function y1(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ih(e.buffer),t}const b1=Ji("string"),mt=Ji("function"),Dh=Ji("number"),Ls=e=>e!==null&&typeof e=="object",w1=e=>e===!0||e===!1,ri=e=>{if(Yi(e)!=="object")return!1;const t=Rl(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Oh in e)&&!(Gi in e)},S1=e=>{if(!Ls(e)||Ds(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},C1=Lt("Date"),x1=Lt("File"),_1=Lt("Blob"),E1=Lt("FileList"),A1=e=>Ls(e)&&mt(e.pipe),T1=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||mt(e.append)&&((t=Yi(e))==="formdata"||t==="object"&&mt(e.toString)&&e.toString()==="[object FormData]"))},R1=Lt("URLSearchParams"),[P1,k1,O1,I1]=["ReadableStream","Request","Response","Headers"].map(Lt),D1=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ns(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),Dr(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Hn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Nh=e=>!bs(e)&&e!==Hn;function Ca(){const{caseless:e}=Nh(this)&&this||{},t={},n=(r,s)=>{const i=e&&Lh(t,s)||s;ri(t[i])&&ri(r)?t[i]=Ca(t[i],r):ri(r)?t[i]=Ca({},r):Dr(r)?t[i]=r.slice():t[i]=r};for(let r=0,s=arguments.length;r(Ns(t,(s,i)=>{n&&mt(s)?e[i]=kh(s,n):e[i]=s},{allOwnKeys:r}),e),N1=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),M1=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},B1=(e,t,n,r)=>{let s,i,o;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=n!==!1&&Rl(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},F1=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},$1=e=>{if(!e)return null;if(Dr(e))return e;let t=e.length;if(!Dh(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},V1=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Rl(Uint8Array)),j1=(e,t)=>{const r=(e&&e[Gi]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},H1=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},U1=Lt("HTMLFormElement"),W1=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ju=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),z1=Lt("RegExp"),Mh=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Ns(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},q1=e=>{Mh(e,(t,n)=>{if(mt(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(mt(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},K1=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return Dr(e)?r(e):r(String(e).split(t)),n},G1=()=>{},Y1=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function J1(e){return!!(e&&mt(e.append)&&e[Oh]==="FormData"&&e[Gi])}const X1=e=>{const t=new Array(10),n=(r,s)=>{if(Ls(r)){if(t.indexOf(r)>=0)return;if(Ds(r))return r;if(!("toJSON"in r)){t[s]=r;const i=Dr(r)?[]:{};return Ns(r,(o,a)=>{const l=n(o,s+1);!bs(l)&&(i[a]=l)}),t[s]=void 0,i}}return r};return n(e,0)},Z1=Lt("AsyncFunction"),Q1=e=>e&&(Ls(e)||mt(e))&&mt(e.then)&&mt(e.catch),Bh=((e,t)=>e?setImmediate:t?((n,r)=>(Hn.addEventListener("message",({source:s,data:i})=>{s===Hn&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Hn.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",mt(Hn.postMessage)),eC=typeof queueMicrotask<"u"?queueMicrotask.bind(Hn):typeof process<"u"&&process.nextTick||Bh,tC=e=>e!=null&&mt(e[Gi]),_={isArray:Dr,isArrayBuffer:Ih,isBuffer:Ds,isFormData:T1,isArrayBufferView:y1,isString:b1,isNumber:Dh,isBoolean:w1,isObject:Ls,isPlainObject:ri,isEmptyObject:S1,isReadableStream:P1,isRequest:k1,isResponse:O1,isHeaders:I1,isUndefined:bs,isDate:C1,isFile:x1,isBlob:_1,isRegExp:z1,isFunction:mt,isStream:A1,isURLSearchParams:R1,isTypedArray:V1,isFileList:E1,forEach:Ns,merge:Ca,extend:L1,trim:D1,stripBOM:N1,inherits:M1,toFlatObject:B1,kindOf:Yi,kindOfTest:Lt,endsWith:F1,toArray:$1,forEachEntry:j1,matchAll:H1,isHTMLForm:U1,hasOwnProperty:ju,hasOwnProp:ju,reduceDescriptors:Mh,freezeMethods:q1,toObjectSet:K1,toCamelCase:W1,noop:G1,toFiniteNumber:Y1,findKey:Lh,global:Hn,isContextDefined:Nh,isSpecCompliantForm:J1,toJSONObject:X1,isAsyncFn:Z1,isThenable:Q1,setImmediate:Bh,asap:eC,isIterable:tC};function le(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}_.inherits(le,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:_.toJSONObject(this.config),code:this.code,status:this.status}}});const Fh=le.prototype,$h={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$h[e]={value:e}});Object.defineProperties(le,$h);Object.defineProperty(Fh,"isAxiosError",{value:!0});le.from=(e,t,n,r,s,i)=>{const o=Object.create(Fh);return _.toFlatObject(e,o,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),le.call(o,e.message,t,n,r,s),o.cause=e,o.name=e.name,i&&Object.assign(o,i),o};const nC=null;function xa(e){return _.isPlainObject(e)||_.isArray(e)}function Vh(e){return _.endsWith(e,"[]")?e.slice(0,-2):e}function Hu(e,t,n){return e?e.concat(t).map(function(s,i){return s=Vh(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function rC(e){return _.isArray(e)&&!e.some(xa)}const sC=_.toFlatObject(_,{},null,function(t){return/^is[A-Z]/.test(t)});function Xi(e,t,n){if(!_.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=_.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,b){return!_.isUndefined(b[h])});const r=n.metaTokens,s=n.visitor||c,i=n.dots,o=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&_.isSpecCompliantForm(t);if(!_.isFunction(s))throw new TypeError("visitor must be a function");function u(g){if(g===null)return"";if(_.isDate(g))return g.toISOString();if(_.isBoolean(g))return g.toString();if(!l&&_.isBlob(g))throw new le("Blob is not supported. Use a Buffer instead.");return _.isArrayBuffer(g)||_.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function c(g,h,b){let v=g;if(g&&!b&&typeof g=="object"){if(_.endsWith(h,"{}"))h=r?h:h.slice(0,-2),g=JSON.stringify(g);else if(_.isArray(g)&&rC(g)||(_.isFileList(g)||_.endsWith(h,"[]"))&&(v=_.toArray(g)))return h=Vh(h),v.forEach(function(S,E){!(_.isUndefined(S)||S===null)&&t.append(o===!0?Hu([h],E,i):o===null?h:h+"[]",u(S))}),!1}return xa(g)?!0:(t.append(Hu(b,h,i),u(g)),!1)}const f=[],d=Object.assign(sC,{defaultVisitor:c,convertValue:u,isVisitable:xa});function m(g,h){if(!_.isUndefined(g)){if(f.indexOf(g)!==-1)throw Error("Circular reference detected in "+h.join("."));f.push(g),_.forEach(g,function(v,w){(!(_.isUndefined(v)||v===null)&&s.call(t,v,_.isString(w)?w.trim():w,h,d))===!0&&m(v,h?h.concat(w):[w])}),f.pop()}}if(!_.isObject(e))throw new TypeError("data must be an object");return m(e),t}function Uu(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Pl(e,t){this._pairs=[],e&&Xi(e,this,t)}const jh=Pl.prototype;jh.append=function(t,n){this._pairs.push([t,n])};jh.toString=function(t){const n=t?function(r){return t.call(this,r,Uu)}:Uu;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function iC(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Hh(e,t,n){if(!t)return e;const r=n&&n.encode||iC;_.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=_.isURLSearchParams(t)?t.toString():new Pl(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Wu{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){_.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Uh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},oC=typeof URLSearchParams<"u"?URLSearchParams:Pl,aC=typeof FormData<"u"?FormData:null,lC=typeof Blob<"u"?Blob:null,cC={isBrowser:!0,classes:{URLSearchParams:oC,FormData:aC,Blob:lC},protocols:["http","https","file","blob","url","data"]},kl=typeof window<"u"&&typeof document<"u",_a=typeof navigator=="object"&&navigator||void 0,uC=kl&&(!_a||["ReactNative","NativeScript","NS"].indexOf(_a.product)<0),fC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",dC=kl&&window.location.href||"http://localhost",mC=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:kl,hasStandardBrowserEnv:uC,hasStandardBrowserWebWorkerEnv:fC,navigator:_a,origin:dC},Symbol.toStringTag,{value:"Module"})),tt={...mC,...cC};function hC(e,t){return Xi(e,new tt.classes.URLSearchParams,{visitor:function(n,r,s,i){return tt.isNode&&_.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function gC(e){return _.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function vC(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&_.isArray(s)?s.length:o,l?(_.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!_.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&_.isArray(s[o])&&(s[o]=vC(s[o])),!a)}if(_.isFormData(e)&&_.isFunction(e.entries)){const n={};return _.forEachEntry(e,(r,s)=>{t(gC(r),s,n,0)}),n}return null}function pC(e,t,n){if(_.isString(e))try{return(t||JSON.parse)(e),_.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Ms={transitional:Uh,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=_.isObject(t);if(i&&_.isHTMLForm(t)&&(t=new FormData(t)),_.isFormData(t))return s?JSON.stringify(Wh(t)):t;if(_.isArrayBuffer(t)||_.isBuffer(t)||_.isStream(t)||_.isFile(t)||_.isBlob(t)||_.isReadableStream(t))return t;if(_.isArrayBufferView(t))return t.buffer;if(_.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return hC(t,this.formSerializer).toString();if((a=_.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Xi(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),pC(t)):t}],transformResponse:[function(t){const n=this.transitional||Ms.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(_.isResponse(t)||_.isReadableStream(t))return t;if(t&&_.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(o)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tt.classes.FormData,Blob:tt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_.forEach(["delete","get","head","post","put","patch"],e=>{Ms.headers[e]={}});const yC=_.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),bC=e=>{const t={};let n,r,s;return e&&e.split(` -`).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&yC[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},zu=Symbol("internals");function Ur(e){return e&&String(e).trim().toLowerCase()}function si(e){return e===!1||e==null?e:_.isArray(e)?e.map(si):String(e)}function wC(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const SC=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Io(e,t,n,r,s){if(_.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!_.isString(t)){if(_.isString(r))return t.indexOf(r)!==-1;if(_.isRegExp(r))return r.test(t)}}function CC(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function xC(e,t){const n=_.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}let ht=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(a,l,u){const c=Ur(l);if(!c)throw new Error("header name must be a non-empty string");const f=_.findKey(s,c);(!f||s[f]===void 0||u===!0||u===void 0&&s[f]!==!1)&&(s[f||l]=si(a))}const o=(a,l)=>_.forEach(a,(u,c)=>i(u,c,l));if(_.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(_.isString(t)&&(t=t.trim())&&!SC(t))o(bC(t),n);else if(_.isObject(t)&&_.isIterable(t)){let a={},l,u;for(const c of t){if(!_.isArray(c))throw TypeError("Object iterator must return a key-value pair");a[u=c[0]]=(l=a[u])?_.isArray(l)?[...l,c[1]]:[l,c[1]]:c[1]}o(a,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=Ur(t),t){const r=_.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return wC(s);if(_.isFunction(n))return n.call(this,s,r);if(_.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Ur(t),t){const r=_.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Io(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=Ur(o),o){const a=_.findKey(r,o);a&&(!n||Io(r,r[a],a,n))&&(delete r[a],s=!0)}}return _.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||Io(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return _.forEach(this,(s,i)=>{const o=_.findKey(r,i);if(o){n[o]=si(s),delete n[i];return}const a=t?CC(i):String(i).trim();a!==i&&delete n[i],n[a]=si(s),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return _.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&_.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[zu]=this[zu]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=Ur(o);r[a]||(xC(s,o),r[a]=!0)}return _.isArray(t)?t.forEach(i):i(t),this}};ht.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);_.reduceDescriptors(ht.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});_.freezeMethods(ht);function Do(e,t){const n=this||Ms,r=t||n,s=ht.from(r.headers);let i=r.data;return _.forEach(e,function(a){i=a.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function zh(e){return!!(e&&e.__CANCEL__)}function Lr(e,t,n){le.call(this,e??"canceled",le.ERR_CANCELED,t,n),this.name="CanceledError"}_.inherits(Lr,le,{__CANCEL__:!0});function qh(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new le("Request failed with status code "+n.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function _C(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function EC(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=r[i];o||(o=u),n[s]=l,r[s]=u;let f=i,d=0;for(;f!==s;)d+=n[f++],f=f%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),u-o{n=c,s=null,i&&(clearTimeout(i),i=null),e(...u)};return[(...u)=>{const c=Date.now(),f=c-n;f>=r?o(u,c):(s=u,i||(i=setTimeout(()=>{i=null,o(s)},r-f)))},()=>s&&o(s)]}const Ti=(e,t,n=3)=>{let r=0;const s=EC(50,250);return AC(i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,l=o-r,u=s(l),c=o<=a;r=o;const f={loaded:o,total:a,progress:a?o/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a&&c?(a-o)/u:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},qu=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Ku=e=>(...t)=>_.asap(()=>e(...t)),TC=tt.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,tt.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(tt.origin),tt.navigator&&/(msie|trident)/i.test(tt.navigator.userAgent)):()=>!0,RC=tt.hasStandardBrowserEnv?{write(e,t,n,r,s,i){const o=[e+"="+encodeURIComponent(t)];_.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),_.isString(r)&&o.push("path="+r),_.isString(s)&&o.push("domain="+s),i===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function PC(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function kC(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Kh(e,t,n){let r=!PC(t);return e&&(r||n==!1)?kC(e,t):t}const Gu=e=>e instanceof ht?{...e}:e;function Xn(e,t){t=t||{};const n={};function r(u,c,f,d){return _.isPlainObject(u)&&_.isPlainObject(c)?_.merge.call({caseless:d},u,c):_.isPlainObject(c)?_.merge({},c):_.isArray(c)?c.slice():c}function s(u,c,f,d){if(_.isUndefined(c)){if(!_.isUndefined(u))return r(void 0,u,f,d)}else return r(u,c,f,d)}function i(u,c){if(!_.isUndefined(c))return r(void 0,c)}function o(u,c){if(_.isUndefined(c)){if(!_.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function a(u,c,f){if(f in t)return r(u,c);if(f in e)return r(void 0,u)}const l={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,c,f)=>s(Gu(u),Gu(c),f,!0)};return _.forEach(Object.keys({...e,...t}),function(c){const f=l[c]||s,d=f(e[c],t[c],c);_.isUndefined(d)&&f!==a||(n[c]=d)}),n}const Gh=e=>{const t=Xn({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:a}=t;t.headers=o=ht.from(o),t.url=Hh(Kh(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(_.isFormData(n)){if(tt.hasStandardBrowserEnv||tt.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((l=o.getContentType())!==!1){const[u,...c]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];o.setContentType([u||"multipart/form-data",...c].join("; "))}}if(tt.hasStandardBrowserEnv&&(r&&_.isFunction(r)&&(r=r(t)),r||r!==!1&&TC(t.url))){const u=s&&i&&RC.read(i);u&&o.set(s,u)}return t},OC=typeof XMLHttpRequest<"u",IC=OC&&function(e){return new Promise(function(n,r){const s=Gh(e);let i=s.data;const o=ht.from(s.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:u}=s,c,f,d,m,g;function h(){m&&m(),g&&g(),s.cancelToken&&s.cancelToken.unsubscribe(c),s.signal&&s.signal.removeEventListener("abort",c)}let b=new XMLHttpRequest;b.open(s.method.toUpperCase(),s.url,!0),b.timeout=s.timeout;function v(){if(!b)return;const S=ht.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),D={data:!a||a==="text"||a==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:S,config:e,request:b};qh(function(B){n(B),h()},function(B){r(B),h()},D),b=null}"onloadend"in b?b.onloadend=v:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(v)},b.onabort=function(){b&&(r(new le("Request aborted",le.ECONNABORTED,e,b)),b=null)},b.onerror=function(){r(new le("Network Error",le.ERR_NETWORK,e,b)),b=null},b.ontimeout=function(){let E=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const D=s.transitional||Uh;s.timeoutErrorMessage&&(E=s.timeoutErrorMessage),r(new le(E,D.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,e,b)),b=null},i===void 0&&o.setContentType(null),"setRequestHeader"in b&&_.forEach(o.toJSON(),function(E,D){b.setRequestHeader(D,E)}),_.isUndefined(s.withCredentials)||(b.withCredentials=!!s.withCredentials),a&&a!=="json"&&(b.responseType=s.responseType),u&&([d,g]=Ti(u,!0),b.addEventListener("progress",d)),l&&b.upload&&([f,m]=Ti(l),b.upload.addEventListener("progress",f),b.upload.addEventListener("loadend",m)),(s.cancelToken||s.signal)&&(c=S=>{b&&(r(!S||S.type?new Lr(null,e,b):S),b.abort(),b=null)},s.cancelToken&&s.cancelToken.subscribe(c),s.signal&&(s.signal.aborted?c():s.signal.addEventListener("abort",c)));const w=_C(s.url);if(w&&tt.protocols.indexOf(w)===-1){r(new le("Unsupported protocol "+w+":",le.ERR_BAD_REQUEST,e));return}b.send(i||null)})},DC=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const i=function(u){if(!s){s=!0,a();const c=u instanceof Error?u:this.reason;r.abort(c instanceof le?c:new Lr(c instanceof Error?c.message:c))}};let o=t&&setTimeout(()=>{o=null,i(new le(`timeout ${t} of ms exceeded`,le.ETIMEDOUT))},t);const a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));const{signal:l}=r;return l.unsubscribe=()=>_.asap(a),l}},LC=function*(e,t){let n=e.byteLength;if(n{const s=NC(e,t);let i=0,o,a=l=>{o||(o=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:u,value:c}=await s.next();if(u){a(),l.close();return}let f=c.byteLength;if(n){let d=i+=f;n(d)}l.enqueue(new Uint8Array(c))}catch(u){throw a(u),u}},cancel(l){return a(l),s.return()}},{highWaterMark:2})},Zi=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Yh=Zi&&typeof ReadableStream=="function",BC=Zi&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Jh=(e,...t)=>{try{return!!e(...t)}catch{return!1}},FC=Yh&&Jh(()=>{let e=!1;const t=new Request(tt.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Ju=64*1024,Ea=Yh&&Jh(()=>_.isReadableStream(new Response("").body)),Ri={stream:Ea&&(e=>e.body)};Zi&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Ri[t]&&(Ri[t]=_.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new le(`Response type '${t}' is not supported`,le.ERR_NOT_SUPPORT,r)})})})(new Response);const $C=async e=>{if(e==null)return 0;if(_.isBlob(e))return e.size;if(_.isSpecCompliantForm(e))return(await new Request(tt.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(_.isArrayBufferView(e)||_.isArrayBuffer(e))return e.byteLength;if(_.isURLSearchParams(e)&&(e=e+""),_.isString(e))return(await BC(e)).byteLength},VC=async(e,t)=>{const n=_.toFiniteNumber(e.getContentLength());return n??$C(t)},jC=Zi&&(async e=>{let{url:t,method:n,data:r,signal:s,cancelToken:i,timeout:o,onDownloadProgress:a,onUploadProgress:l,responseType:u,headers:c,withCredentials:f="same-origin",fetchOptions:d}=Gh(e);u=u?(u+"").toLowerCase():"text";let m=DC([s,i&&i.toAbortSignal()],o),g;const h=m&&m.unsubscribe&&(()=>{m.unsubscribe()});let b;try{if(l&&FC&&n!=="get"&&n!=="head"&&(b=await VC(c,r))!==0){let D=new Request(t,{method:"POST",body:r,duplex:"half"}),k;if(_.isFormData(r)&&(k=D.headers.get("content-type"))&&c.setContentType(k),D.body){const[B,T]=qu(b,Ti(Ku(l)));r=Yu(D.body,Ju,B,T)}}_.isString(f)||(f=f?"include":"omit");const v="credentials"in Request.prototype;g=new Request(t,{...d,signal:m,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:v?f:void 0});let w=await fetch(g,d);const S=Ea&&(u==="stream"||u==="response");if(Ea&&(a||S&&h)){const D={};["status","statusText","headers"].forEach(I=>{D[I]=w[I]});const k=_.toFiniteNumber(w.headers.get("content-length")),[B,T]=a&&qu(k,Ti(Ku(a),!0))||[];w=new Response(Yu(w.body,Ju,B,()=>{T&&T(),h&&h()}),D)}u=u||"text";let E=await Ri[_.findKey(Ri,u)||"text"](w,e);return!S&&h&&h(),await new Promise((D,k)=>{qh(D,k,{data:E,headers:ht.from(w.headers),status:w.status,statusText:w.statusText,config:e,request:g})})}catch(v){throw h&&h(),v&&v.name==="TypeError"&&/Load failed|fetch/i.test(v.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,e,g),{cause:v.cause||v}):le.from(v,v&&v.code,e,g)}}),Aa={http:nC,xhr:IC,fetch:jC};_.forEach(Aa,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Xu=e=>`- ${e}`,HC=e=>_.isFunction(e)||e===null||e===!1,Xh={getAdapter:e=>{e=_.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let i=0;i`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=t?i.length>1?`since : -`+i.map(Xu).join(` -`):" "+Xu(i[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:Aa};function Lo(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Lr(null,e)}function Zu(e){return Lo(e),e.headers=ht.from(e.headers),e.data=Do.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Xh.getAdapter(e.adapter||Ms.adapter)(e).then(function(r){return Lo(e),r.data=Do.call(e,e.transformResponse,r),r.headers=ht.from(r.headers),r},function(r){return zh(r)||(Lo(e),r&&r.response&&(r.response.data=Do.call(e,e.transformResponse,r.response),r.response.headers=ht.from(r.response.headers))),Promise.reject(r)})}const Zh="1.11.0",Qi={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Qi[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Qu={};Qi.transitional=function(t,n,r){function s(i,o){return"[Axios v"+Zh+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(t===!1)throw new le(s(o," has been removed"+(n?" in "+n:"")),le.ERR_DEPRECATED);return n&&!Qu[o]&&(Qu[o]=!0,console.warn(s(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,o,a):!0}};Qi.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function UC(e,t,n){if(typeof e!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const i=r[s],o=t[i];if(o){const a=e[i],l=a===void 0||o(a,i,e);if(l!==!0)throw new le("option "+i+" must be "+l,le.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new le("Unknown option "+i,le.ERR_BAD_OPTION)}}const ii={assertOptions:UC,validators:Qi},$t=ii.validators;let Kn=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Wu,response:new Wu}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Xn(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&ii.assertOptions(r,{silentJSONParsing:$t.transitional($t.boolean),forcedJSONParsing:$t.transitional($t.boolean),clarifyTimeoutError:$t.transitional($t.boolean)},!1),s!=null&&(_.isFunction(s)?n.paramsSerializer={serialize:s}:ii.assertOptions(s,{encode:$t.function,serialize:$t.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ii.assertOptions(n,{baseUrl:$t.spelling("baseURL"),withXsrfToken:$t.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=i&&_.merge(i.common,i[n.method]);i&&_.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g]}),n.headers=ht.concat(o,i);const a=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(l=l&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});const u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let c,f=0,d;if(!l){const g=[Zu.bind(this),void 0];for(g.unshift(...a),g.push(...u),d=g.length,c=Promise.resolve(n);f{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},t(function(i,o,a){r.reason||(r.reason=new Lr(i,o,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Qh(function(s){t=s}),cancel:t}}};function zC(e){return function(n){return e.apply(null,n)}}function qC(e){return _.isObject(e)&&e.isAxiosError===!0}const Ta={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ta).forEach(([e,t])=>{Ta[t]=e});function eg(e){const t=new Kn(e),n=kh(Kn.prototype.request,t);return _.extend(n,Kn.prototype,t,{allOwnKeys:!0}),_.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return eg(Xn(e,s))},n}const Ve=eg(Ms);Ve.Axios=Kn;Ve.CanceledError=Lr;Ve.CancelToken=WC;Ve.isCancel=zh;Ve.VERSION=Zh;Ve.toFormData=Xi;Ve.AxiosError=le;Ve.Cancel=Ve.CanceledError;Ve.all=function(t){return Promise.all(t)};Ve.spread=zC;Ve.isAxiosError=qC;Ve.mergeConfig=Xn;Ve.AxiosHeaders=ht;Ve.formToJSON=e=>Wh(_.isHTMLForm(e)?new FormData(e):e);Ve.getAdapter=Xh.getAdapter;Ve.HttpStatusCode=Ta;Ve.default=Ve;const{Axios:d_,AxiosError:m_,CanceledError:h_,isCancel:g_,CancelToken:v_,VERSION:p_,all:y_,Cancel:b_,isAxiosError:w_,spread:S_,toFormData:C_,AxiosHeaders:x_,HttpStatusCode:__,formToJSON:E_,getAdapter:A_,mergeConfig:T_}=Ve;function KC(e,t){return"headers"in e&&typeof e.headers=="object"&&!Array.isArray(e.headers)?No(e.headers):"getHeaders"in e&&typeof e.getHeaders=="function"?No(e.getHeaders()):No(e)}function No(e,t){const n=Vt(e,"ratelimit");if(n)return XC(n);let r;if(Vt(e,"ratelimit-remaining"))r="ratelimit-";else if(Vt(e,"x-ratelimit-remaining"))r="x-ratelimit-";else if(Vt(e,"x-rate-limit-remaining"))r="x-rate-limit-";else return;const s=Pt(Vt(e,`${r}limit`)),i=Pt(Vt(e,`${r}used`))||Pt(Vt(e,`${r}observed`)),o=Pt(Vt(e,`${r}remaining`));let a;const l=Vt(e,`${r}reset`);switch(void 0){case"date":{a=tg(l??"");break}case"unix":{a=Ra(l??"");break}case"seconds":{a=ng(l??"");break}case"milliseconds":{a=ZC(l??"");break}default:if(l)a=ex(l);else{const c=Vt(e,"retry-after");c&&(a=Ra(c))}}return{limit:Number.isNaN(s)?i+o:s,used:Number.isNaN(i)?s-o:i,remaining:o,reset:a}}var GC=/limit\s*=\s*(\d+)/i,YC=/remaining\s*=\s*(\d+)/i,JC=/reset\s*=\s*(\d+)/i;function XC(e){var t,n,r;const s=Pt((t=GC.exec(e))==null?void 0:t[1]),i=Pt((n=YC.exec(e))==null?void 0:n[1]),o=Pt((r=JC.exec(e))==null?void 0:r[1]),a=Ol(o);return{limit:s,used:s-i,remaining:i,reset:a}}function Ol(e){const t=new Date;return t.setSeconds(t.getSeconds()+e),t}function Pt(e){return typeof e=="number"?e:Number.parseInt(e??"",10)}function Vt(e,t){var n;if("get"in e&&typeof e.get=="function")return(n=e.get(t))!=null?n:void 0;if(t in e&&typeof e[t]=="string")return e[t]}function tg(e){return new Date(e)}function Ra(e){const t=Pt(e);return new Date(t*1e3)}function ng(e){const t=Pt(e);return Ol(t)}function ZC(e){const t=Pt(e);return Ol(t/1e3)}var QC=/[a-z]/i;function ex(e){if(QC.test(e))return tg(e);const t=Pt(e);return t&&t>1e9?Ra(t):ng(t)}const rg="3.7.8",tx=rg,Nr=typeof Buffer=="function",ef=typeof TextDecoder=="function"?new TextDecoder:void 0,tf=typeof TextEncoder=="function"?new TextEncoder:void 0,nx="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Kr=Array.prototype.slice.call(nx),Ks=(e=>{let t={};return e.forEach((n,r)=>t[n]=r),t})(Kr),rx=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Ke=String.fromCharCode.bind(String),nf=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),sg=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),ig=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),og=e=>{let t,n,r,s,i="";const o=e.length%3;for(let a=0;a255||(r=e.charCodeAt(a++))>255||(s=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|r<<8|s,i+=Kr[t>>18&63]+Kr[t>>12&63]+Kr[t>>6&63]+Kr[t&63]}return o?i.slice(0,o-3)+"===".substring(o):i},Il=typeof btoa=="function"?e=>btoa(e):Nr?e=>Buffer.from(e,"binary").toString("base64"):og,Pa=Nr?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let r=0,s=e.length;rt?sg(Pa(e)):Pa(e),sx=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Ke(192|t>>>6)+Ke(128|t&63):Ke(224|t>>>12&15)+Ke(128|t>>>6&63)+Ke(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Ke(240|t>>>18&7)+Ke(128|t>>>12&63)+Ke(128|t>>>6&63)+Ke(128|t&63)}},ix=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ag=e=>e.replace(ix,sx),rf=Nr?e=>Buffer.from(e,"utf8").toString("base64"):tf?e=>Pa(tf.encode(e)):e=>Il(ag(e)),yr=(e,t=!1)=>t?sg(rf(e)):rf(e),sf=e=>yr(e,!0),ox=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ax=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),n=t-65536;return Ke((n>>>10)+55296)+Ke((n&1023)+56320);case 3:return Ke((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return Ke((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},lg=e=>e.replace(ox,ax),cg=e=>{if(e=e.replace(/\s+/g,""),!rx.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,n,r,s=[];for(let i=0;i>16&255)):r===64?s.push(Ke(t>>16&255,t>>8&255)):s.push(Ke(t>>16&255,t>>8&255,t&255));return s.join("")},Dl=typeof atob=="function"?e=>atob(ig(e)):Nr?e=>Buffer.from(e,"base64").toString("binary"):cg,ug=Nr?e=>nf(Buffer.from(e,"base64")):e=>nf(Dl(e).split("").map(t=>t.charCodeAt(0))),fg=e=>ug(dg(e)),lx=Nr?e=>Buffer.from(e,"base64").toString("utf8"):ef?e=>ef.decode(ug(e)):e=>lg(Dl(e)),dg=e=>ig(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),ka=e=>lx(dg(e)),cx=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},mg=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),hg=function(){const e=(t,n)=>Object.defineProperty(String.prototype,t,mg(n));e("fromBase64",function(){return ka(this)}),e("toBase64",function(t){return yr(this,t)}),e("toBase64URI",function(){return yr(this,!0)}),e("toBase64URL",function(){return yr(this,!0)}),e("toUint8Array",function(){return fg(this)})},gg=function(){const e=(t,n)=>Object.defineProperty(Uint8Array.prototype,t,mg(n));e("toBase64",function(t){return oi(this,t)}),e("toBase64URI",function(){return oi(this,!0)}),e("toBase64URL",function(){return oi(this,!0)})},ux=()=>{hg(),gg()},of={version:rg,VERSION:tx,atob:Dl,atobPolyfill:cg,btoa:Il,btoaPolyfill:og,fromBase64:ka,toBase64:yr,encode:yr,encodeURI:sf,encodeURL:sf,utob:ag,btou:lg,decode:ka,isValid:cx,fromUint8Array:oi,toUint8Array:fg,extendString:hg,extendUint8Array:gg,extendBuiltins:ux},on=Ve.create({timeout:1e4});on.interceptors.request.use(e=>{const t=pe("server.provider");if(t==="kv-server"||t==="classworkscloud"){const n=pe("server.siteKey");n&&(e.headers["x-site-key"]=of.encode(n));const r=pe("namespace.password");r&&(e.headers["x-namespace-password"]=of.encode(r))}return e},e=>(console.log(e),Promise.reject(e)));on.interceptors.response.use(e=>e,e=>{if(e.response&&e.response.status===429)try{const t=KC(e.response);t&&Rh.show(t.reset,e.config.url,e.config.method.toUpperCase())}catch(t){console.error("解析限速头信息失败:",t)}return Promise.reject(e)});const Oa=(e,t)=>t.some(n=>e instanceof n);let af,lf;function fx(){return af||(af=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function dx(){return lf||(lf=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Ia=new WeakMap,Mo=new WeakMap,eo=new WeakMap;function mx(e){const t=new Promise((n,r)=>{const s=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{n(Gn(e.result)),s()},o=()=>{r(e.error),s()};e.addEventListener("success",i),e.addEventListener("error",o)});return eo.set(t,e),t}function hx(e){if(Ia.has(e))return;const t=new Promise((n,r)=>{const s=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{n(),s()},o=()=>{r(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});Ia.set(e,t)}let Da={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return Ia.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Gn(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function vg(e){Da=e(Da)}function gx(e){return dx().includes(e)?function(...t){return e.apply(La(this),t),Gn(this.request)}:function(...t){return Gn(e.apply(La(this),t))}}function vx(e){return typeof e=="function"?gx(e):(e instanceof IDBTransaction&&hx(e),Oa(e,fx())?new Proxy(e,Da):e)}function Gn(e){if(e instanceof IDBRequest)return mx(e);if(Mo.has(e))return Mo.get(e);const t=vx(e);return t!==e&&(Mo.set(e,t),eo.set(t,e)),t}const La=e=>eo.get(e);function px(e,t,{blocked:n,upgrade:r,blocking:s,terminated:i}={}){const o=indexedDB.open(e,t),a=Gn(o);return r&&o.addEventListener("upgradeneeded",l=>{r(Gn(o.result),l.oldVersion,l.newVersion,Gn(o.transaction),l)}),n&&o.addEventListener("blocked",l=>n(l.oldVersion,l.newVersion,l)),a.then(l=>{i&&l.addEventListener("close",()=>i()),s&&l.addEventListener("versionchange",u=>s(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}const yx=["get","getKey","getAll","getAllKeys","count"],bx=["put","add","delete","clear"],Bo=new Map;function cf(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Bo.get(t))return Bo.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,s=bx.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(s||yx.includes(n)))return;const i=async function(o,...a){const l=this.transaction(o,s?"readwrite":"readonly");let u=l.store;return r&&(u=u.index(a.shift())),(await Promise.all([u[n](...a),s&&l.done]))[0]};return Bo.set(t,i),i}vg(e=>({...e,get:(t,n,r)=>cf(t,n)||e.get(t,n,r),has:(t,n)=>!!cf(t,n)||e.has(t,n)}));const wx=["continue","continuePrimaryKey","advance"],uf={},Na=new WeakMap,pg=new WeakMap,Sx={get(e,t){if(!wx.includes(t))return e[t];let n=uf[t];return n||(n=uf[t]=function(...r){Na.set(this,pg.get(this)[t](...r))}),n}};async function*Cx(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const n=new Proxy(t,Sx);for(pg.set(n,t),eo.set(n,La(t));t;)yield n,t=await(Na.get(n)||t.continue()),Na.delete(n)}function ff(e,t){return t===Symbol.asyncIterator&&Oa(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&Oa(e,[IDBIndex,IDBObjectStore])}vg(e=>({...e,get(t,n,r){return ff(t,n)?Cx:e.get(t,n,r)},has(t,n){return ff(t,n)||e.has(t,n)}}));const xx="ClassworksDB",_x=2,Fo=async()=>px(xx,_x,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system")}}),$o={async loadData(e){try{const n=await(await Fo()).get("kv",e);return n?Un(JSON.parse(n)):at("数据不存在","NOT_FOUND")}catch(t){return at("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await Fo()).put("kv",JSON.stringify(t),e),Un(!0)}catch(n){return at("保存本地数据失败:"+n)}},async loadKeys(e={}){try{const s=await(await Fo()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortBy:i="key",sortDir:o="asc",limit:a=100,skip:l=0}=e,u=s.sort((m,g)=>o==="desc"?g.localeCompare(m):m.localeCompare(g)),c=u.length,f=u.slice(l,l+a),d={keys:f,total_rows:c,current_page:{limit:a,skip:l,count:f.length},load_more:null};return Un(d)}catch(t){return at("获取本地键名列表失败:"+t.message)}}},Un=e=>e,at=(e,t="UNKNOWN_ERROR")=>({success:!1,error:{code:t,message:e}}),R_={loadData:async e=>{const t=pe("server.provider");return t==="kv-server"||t==="classworkscloud"?ai.loadData(e):$o.loadData(e)},saveData:async(e,t)=>{const n=pe("server.provider");return n==="kv-server"||n==="classworkscloud"?ai.saveData(e,t):$o.saveData(e,t)},loadKeys:async(e={})=>{const t=pe("server.provider");return t==="kv-server"||t==="classworkscloud"?ai.loadKeys(e):$o.loadKeys(e)}},$n=()=>{const e={Accept:"application/json"},t=pe("server.siteKey"),n=pe("namespace.password");return t&&(e["x-site-key"]=t),n&&(e["x-namespace-password"]=n),e},ai={async loadNamespaceInfo(){var e,t;try{const n=pe("server.domain"),r=pe("device.uuid"),s=await on.get(`${n}/${r}/_info`,{headers:$n()}),{name:i,accessType:o}=s.data;if(i===null){const a=pe("server.classNumber");return await this.updateNamespaceInfo({name:a}),await this.loadNamespaceInfo()}return o&&Eo("namespace.accessType",o),Un(s)}catch(n){return at(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.message)||"获取命名空间信息失败","NAMESPACE_ERROR")}},async updateNamespaceInfo(e){var t,n;try{const r=pe("server.domain"),s=pe("device.uuid");return await on.put(`${r}/${s}/_info`,e,{headers:$n()})}catch(r){return at(((n=(t=r.response)==null?void 0:t.data)==null?void 0:n.message)||"更新命名空间信息失败","NAMESPACE_ERROR")}},async updatePassword(e,t,n=null){var r,s;try{const i=pe("server.domain"),o=pe("device.uuid"),a=await on.post(`${i}/${o}/_password`,{password:e,oldPassword:t,passwordHint:n},{headers:$n()});return a.status===200&&Eo("namespace.password",e||""),a}catch(i){return at(((s=(r=i.response)==null?void 0:r.data)==null?void 0:s.message)||"更新密码失败","PASSWORD_ERROR")}},async deletePassword(){var e,t;try{const n=pe("server.domain"),r=pe("device.uuid"),s=await on.delete(`${n}/${r}/_password`,{headers:$n()});return Eo("namespace.password",""),s}catch(n){return at(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.message)||"删除密码失败","PASSWORD_ERROR")}},async loadData(e){var t,n,r;try{const s=pe("server.domain"),i=pe("device.uuid"),o=await on.get(`${s}/${i}/${e}`,{headers:$n()});return Un(o.data)}catch(s){return((t=s.response)==null?void 0:t.status)===404?at("数据不存在","NOT_FOUND"):(console.log(s),at(((r=(n=s.response)==null?void 0:n.data)==null?void 0:r.message)||"服务器连接失败","NETWORK_ERROR"))}},async saveData(e,t){var n,r;try{const s=pe("server.domain"),i=pe("device.uuid");return await on.post(`${s}/${i}/${e}`,t,{headers:$n()}),Un(!0)}catch(s){return console.log(s),at(((r=(n=s.response)==null?void 0:n.data)==null?void 0:r.message)||"保存失败","SAVE_ERROR")}},async loadKeys(e={}){var t,n,r,s,i;try{const o=pe("server.domain"),a=pe("device.uuid"),{sortBy:l="key",sortDir:u="asc",limit:c=100,skip:f=0}=e,d=new URLSearchParams({sortBy:l,sortDir:u,limit:c.toString(),skip:f.toString()}),m=await on.get(`${o}/${a}/_keys?${d}`,{headers:$n()});return Un(m.data)}catch(o){return((t=o.response)==null?void 0:t.status)===404?at("命名空间不存在","NOT_FOUND"):((n=o.response)==null?void 0:n.status)===403?at("无权限访问此命名空间","PERMISSION_DENIED"):((r=o.response)==null?void 0:r.status)===401?at("认证失败","UNAUTHORIZED"):(console.log(o),at(((i=(s=o.response)==null?void 0:s.data)==null?void 0:i.message)||"获取键名列表失败","NETWORK_ERROR"))}}},Ex=Z({...Be(),...As(Fb(),["fullHeight"]),...wt()},"VApp"),Ax=be()({name:"VApp",props:Ex(),setup(e,t){let{slots:n}=t;const r=Rt(e),{layoutClasses:s,getLayoutItem:i,items:o,layoutRef:a}=jb({...e,fullHeight:!0}),{rtlClasses:l}=Ts();return De(()=>{var u;return K("div",{ref:a,class:ve(["v-application",r.themeClasses.value,s.value,l.value,e.class]),style:Pe([e.style])},[K("div",{class:"v-application__wrap"},[(u=n.default)==null?void 0:u.call(n)])])}),{getLayoutItem:i,items:o,theme:r}}}),Tx={__name:"App",setup(e){const t=wm(),n=J0(),r=X0();Pn(async()=>{const i=pe("theme.mode");t.global.name.value=i,s(),Ph.identify(pe("device.uuid"),pe("server.domain"),pe("server.provider"),pe("server.classNumber"));const o=pe("server.provider");if(o==="kv-server"||o==="classworkscloud")try{await ai.loadNamespaceInfo()}catch(a){console.error("加载命名空间信息失败:",a)}});function s(){const i=pe("server.provider");(i==="server"||i==="indexedDB")&&r.path!=="/datamigration"&&(console.log("检测到旧的数据提供者类型,正在重定向到数据迁移页面..."),n.push({path:"/datamigration",query:{reason:"legacy_provider",provider:i}}))}return me(()=>r.path,i=>{i!=="/datamigration"&&s()}),(i,o)=>{const a=gv("router-view"),l=ih;return xt(),Kt(Ax,null,{default:We(()=>[R(a,null,{default:We(({Component:u,route:c})=>[R(An,{name:"md3",mode:"out-in"},{default:We(()=>[(xt(),Kt(fd(u),{key:c.path}))]),_:2},1024)]),_:1}),R(l),R(Rh)]),_:1})}}},Rx="rhp8uqoc3l";Ph.init(Rx);const to=Mp(Tx);rw(to);to.use(ar);to.component("GlobalMessage",ih);to.mount("#app");export{As as $,kd as A,Yo as B,kt as C,r_ as D,ke as E,Ie as F,vv as G,$S as H,o_ as I,Ny as J,M as K,de as L,Xe as M,vr as N,cr as O,Et as P,ts as Q,Kx as R,un as S,nl as T,ol as U,Ax as V,fe as W,ce as X,q as Y,me as Z,Mm as _,$b as a,px as a$,qx as a0,Wd as a1,Qt as a2,Mu as a3,ta as a4,Yn as a5,ul as a6,Rt as a7,Pr as a8,ks as a9,e_ as aA,Sb as aB,Nu as aC,uh as aD,Ei as aE,Er as aF,wm as aG,Ec as aH,tl as aI,th as aJ,rd as aK,Mx as aL,sh as aM,Fx as aN,At as aO,$x as aP,Uw as aQ,qr as aR,ia as aS,kr as aT,_l as aU,ji as aV,Zn as aW,ea as aX,Px as aY,El as aZ,on as a_,yl as aa,wl as ab,vn as ac,wt as ad,gn as ae,bl as af,Ki as ag,Ps as ah,Rr as ai,Ts as aj,s_ as ak,_u as al,ps as am,a_ as an,R_ as ao,ES as ap,d1 as aq,wa as ar,yS as as,Ai as at,mh as au,oh as av,xh as aw,Ch as ax,of as ay,Fn as az,ZS as b,Vx as b$,s1 as b0,Dx as b1,Ix as b2,OS as b3,kx as b4,jm as b5,An as b6,Pn as b7,Qx as b8,t_ as b9,Cw as bA,il as bB,bw as bC,Nx as bD,qd as bE,uv as bF,Sm as bG,Qn as bH,zi as bI,Lx as bJ,Bx as bK,qt as bL,Oe as bM,Ue as bN,Ry as bO,c_ as bP,zn as bQ,Ux as bR,Kp as bS,MS as bT,Hx as bU,qp as bV,o1 as bW,zx as bX,Ar as bY,Wx as bZ,Qo as b_,n_ as ba,ze as bb,sS as bc,rS as bd,BS as be,ai as bf,Ve as bg,Tt as bh,Wp as bi,Es as bj,ut as bk,Tn as bl,Nw as bm,Pc as bn,Zx as bo,ws as bp,Xx as bq,Yx as br,Ni as bs,ar as bt,ye as bu,uS as bv,cS as bw,Sw as bx,ww as by,rt as bz,De as c,Um as c0,Iw as c1,Hm as c2,yt as c3,jf as c4,nS as c5,od as c6,Yd as c7,Jd as c8,zp as c9,jx as ca,Is as cb,Os as cc,kn as cd,Gx as ce,i_ as cf,kw as cg,Ox as ch,Jx as ci,qi as cj,Sl as ck,l_ as cl,Cl as cm,On as cn,Qd as co,Ff as cp,Fi as cq,En as cr,R as d,ve as e,Or as f,be as g,Be as h,K as i,Kt as j,pe as k,Bu as l,gt as m,Pe as n,xt as o,Z as p,ah as q,gv as r,Eo as s,zr as t,Ir as u,Xt as v,We as w,jS as x,Xm as y,ya as z}; diff --git a/assets/index-DzDfqY9E.css b/assets/index-DzDfqY9E.css deleted file mode 100644 index f5c9c84..0000000 --- a/assets/index-DzDfqY9E.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.random-picker-card[data-v-fd7ac224]{overflow:hidden}.counter-container[data-v-fd7ac224]{margin:2rem 0}.counter-btn[data-v-fd7ac224]{width:64px;height:64px;border-radius:50%}.count-display[data-v-fd7ac224]{min-width:100px;text-align:center}.start-btn[data-v-fd7ac224]{min-width:200px;height:64px;border-radius:32px;font-size:1.2rem}.filter-options-card[data-v-fd7ac224]{max-width:450px;margin:0 auto}.filter-chip[data-v-fd7ac224]{cursor:pointer;transition:all .2s ease}.filter-chip[data-v-fd7ac224]:active{transform:scale(.95)}.student-list-tooltip[data-v-fd7ac224]{max-height:200px;overflow-y:auto;margin-top:5px;font-size:.9em}.animation-container[data-v-fd7ac224]{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.animation-wrapper[data-v-fd7ac224]{width:100%;max-width:400px;margin:0 auto}.shuffle-container[data-v-fd7ac224]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.student-item[data-v-fd7ac224]{padding:10px 15px;background-color:rgba(var(--v-theme-surface-variant),.7);border-radius:8px;transition:all .3s ease;font-size:1.2rem}.student-item.highlighted[data-v-fd7ac224]{background-color:rgb(var(--v-theme-primary));color:rgb(var(--v-theme-on-primary));transform:scale(1.1);font-weight:700;box-shadow:0 4px 8px #0003}.result-container[data-v-fd7ac224]{min-height:300px}.result-card[data-v-fd7ac224]{max-width:400px;margin:0 auto;transition:transform .3s ease}.result-card[data-v-fd7ac224]:hover{transform:translateY(-4px)}.result-card:hover .refresh-btn[data-v-fd7ac224]{opacity:1}.refresh-btn[data-v-fd7ac224]{opacity:.7;transition:opacity .3s ease}.refresh-btn[data-v-fd7ac224]:hover{opacity:1}@keyframes refresh-pulse-fd7ac224{0%{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}50%{transform:scale(1.05);box-shadow:0 0 15px rgba(var(--v-theme-primary),.7)}to{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}}.refresh-animation[data-v-fd7ac224]{animation:refresh-pulse-fd7ac224 .5s ease}.shuffle-enter-active[data-v-fd7ac224],.shuffle-leave-active[data-v-fd7ac224]{transition:all .5s ease}.shuffle-enter-from[data-v-fd7ac224],.shuffle-leave-to[data-v-fd7ac224]{opacity:0;transform:translateY(30px)}.shuffle-move[data-v-fd7ac224]{transition:transform .5s ease}@media (hover: none){.counter-btn[data-v-fd7ac224],.start-btn[data-v-fd7ac224]{min-height:72px}.student-item[data-v-fd7ac224]{padding:12px 20px;font-size:1.4rem}.refresh-btn[data-v-fd7ac224]{opacity:1;min-width:36px;min-height:36px}.filter-chip[data-v-fd7ac224]{min-height:40px;font-size:1rem}}.mode-switch-container .mode-toggle[data-v-fd7ac224]{border:1px solid rgba(var(--v-theme-primary),.2);border-radius:50px;padding:4px;box-shadow:0 2px 8px #0000001a}.mode-switch-container .mode-toggle .v-btn[data-v-fd7ac224]{min-width:120px;height:40px;font-weight:500;letter-spacing:.5px}.mode-switch-container .mode-toggle .v-btn.v-btn--active[data-v-fd7ac224]{transform:scale(1.02);font-weight:600}.number-range-container[data-v-fd7ac224]{max-width:300px;margin:0 auto;padding:16px;background:rgba(var(--v-theme-surface-variant),.1);border-radius:12px;border:1px solid rgba(var(--v-theme-primary),.1)}.number-range-container .number-input[data-v-fd7ac224]{width:100px}.number-range-container .number-input[data-v-fd7ac224] .v-field{border-radius:8px;box-shadow:0 2px 4px #0000000d}.floating-icp[data-v-890f3fb8]{position:fixed;bottom:24px;right:24px;z-index:100;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-icp[data-v-890f3fb8]:hover{transform:translate(-4px)}.icp-button[data-v-890f3fb8]{padding:0 16px;height:32px;min-width:unset}.rotate-icon[data-v-890f3fb8]{transform:rotate(360deg);transition:transform .6s ease}@media (max-width: 600px){.floating-icp[data-v-890f3fb8]{right:16px;bottom:80px}.icp-button[data-v-890f3fb8]{padding:0 12px}}.floating-toolbar[data-v-4c0541bf]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffffb3!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a!important;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:flex;align-items:center;justify-content:space-between;padding:0}.floating-toolbar[data-v-4c0541bf]:hover{transform:translate(-50%) translateY(-4px);background:#fffc!important}.toolbar-btn[data-v-4c0541bf]:hover{background:#ffffff4d!important;transform:scale(1.05)}.toolbar-btn[data-v-4c0541bf]:active{transform:scale(.95)}.date-picker-card[data-v-4c0541bf]{border-radius:16px;overflow:hidden;background:#ffffffe6!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 600px){.floating-toolbar[data-v-4c0541bf]{bottom:16px;width:95%;padding:2px}.toolbar-buttons[data-v-4c0541bf]{width:100%;justify-content:space-around;padding:4px}.toolbar-btn[data-v-4c0541bf]{margin:0}.nav-btn[data-v-4c0541bf]{margin:0 2px}}@media (prefers-color-scheme: dark){.floating-toolbar[data-v-4c0541bf]{background:#1e1e1eb3!important;border:1px solid rgba(255,255,255,.1)}.floating-toolbar[data-v-4c0541bf]:hover{background:#1e1e1ecc!important}.toolbar-btn[data-v-4c0541bf]:hover{background:#ffffff1a!important}.date-picker-card[data-v-4c0541bf]{background:#1e1e1ee6!important;border:1px solid rgba(255,255,255,.1)}}.v-date-picker{overflow:hidden;width:328px}.v-date-picker--show-week{width:368px}.v-date-picker-controls{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;height:var(--v-date-picker-controls-height, 56px);padding-top:4px;padding-bottom:4px;padding-inline-start:6px;padding-inline-end:12px;flex:1}.v-date-picker-controls>.v-btn:first-child{text-transform:none;font-weight:400;line-height:initial;letter-spacing:initial}.v-date-picker-controls--variant-classic{padding-inline-start:12px}.v-date-picker-controls--variant-modern .v-date-picker__title:not(:hover){opacity:.7}.v-date-picker--month .v-date-picker-controls--variant-modern .v-date-picker__title{cursor:pointer}.v-date-picker--year .v-date-picker-controls--variant-modern .v-date-picker__title{opacity:1}.v-date-picker-controls .v-btn:last-child{margin-inline-start:4px}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn{transform:rotate(180deg)}.v-date-picker-controls__date{margin-inline-end:4px}.v-date-picker-controls--variant-classic .v-date-picker-controls__date{margin:auto;text-align:center}.v-date-picker-controls__month{display:flex}.v-locale--is-rtl.v-date-picker-controls__month,.v-locale--is-rtl .v-date-picker-controls__month{flex-direction:row-reverse}.v-date-picker-controls--variant-classic .v-date-picker-controls__month{flex:1 0 auto}.v-date-picker__title{display:inline-block}.v-date-picker-header{align-items:flex-end;height:70px;display:grid;grid-template-areas:"prepend content append";grid-template-columns:min-content minmax(0,1fr) min-content;overflow:hidden;padding-inline:24px 12px;padding-bottom:12px}.v-date-picker-header__append{grid-area:append}.v-date-picker-header__prepend{grid-area:prepend;padding-inline-start:8px}.v-date-picker-header__content{align-items:center;display:inline-flex;font-size:32px;line-height:40px;grid-area:content;justify-content:space-between}.v-date-picker-header--clickable .v-date-picker-header__content{cursor:pointer}.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover){opacity:.7}.date-picker-header-transition-enter-active,.date-picker-header-reverse-transition-enter-active,.date-picker-header-transition-leave-active,.date-picker-header-reverse-transition-leave-active{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.date-picker-header-transition-enter-from{transform:translateY(100%)}.date-picker-header-transition-leave-to{opacity:0;transform:translateY(-100%)}.date-picker-header-reverse-transition-enter-from{transform:translateY(-100%)}.date-picker-header-reverse-transition-leave-to{opacity:0;transform:translateY(100%)}.v-date-picker-month{display:flex;justify-content:center;padding:0 12px 8px;--v-date-picker-month-day-diff: 4px}.v-date-picker-month__weeks{display:flex;flex-direction:column;column-gap:4px;font-size:.875rem}.v-date-picker-month__weekday{font-size:.875rem}.v-date-picker-month__days{display:grid;grid-template-columns:repeat(var(--v-date-picker-days-in-week),min-content);column-gap:4px}.v-date-picker-month__day{align-items:center;display:flex;justify-content:center;position:relative;height:40px;width:40px}.v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn{--v-btn-height: 24px;--v-btn-size: .875rem}.v-date-picker-month__day--week{font-size:var(--v-btn-size)}.v-date-picker-month__day--adjacent{opacity:.5}.v-date-picker-month__day--hide-adjacent{opacity:0}.v-date-picker-months{height:288px}.v-date-picker-months__content{align-items:center;display:grid;flex:1 1;height:inherit;justify-content:space-around;grid-template-columns:repeat(2,1fr);grid-gap:0px 24px;padding-inline-start:36px;padding-inline-end:36px}.v-date-picker-months__content .v-btn{text-transform:none;padding-inline-start:8px;padding-inline-end:8px}.v-date-picker-years{height:288px;overflow-y:scroll}.v-date-picker-years__content{display:grid;flex:1 1;justify-content:space-around;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding-inline:32px}.v-date-picker-years__content .v-btn{padding-inline:8px}.v-picker.v-sheet{display:grid;grid-auto-rows:min-content;grid-template-areas:"title" "header" "body";grid-template-columns:minmax(0,1fr);overflow:hidden}.v-picker.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-picker.v-sheet{border-radius:4px}.v-picker.v-sheet.v-picker--with-actions{grid-template-areas:"title" "header" "body" "actions"}.v-picker__body{grid-area:body;overflow:hidden;position:relative;display:flex;justify-content:center;flex-wrap:wrap}.v-picker__header{grid-area:header}.v-picker__actions{grid-area:actions;padding:0 12px 12px;display:flex;align-items:center;justify-content:flex-end}.v-picker__actions .v-btn{min-width:48px}.v-picker__actions .v-btn:not(:last-child){margin-inline-end:8px}.v-picker--divided .v-picker__header{border-bottom-color:rgba(var(--v-border-color),var(--v-border-opacity));border-bottom-style:solid;border-bottom-width:thin}.v-picker--landscape{grid-template-areas:"title" "header body" "header body"}.v-picker--landscape.v-picker--with-actions{grid-template-areas:"title" "header body" "header actions"}.v-picker-title{text-transform:uppercase;font-size:.75rem;grid-area:title;padding-inline:24px 12px;padding-top:16px;padding-bottom:16px;font-weight:400;letter-spacing:.1666666667em}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-sheet{display:block}.v-sheet{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-sheet--border{border-width:thin;box-shadow:none}.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-sheet--absolute{position:absolute}.v-sheet--fixed{position:fixed}.v-sheet--relative{position:relative}.v-sheet--sticky{position:sticky}.v-sheet{border-radius:0}.v-sheet{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-sheet--rounded{border-radius:4px}.template-buttons[data-v-632e8bbf]{display:flex;flex-direction:column;gap:12px}.book-chip[data-v-632e8bbf]{align-self:flex-start}.pages-container[data-v-632e8bbf]{display:flex;flex-wrap:wrap;gap:4px;padding-left:16px}.group-label[data-v-632e8bbf]{font-size:.875rem;color:#0009;margin-right:8px;white-space:nowrap}[data-v-632e8bbf] .v-chip{cursor:pointer;-webkit-user-select:none;user-select:none}.quick-tools[data-v-632e8bbf]{border-left:1px solid rgba(0,0,0,.12);padding-left:16px}.gap-1[data-v-632e8bbf]{gap:4px}.numeric-keypad[data-v-632e8bbf]{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(0,0,0,.12);border-radius:4px}.keypad-row[data-v-632e8bbf]{display:flex;gap:4px}.keypad-btn[data-v-632e8bbf]{flex:1;min-width:36px!important}.space-btn[data-v-632e8bbf]{width:100%!important}.grid-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px;grid-auto-flow:dense}.grid-item{width:100%;transition:all .2s ease}.empty-card{transform:scale(.9);opacity:.8;grid-row-end:span 1!important}.empty-card:hover{transform:scale(.95);opacity:1}.empty-subjects-container{display:flex;flex-wrap:wrap}@media (max-width: 1199px){.grid-masonry{grid-template-columns:repeat(2,1fr)}}@media (max-width: 799px){.grid-masonry{grid-template-columns:1fr}.empty-card{transform:scale(.95)}}.main-window{max-height:calc(100vh - 80px);overflow-y:auto}.main-window::-webkit-scrollbar{width:8px}.main-window::-webkit-scrollbar-track{background:transparent}.main-window::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.main-window::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.no-data-message{display:flex;justify-content:center;align-items:center;min-height:200px;margin:20px 0}.attendance-drawer{border-left:1px solid rgba(0,0,0,.12)}.attendance-drawer :deep(.v-navigation-drawer__content){overflow-y:auto}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar){width:8px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-track){background:transparent}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb){background-color:#0003;border-radius:4px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb:hover){background-color:#0000004d}@media (max-width: 960px){.attendance-drawer{display:none}}.text-success{color:rgb(var(--v-theme-success))}.text-error{color:rgb(var(--v-theme-error))}.text-warning{color:rgb(var(--v-theme-warning))}.attendance-card{display:flex;flex-direction:column}.attendance-numbers{padding:20px 0}.total-number{border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:20px}.status-number{flex:1}.text-h2,.text-h3{line-height:1.2}.empty-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:8px}.empty-subject-card{cursor:pointer;transition:all .2s ease;opacity:.8}.empty-subject-card:hover{transform:scale(1.02);opacity:1}.empty-subjects{border-top:1px solid rgba(0,0,0,.12);padding-top:1rem}.empty-subject-card:not(:disabled):hover{opacity:1;transform:scale(1.02)}.glow-track{position:relative;overflow:hidden;transition:all .3s ease}.glow-track:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}.glow-track:hover:before{opacity:1}.grid-item .v-card{transition:transform .3s ease,box-shadow .3s ease}.grid-item .v-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.grid-item .v-card:active{transform:translateY(-2px)}.empty-subject-card{transition:all .3s ease;opacity:.8}.empty-subject-card:hover{opacity:1;transform:translateY(-4px)}.anti-burn-card{animation:subtle-glow 4s infinite alternate;transition:all .3s ease}.anti-burn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026!important}@keyframes subtle-glow{0%{box-shadow:0 0 5px #2196f31a}to{box-shadow:0 0 15px #2196f34d}}.attendance-stat{height:100%}.suggestion-btn{margin:2px;min-width:0;padding:0 6px}.suggestion-btn:active{transform:scale(.95)}@media (hover: none){.student-card .attendance-actions{opacity:1}}@media (max-width: 600px){.student-card .attendance-actions .v-btn{margin:0 1px;min-width:28px;width:28px;height:28px}}.filter-chip{cursor:pointer;margin:2px}.filter-chip:active{transform:scale(.95)}.grid-item{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .2s cubic-bezier(.2,0,0,1);will-change:transform,opacity;backface-visibility:hidden}.grid-item.v-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .25s cubic-bezier(.2,0,0,1)}.grid-item.v-move{transition:transform .4s cubic-bezier(.05,.7,.1,1);z-index:1}.grid-item.v-leave-active{position:absolute!important;transition:transform .3s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.grid-item.v-enter-from,.grid-item.v-leave-to{opacity:0;transform:scale(.95)}.empty-subject-card{transition:all .25s cubic-bezier(.2,0,0,1)}.empty-subject-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 4px 24px #0000001f}.v-list-enter-active{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-list-leave-active{transition:all .3s cubic-bezier(.3,0,.8,.15)}.v-list-enter-from,.v-list-leave-to{opacity:0;transform:translate(-24px)}.attendance-area h2,.attendance-area h3{transition:all .3s cubic-bezier(.2,0,0,1)}.v-card{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-card:active{transform:scale(.98);transition-duration:.1s}.v-card{touch-action:manipulation}.v-card:active{transform:scale(.99);transition-duration:80ms}@media (pointer: coarse){.v-card:before{margin:-8px}}.v-dialog:before{display:none!important}.v-dialog:before,.v-dialog:after{display:none!important}.v-dialog .v-card{transition:none}.v-dialog .v-card:active{transform:none}.v-dialog-transition-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .3s cubic-bezier(.2,0,0,1)}.v-dialog-transition-leave-active{transition:transform .25s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.v-btn{transition:background-color .25s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.05,.7,.1,1);touch-action:manipulation;min-height:40px;min-width:40px}.v-btn:active{transform:scale(.98);transition-duration:80ms}@media (pointer: coarse){.v-btn{padding:8px 16px;margin:4px}.v-btn:before{margin:-8px}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.grid-enter-active,.grid-leave-active{transition:all .5s ease}.grid-enter-from{opacity:0;transform:translateY(20px)}.grid-leave-to{opacity:0;transform:translateY(-20px)}.v-list-enter-active,.v-list-leave-active{transition:all .3s ease}.v-list-enter-from{opacity:0;transform:translate(-20px)}.v-list-leave-to{opacity:0;transform:translate(20px)}.page-enter-active,.page-leave-active{transition:opacity .3s,transform .3s}.page-enter-from{opacity:0;transform:translateY(20px)}.page-leave-to{opacity:0;transform:translateY(-20px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.scale-enter-active,.scale-leave-active{transition:all .3s}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}.hover-card{transition:transform .2s ease,box-shadow .3s ease;will-change:transform,box-shadow}.hover-card:hover,.hover-card:focus{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.hover-card:active{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a!important}.touch-button{min-height:48px;min-width:48px;border-radius:12px;padding:12px 24px}.touch-button.v-btn--icon{min-height:56px;min-width:56px}.ripple-enhanced{position:relative;overflow:hidden}.ripple-enhanced:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .5s;pointer-events:none}.ripple-enhanced:active:after{opacity:1;transition:opacity .2s}html{scroll-behavior:smooth}.touch-list-item{min-height:56px;padding:12px 16px}.large-touch-target{min-height:56px;min-width:56px}.fullscreen-mode .v-app-bar{background-color:rgba(var(--v-theme-surface-variant),.85)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fullscreen-mode .main-window{padding-top:16px;padding-bottom:16px} diff --git a/assets/index-HJ4AKYAs.js b/assets/index-HJ4AKYAs.js new file mode 100644 index 0000000..c119687 --- /dev/null +++ b/assets/index-HJ4AKYAs.js @@ -0,0 +1 @@ +import{_ as N,A as f,o as n,d as s,w as i,t as d,y as o,l as h,j as k,q as g,z as V,O as C,F as v,G as x,P as I,X as b,C as y,aP as A,aN as L,v as w,B as _,H as B,W as E,x as F,M as r}from"./index-B01HL2YE.js";import{V as T,a as S}from"./VAppBarTitle-CQLnBe80.js";import{V as D}from"./VTextField-DDMIr0_j.js";import{V as M}from"./VContainer-yTxlmOws.js";const P={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await r.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await r.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await r.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await r.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await r.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(p=>{u.push({id:p.id||Date.now()+Math.floor(Math.random()*1e3),name:p.name,completed:!1})}),await r.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await r.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await r.saveData("classworks-list-info",this.lists)}}},K={key:0},U={key:1,class:"d-flex align-center w-100"},j={key:0};function q(e,t,u,p,a,m){return n(),f(v,null,[s(S,{elevation:"1"},{prepend:i(()=>[s(o,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(T,{class:"text-h6"},{default:i(()=>[...t[5]||(t[5]=[d("列表",-1)])]),_:1})]),_:1}),s(M,null,{default:i(()=>[s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[6]||(t[6]=[d("现有列表",-1)])]),_:1}),a.lists.length===0?(n(),k(V,{key:0},{default:i(()=>[...t[7]||(t[7]=[d(" 暂无列表,请创建新列表 ",-1)])]),_:1})):(n(),k(C,{key:1},{default:i(()=>[(n(!0),f(v,null,x(a.lists,l=>(n(),k(I,{key:l.id,to:l.id!==a.editingListId?`/list/${l.id}`:void 0,active:l.id===a.editingListId},{append:i(()=>[l.id!==a.editingListId?(n(),f("div",j,[s(o,{icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"]),class:"mr-2",border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[10]||(t[10]=[d("mdi-pencil",-1)])]),_:1})]),_:2},1032,["onClick"]),s(o,{icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"]),border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[11]||(t[11]=[d("mdi-delete",-1)])]),_:1})]),_:2},1032,["onClick"])])):_("",!0)]),default:i(()=>[l.id!==a.editingListId?(n(),f("div",K,[s(b,null,{default:i(()=>[d(y(l.name),1)]),_:2},1024)])):(n(),f("div",U,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),label:"列表名称","hide-details":"",density:"compact",class:"mr-2",autofocus:"",onKeyup:A(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(o,{icon:"",color:"primary",onClick:L(m.saveListName,["stop","prevent"]),class:"mr-2",border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[8]||(t[8]=[d("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),s(o,{icon:"",color:"error",onClick:L(m.cancelEditing,["stop","prevent"]),border:""},{default:i(()=>[s(w,null,{default:i(()=>[...t[9]||(t[9]=[d("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["to","active"]))),128))]),_:1}))]),_:1}),s(h,{class:"mb-5",border:"",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[12]||(t[12]=[d("创建新列表",-1)])]),_:1}),s(V,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),label:"列表名称",rules:[l=>!!l||"名称不能为空"]},null,8,["modelValue","rules"]),s(o,{color:"primary",onClick:m.createNewList,disabled:!a.newListName},{default:i(()=>[...t[13]||(t[13]=[d(" 创建列表 ",-1)])]),_:1},8,["onClick","disabled"])]),_:1})]),_:1}),s(B,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(h,{border:""},{default:i(()=>[s(g,null,{default:i(()=>[...t[14]||(t[14]=[d("删除列表",-1)])]),_:1}),s(V,null,{default:i(()=>[d(y(a.deleteDialog.text),1)]),_:1}),s(E,null,{default:i(()=>[s(F),s(o,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>[...t[15]||(t[15]=[d(" 取消 ",-1)])]),_:1}),s(o,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>[...t[16]||(t[16]=[d(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const W=N(P,[["render",q]]);export{W as default}; diff --git a/assets/index-WOogkXEw.js b/assets/index-WOogkXEw.js deleted file mode 100644 index fa535d9..0000000 --- a/assets/index-WOogkXEw.js +++ /dev/null @@ -1 +0,0 @@ -import{X as A,K as P,L as Gn,b7 as Bn,Z as H,bh as Ln,bi as Jn,bj as U,a2 as ni,bk as ii,bl as gi,g as hi,p as ui,aj as si,a7 as oi,a8 as ti,N as bn,a9 as li,aB as ei,ac as ci,bm as zi,S as yi,b as di,aU as ri,W as tn,bn as ji,Y as nn,aO as ai,bo as bi,bp as xi,aV as mi,c as fi,i as V,d as x,aD as wi,P as qi,E as xn,bc as pi,b6 as ki,F as On,ad as vi,m as Pi,ae as Si,bq as Ti,ah as Ci,br as Di,bd as Mi,h as Ei,ai as Vi,_ as Hn,bs as _i,bt as gn,j as R,B as _,o as T,w as b,t as C,aq as Ii,A as ln,G as Ni,ar as mn,aw as fn,C as F,ax as Zi,v as wn,s as hn,k as D,a_ as un,y as sn,l as Ri,q as Ai,z as Bi,b1 as Li,av as Oi,x as Hi,H as Wi}from"./index-DmGr2YjE.js";import{b as $i,c as Yi}from"./VAppBarTitle-caQbgffg.js";import{V as Ui}from"./VChip-Cb9zLh7n.js";import{V as Fi}from"./VTextField-C4kOar5O.js";function Xi(n){let{rootEl:i,isSticky:g,layoutItemStyles:u}=n;const h=A(!1),s=A(0),o=P(()=>{const l=typeof h.value=="boolean"?"top":h.value;return[g.value?{top:"auto",bottom:"auto",height:void 0}:void 0,h.value?{[l]:Gn(s.value)}:{top:u.value.top}]});Bn(()=>{H(g,l=>{l?window.addEventListener("scroll",c,{passive:!0}):window.removeEventListener("scroll",c)},{immediate:!0})}),Ln(()=>{window.removeEventListener("scroll",c)});let t=0;function c(){const l=t>window.scrollY?"up":"down",e=i.value.getBoundingClientRect(),z=parseFloat(u.value.top??0),r=window.scrollY-Math.max(0,s.value-z),m=e.height+Math.max(s.value,z)-window.scrollY-window.innerHeight,q=parseFloat(getComputedStyle(i.value).getPropertyValue("--v-body-scroll-y"))||0;e.height0;g--){if(n[g].t===n[g-1].t)continue;const u=qn(i),h=(n[g].d-n[g-1].d)/(n[g].t-n[g-1].t);i+=(h-u)*Math.abs(h),g===n.length-1&&(i*=.5)}return qn(i)*1e3}function Gi(){const n={};function i(h){Array.from(h.changedTouches).forEach(s=>{(n[s.identifier]??(n[s.identifier]=new Jn(Qi))).push([h.timeStamp,s])})}function g(h){Array.from(h.changedTouches).forEach(s=>{delete n[s.identifier]})}function u(h){var l;const s=(l=n[h])==null?void 0:l.values().reverse();if(!s)throw new Error(`No samples for touch id ${h}`);const o=s[0],t=[],c=[];for(const e of s){if(o[0]-e[0]>Ki)break;t.push({t:e[0],d:e[1].clientX}),c.push({t:e[0],d:e[1].clientY})}return{x:pn(t),y:pn(c),get direction(){const{x:e,y:z}=this,[r,m]=[Math.abs(e),Math.abs(z)];return r>m&&e>=0?"right":r>m&&e<=0?"left":m>r&&z>=0?"down":m>r&&z<=0?"up":Ji()}}}return{addMovement:i,endTouch:g,getVelocity:u}}function Ji(){throw new Error}function ng(n){let{el:i,isActive:g,isTemporary:u,width:h,touchless:s,position:o}=n;Bn(()=>{window.addEventListener("touchstart",I,{passive:!0}),window.addEventListener("touchmove",E,{passive:!1}),window.addEventListener("touchend",$,{passive:!0})}),Ln(()=>{window.removeEventListener("touchstart",I),window.removeEventListener("touchmove",E),window.removeEventListener("touchend",$)});const t=P(()=>["left","right"].includes(o.value)),{addMovement:c,endTouch:l,getVelocity:e}=Gi();let z=!1;const r=A(!1),m=A(0),q=A(0);let k;function B(y,d){return(o.value==="left"?y:o.value==="right"?document.documentElement.clientWidth-y:o.value==="top"?y:o.value==="bottom"?document.documentElement.clientHeight-y:Z())-(d?h.value:0)}function L(y){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const j=o.value==="left"?(y-q.value)/h.value:o.value==="right"?(document.documentElement.clientWidth-y-q.value)/h.value:o.value==="top"?(y-q.value)/h.value:o.value==="bottom"?(document.documentElement.clientHeight-y-q.value)/h.value:Z();return d?gi(j):j}function I(y){if(s.value)return;const d=y.changedTouches[0].clientX,j=y.changedTouches[0].clientY,a=25,f=o.value==="left"?ddocument.documentElement.clientWidth-a:o.value==="top"?jdocument.documentElement.clientHeight-a:Z(),w=g.value&&(o.value==="left"?ddocument.documentElement.clientWidth-h.value:o.value==="top"?jdocument.documentElement.clientHeight-h.value:Z());(f||w||g.value&&u.value)&&(k=[d,j],q.value=B(t.value?d:j,g.value),m.value=L(t.value?d:j),z=q.value>-20&&q.value<80,l(y),c(y))}function E(y){const d=y.changedTouches[0].clientX,j=y.changedTouches[0].clientY;if(z){if(!y.cancelable){z=!1;return}const f=Math.abs(d-k[0]),w=Math.abs(j-k[1]);(t.value?f>w&&f>3:w>f&&w>3)?(r.value=!0,z=!1):(t.value?w:f)>3&&(z=!1)}if(!r.value)return;y.preventDefault(),c(y);const a=L(t.value?d:j,!1);m.value=Math.max(0,Math.min(1,a)),a>1?q.value=B(t.value?d:j,!0):a<0&&(q.value=B(t.value?d:j,!1))}function $(y){if(z=!1,!r.value)return;c(y),r.value=!1;const d=e(y.changedTouches[0].identifier),j=Math.abs(d.x),a=Math.abs(d.y);(t.value?j>a&&j>400:a>j&&a>3)?g.value=d.direction===({left:"right",right:"left",top:"down",bottom:"up"}[o.value]||Z()):g.value=m.value>.5}const O=P(()=>r.value?{transform:o.value==="left"?`translateX(calc(-100% + ${m.value*h.value}px))`:o.value==="right"?`translateX(calc(100% - ${m.value*h.value}px))`:o.value==="top"?`translateY(calc(-100% + ${m.value*h.value}px))`:o.value==="bottom"?`translateY(calc(100% - ${m.value*h.value}px))`:Z(),transition:"none"}:void 0);return U(r,()=>{var j,a;const y=((j=i.value)==null?void 0:j.style.transform)??null,d=((a=i.value)==null?void 0:a.style.transition)??null;ni(()=>{var f,w,N,Y;(w=i.value)==null||w.style.setProperty("transform",((f=O.value)==null?void 0:f.transform)||"none"),(Y=i.value)==null||Y.style.setProperty("transition",((N=O.value)==null?void 0:N.transition)||null)}),ii(()=>{var f,w;(f=i.value)==null||f.style.setProperty("transform",y),(w=i.value)==null||w.style.setProperty("transition",d)})}),{isDragging:r,dragProgress:m,dragStyles:O}}function Z(){throw new Error}const ig=["start","end","left","right","top","bottom"],gg=ui({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:n=>ig.includes(n)},sticky:Boolean,...Vi(),...Ei(),...Mi(),...Di({mobile:null}),...Ci(),...Ti(),...Si(),...Pi({tag:"nav"}),...vi()},"VNavigationDrawer"),hg=hi()({name:"VNavigationDrawer",props:gg(),emits:{"update:modelValue":n=>!0,"update:rail":n=>!0},setup(n,i){let{attrs:g,emit:u,slots:h}=i;const{isRtl:s}=si(),{themeClasses:o}=oi(n),{borderClasses:t}=ti(n),{backgroundColorClasses:c,backgroundColorStyles:l}=bn(()=>n.color),{elevationClasses:e}=li(n),{displayClasses:z,mobile:r}=ei(n),{roundedClasses:m}=ci(n),q=zi(),k=yi(n,"modelValue",null,p=>!!p),{ssrBootStyles:B}=di(),{scopeId:L}=ri(),I=tn(),E=A(!1),{runOpenDelay:$,runCloseDelay:O}=pi(n,p=>{E.value=p}),y=P(()=>n.rail&&n.expandOnHover&&E.value?Number(n.width):Number(n.rail?n.railWidth:n.width)),d=P(()=>ji(n.location,s.value)),j=nn(()=>n.persistent),a=P(()=>!n.permanent&&(r.value||n.temporary)),f=P(()=>n.sticky&&!a.value&&d.value!=="bottom");U(()=>n.expandOnHover&&n.rail!=null,()=>{H(E,p=>u("update:rail",!p))}),U(()=>!n.disableResizeWatcher,()=>{H(a,p=>!n.permanent&&ai(()=>k.value=!p))}),U(()=>!n.disableRouteWatcher&&!!q,()=>{H(q.currentRoute,()=>a.value&&(k.value=!1))}),H(()=>n.permanent,p=>{p&&(k.value=!0)}),n.modelValue==null&&!a.value&&(k.value=n.permanent||!r.value);const{isDragging:w,dragProgress:N}=ng({el:I,isActive:k,isTemporary:a,width:y,touchless:nn(()=>n.touchless),position:d}),Y=P(()=>{const p=a.value?0:n.rail&&n.expandOnHover?Number(n.railWidth):y.value;return w.value?p*N.value:p}),{layoutItemStyles:zn,layoutItemScrimStyles:Xn}=bi({id:n.name,order:P(()=>parseInt(n.order,10)),position:d,layoutSize:Y,elementSize:y,active:xi(k),disableTransitions:nn(()=>w.value),absolute:P(()=>n.absolute||f.value&&typeof yn.value!="string")}),{isStuck:yn,stickyStyles:Kn}=Xi({rootEl:I,isSticky:f,layoutItemStyles:zn}),dn=bn(()=>typeof n.scrim=="string"?n.scrim:null),Qn=P(()=>({...w.value?{opacity:N.value*.2,transition:"none"}:void 0,...Xn.value}));return mi({VList:{bgColor:"transparent"}}),fi(()=>{const p=h.image||n.image;return V(On,null,[x(n.tag,xn({ref:I,onMouseenter:$,onMouseleave:O,class:["v-navigation-drawer",`v-navigation-drawer--${d.value}`,{"v-navigation-drawer--expand-on-hover":n.expandOnHover,"v-navigation-drawer--floating":n.floating,"v-navigation-drawer--is-hovering":E.value,"v-navigation-drawer--rail":n.rail,"v-navigation-drawer--temporary":a.value,"v-navigation-drawer--persistent":j.value,"v-navigation-drawer--active":k.value,"v-navigation-drawer--sticky":f.value},o.value,c.value,t.value,z.value,e.value,m.value,n.class],style:[l.value,zn.value,B.value,Kn.value,n.style]},L,g),{default:()=>{var rn,jn,an;return[p&&V("div",{key:"image",class:"v-navigation-drawer__img"},[h.image?x(qi,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:n.image}}},h.image):x(wi,{key:"image-img",alt:"",cover:!0,height:"inherit",src:n.image},null)]),h.prepend&&V("div",{class:"v-navigation-drawer__prepend"},[(rn=h.prepend)==null?void 0:rn.call(h)]),V("div",{class:"v-navigation-drawer__content"},[(jn=h.default)==null?void 0:jn.call(h)]),h.append&&V("div",{class:"v-navigation-drawer__append"},[(an=h.append)==null?void 0:an.call(h)])]}}),x(ki,{name:"fade-transition"},{default:()=>[a.value&&(w.value||k.value)&&!!n.scrim&&V("div",xn({class:["v-navigation-drawer__scrim",dn.backgroundColorClasses.value],style:[Qn.value,dn.backgroundColorStyles.value],onClick:()=>{j.value||(k.value=!1)}},L),null)]})])}),{isStuck:yn}}}),ug=_i({name:"MessageLog",setup(){const n=tn(!1),i=tn([]),g={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},u={success:"success",error:"error",warning:"warning",info:"primary"};return gn.onLog(h=>{h&&(i.value=h)}),{drawer:n,messages:i,icons:g,colors:u,deleteMessage:h=>gn.deleteMessage(h),clearMessages:()=>gn.clearMessages()}}}),sg={class:"text-caption text-grey"};function og(n,i,g,u,h,s){return n.drawer?(T(),R(hg,{key:0,modelValue:n.drawer,"onUpdate:modelValue":i[0]||(i[0]=o=>n.drawer=o),location:"right",temporary:"",width:"400"},{default:b(()=>[x($i,{color:"primary"},{default:b(()=>[x(Yi,null,{default:b(()=>[...i[1]||(i[1]=[C("消息记录",-1)])]),_:1})]),_:1}),x(Ii,null,{default:b(()=>[(T(!0),ln(On,null,Ni(n.messages,o=>(T(),R(mn,{key:o.id,rounded:""},{prepend:b(()=>[x(wn,{icon:n.icons[o.type],color:n.colors[o.type],size:"20"},null,8,["icon","color"])]),default:b(()=>[x(fn,null,{default:b(()=>[C(F(o.title),1)]),_:2},1024),o.content?(T(),R(Zi,{key:0},{default:b(()=>[C(F(o.content),1)]),_:2},1024)):_("",!0),V("span",sg,F(new Date(o.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),n.messages.length?_("",!0):(T(),R(mn,{key:0},{prepend:b(()=>[x(wn,{icon:"mdi-inbox",color:"grey"})]),default:b(()=>[x(fn,{class:"text-grey"},{default:b(()=>[...i[2]||(i[2]=[C("暂无消息",-1)])]),_:1})]),_:1}))]),_:1})]),_:1},8,["modelValue"])):_("",!0)}const gh=Hn(ug,[["render",og]]),tg={name:"NamespaceAccess",data(){return{dialog:!1,password:"",error:"",loading:!1,showPassword:!1,isReadOnly:!1,accessType:"PUBLIC",passwordHint:null}},computed:{shouldShowAccess(){const n=D("server.provider");return n==="kv-server"||n==="classworkscloud"}},async created(){this.shouldShowAccess&&await this.checkAccess()},methods:{async checkAccess(){var n;if(this.shouldShowAccess)try{const i=await un.get(`${D("server.domain")}/${D("device.uuid")}/_info`);if(i.data&&i.data.accessType&&["PRIVATE","PROTECTED","PUBLIC"].includes(i.data.accessType))this.accessType=i.data.accessType;else return;if(this.accessType==="PRIVATE"||this.accessType==="PROTECTED"){const u=D("namespace.password");u?await this.verifyPassword(u):this.accessType==="PRIVATE"?this.openPasswordDialog():this.setReadOnly(!0)}const g=await un.get(`${D("server.domain")}/${D("device.uuid")}/_hint`);g.data&&g.data.passwordHint&&(this.passwordHint=g.data.passwordHint||null)}catch(i){i.response&&i.response.status===403?(this.accessType="PRIVATE",this.setReadOnly(!0),this.openPasswordDialog()):(console.error("访问检查失败:",i),(n=this.$message)==null||n.error("访问检查失败"))}},async verifyPassword(n){var i,g,u;try{const h=D("device.uuid"),s=await un.post(`${D("server.domain")}/${h}/_checkpassword`,{password:n});if(s.status!=200)throw new Error(((g=(i=s.data)==null?void 0:i.error)==null?void 0:g.message)||"密码错误");hn("namespace.password",n),this.setReadOnly(!1),this.dialog=!1,(u=this.$message)==null||u.success("验证成功","已启用编辑功能")}catch(h){throw hn("namespace.password",""),this.setReadOnly(!0),h}},openPasswordDialog(){this.password="",this.error="",this.dialog=!0},async checkPassword(){if(!this.password){this.error="请输入密码";return}this.loading=!0,this.error="";try{await this.verifyPassword(this.password)}catch(n){console.error("密码验证失败:",n),this.error="密码验证失败"}finally{this.loading=!1}},setReadOnly(n){this.isReadOnly=n,hn("namespace.accessType",n?"readonly":"readwrite")}}},lg={key:0,class:"namespace-access"},eg={key:0};function cg(n,i,g,u,h,s){return s.shouldShowAccess?(T(),ln("div",lg,[h.isReadOnly?(T(),R(Ui,{key:0,color:"warning","prepend-icon":"mdi-lock-outline"},{default:b(()=>[...i[4]||(i[4]=[C(" 只读 ",-1)])]),_:1})):_("",!0),h.isReadOnly?(T(),R(sn,{key:1,color:"primary",class:"rounded-xl","prepend-icon":"mdi-lock-open-variant",onClick:s.openPasswordDialog,disabled:h.loading},{default:b(()=>[...i[5]||(i[5]=[C(" 启用编辑 ",-1)])]),_:1},8,["onClick","disabled"])):_("",!0),x(Wi,{modelValue:h.dialog,"onUpdate:modelValue":i[3]||(i[3]=o=>h.dialog=o),"max-width":"400",persistent:""},{default:b(()=>[x(Ri,{class:"rounded-xl",border:"",hover:""},{default:b(()=>[x(Ai,{class:"text-h6"},{default:b(()=>[...i[6]||(i[6]=[C("输入访问密码",-1)])]),_:1}),x(Bi,null,{default:b(()=>[x(Fi,{modelValue:h.password,"onUpdate:modelValue":i[0]||(i[0]=o=>h.password=o),label:"密码",variant:"outlined",error:!!h.error,"error-messages":h.error,onKeyup:Li(s.checkPassword,["enter"]),"onClick:appendInner":i[1]||(i[1]=o=>h.showPassword=!h.showPassword),disabled:h.loading,autofocus:""},null,8,["modelValue","error","error-messages","onKeyup","disabled"]),h.passwordHint?(T(),ln("p",eg,"密码提示:"+F(h.passwordHint),1)):_("",!0)]),_:1}),x(Oi,null,{default:b(()=>[x(Hi),x(sn,{color:"grey",variant:"text",class:"rounded-xl",onClick:i[2]||(i[2]=o=>h.dialog=!1),disabled:h.loading},{default:b(()=>[...i[7]||(i[7]=[C(" 取消 ",-1)])]),_:1},8,["disabled"]),x(sn,{color:"primary",class:"rounded-xl",variant:"tonal",onClick:s.checkPassword,loading:h.loading,disabled:!h.password},{default:b(()=>[...i[8]||(i[8]=[C(" 确认 ",-1)])]),_:1},8,["onClick","loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])):_("",!0)}const hh=Hn(tg,[["render",cg],["__scopeId","data-v-facd93ce"]]),zg=/^[\uD800-\uDBFF]$/,yg=/^[\uDC00-\uDFFF]$/,dg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var kn;(function(n){n[n.Unknown=1e-13]="Unknown",n[n.Rule=1e-12]="Rule",n[n.DICT=2e-8]="DICT",n[n.Surname=1]="Surname",n[n.Custom=1]="Custom"})(kn||(kn={}));const v={Normal:1,Surname:10,Custom:100};function S(n){var i;return n.length-(((i=n.match(dg))===null||i===void 0?void 0:i.length)||0)}function K(n){const i=[];let g=0;for(;g1)return this.StringDICT.get(i);{const g=i.charCodeAt(0);return this.NumberDICT[g]}}set(i,g){if(i.length>1)this.StringDICT.set(i,g);else{const u=i.charCodeAt(0);this.NumberDICT[u]=g}}clear(){this.NumberDICT=[],this.StringDICT.clear()}}const vn={"bǎng páng pāng":["膀"],líng:["〇","伶","凌","刢","囹","坽","夌","姈","婈","孁","岺","彾","掕","昤","朎","柃","棂","櫺","欞","泠","淩","澪","灵","燯","爧","狑","玲","琌","瓴","皊","砱","祾","秢","竛","笭","紷","綾","绫","羐","羚","翎","聆","舲","苓","菱","蓤","蔆","蕶","蛉","衑","裬","詅","跉","軨","輘","酃","醽","鈴","錂","铃","閝","陵","零","霊","霗","霛","霝","靈","駖","魿","鯪","鲮","鴒","鸰","鹷","麢","齡","齢","龄","龗","㥄"],yī:["一","乊","伊","依","医","吚","咿","噫","壱","壹","夁","嫛","嬄","弌","揖","撎","檹","毉","洢","渏","漪","瑿","畩","祎","禕","稦","繄","蛜","衤","譩","辷","郼","醫","銥","铱","鷖","鹥","黟","黳"],"dīng zhēng":["丁"],"kǎo qiǎo yú":["丂"],qī:["七","倛","僛","凄","嘁","墄","娸","悽","慼","慽","戚","捿","柒","桤","桼","棲","榿","欺","沏","淒","漆","紪","緀","萋","褄","諆","迉","郪","鏚","霋","魌","鶈"],shàng:["丄","尙","尚","恦","緔","绱"],xià:["丅","下","乤","圷","夏","夓","懗","梺","疜","睱","罅","鎼","鏬"],hǎn:["丆","喊","浫","罕","豃","㘎"],"wàn mò":["万"],zhàng:["丈","仗","墇","嶂","帐","帳","幛","扙","杖","涱","痮","瘬","瘴","瞕","粀","胀","脹","賬","账","障"],sān:["三","厁","叁","弎","毵","毶","毿","犙","鬖"],"shàng shǎng shang":["上"],"qí jī":["丌","其","奇"],"bù fǒu":["不"],"yǔ yù yú":["与"],miǎn:["丏","偭","免","冕","勉","勔","喕","娩","愐","汅","沔","湎","睌","緬","缅","腼","葂","靦","鮸","𩾃"],gài:["丐","乢","匃","匄","戤","概","槩","槪","溉","漑","瓂","葢","鈣","钙","𬮿"],chǒu:["丑","丒","侴","吜","杽","瞅","矁","醜","魗"],zhuān:["专","叀","嫥","専","專","瑼","甎","砖","磗","磚","蟤","諯","鄟","顓","颛","鱄","䏝"],"qiě jū":["且"],pī:["丕","伓","伾","噼","坯","岯","憵","批","披","炋","狉","狓","砒","磇","礔","礕","秛","秠","耚","豾","邳","鈚","鉟","銔","錃","錍","霹","駓","髬","魾","𬳵"],shì:["世","丗","亊","事","仕","侍","冟","势","勢","卋","呩","嗜","噬","士","奭","嬕","室","市","式","弑","弒","恀","恃","戺","拭","揓","是","昰","枾","柿","栻","澨","烒","煶","眂","眎","眡","睗","示","礻","筮","簭","舐","舓","襫","視","视","觢","試","誓","諡","謚","试","谥","貰","贳","軾","轼","逝","遾","釈","释","釋","鈰","鉃","鉽","铈","飾","餙","餝","饰","鰘","䏡","𬤊"],qiū:["丘","丠","坵","媝","恘","恷","楸","秋","秌","穐","篍","緧","萩","蘒","蚯","蝵","蟗","蠤","趥","邱","鞦","鞧","鰌","鰍","鳅","鶖","鹙","龝"],bǐng:["丙","屛","怲","抦","昞","昺","柄","棅","炳","禀","秉","稟","苪","蛃","邴","鈵","陃","鞆","餅","餠","饼"],yè:["业","亱","僷","墷","夜","嶪","嶫","抴","捙","擛","擪","擫","晔","曄","曅","曗","曳","曵","枼","枽","業","洂","液","澲","烨","燁","爗","璍","皣","瞱","瞸","礏","腋","葉","謁","谒","邺","鄴","鍱","鐷","靥","靨","頁","页","餣","饁","馌","驜","鵺","鸈"],cóng:["丛","从","叢","婃","孮","従","徔","徖","悰","樷","欉","淙","灇","爜","琮","藂","誴","賨","賩","錝"],dōng:["东","倲","冬","咚","埬","岽","崬","徚","昸","東","氡","氭","涷","笗","苳","菄","蝀","鮗","鯟","鶇","鶫","鸫","鼕","𬟽"],sī:["丝","俬","凘","厮","司","咝","嘶","噝","媤","廝","恖","撕","斯","楒","泀","澌","燍","禗","禠","私","糹","絲","緦","纟","缌","罳","蕬","虒","蛳","蜤","螄","蟖","蟴","鉰","銯","鍶","鐁","锶","颸","飔","騦","鷥","鸶","鼶","㟃"],chéng:["丞","呈","城","埕","堘","塍","塖","宬","峸","惩","懲","成","承","挰","掁","揨","枨","棖","橙","檙","洆","溗","澂","珵","珹","畻","程","窚","筬","絾","脭","荿","誠","诚","郕","酲","鋮","铖","騬","鯎"],diū:["丟","丢","銩","铥"],liǎng:["両","两","兩","唡","啢","掚","緉","脼","蜽","裲","魉","魎","𬜯"],yǒu:["丣","卣","友","梄","湵","牖","禉","羑","聈","苃","莠","蜏","酉","銪","铕","黝"],yán:["严","厳","啱","喦","嚴","塩","壛","壧","妍","姸","娫","娮","岩","嵒","嵓","巌","巖","巗","延","揅","昖","楌","檐","櫩","欕","沿","炎","炏","狿","琂","盐","碞","筵","簷","莚","蔅","虤","蜒","言","訁","訮","詽","讠","郔","閆","閻","闫","阎","顏","顔","颜","鹽","麣","𫄧"],bìng:["並","併","倂","傡","垪","摒","栤","病","窉","竝","誁","靐","鮩"],"sàng sāng":["丧"],gǔn:["丨","惃","滚","滾","磙","緄","绲","蓘","蔉","衮","袞","輥","辊","鮌","鯀","鲧"],jiū:["丩","勼","啾","揪","揫","朻","究","糾","纠","萛","赳","阄","鬏","鬮","鳩","鸠"],"gè gě":["个","個","各"],yā:["丫","圧","孲","庘","押","枒","桠","椏","錏","鐚","鴉","鴨","鵶","鸦","鸭"],pán:["丬","媻","幋","槃","洀","瀊","爿","盘","盤","磐","縏","蒰","蟠","蹒","蹣","鎜","鞶"],"zhōng zhòng":["中"],jǐ:["丮","妀","己","戟","挤","掎","撠","擠","橶","泲","犱","脊","虮","蟣","魢","鱾","麂"],jiè:["丯","介","借","唶","堺","屆","届","岕","庎","徣","戒","楐","犗","玠","琾","界","畍","疥","砎","蚧","蛶","衸","褯","誡","诫","鎅","骱","魪"],fēng:["丰","仹","偑","僼","凨","凬","凮","妦","寷","封","峯","峰","崶","枫","楓","檒","沣","沨","渢","灃","烽","犎","猦","琒","疯","瘋","盽","砜","碸","篈","蘴","蜂","蠭","豐","鄷","酆","鋒","鎽","鏠","锋","霻","靊","飌","麷"],"guàn kuàng":["丱"],chuàn:["串","汌","玔","賗","釧","钏"],chǎn:["丳","产","冁","剷","囅","嵼","旵","浐","滻","灛","產","産","簅","蒇","蕆","諂","譂","讇","谄","鏟","铲","閳","闡","阐","骣","𬊤"],lín:["临","冧","壣","崊","嶙","斴","晽","暽","林","潾","瀶","燐","琳","璘","瞵","碄","磷","粦","粼","繗","翷","臨","轔","辚","遴","邻","鄰","鏻","阾","隣","霖","驎","鱗","鳞","麐","麟","𬴊","𬭸"],zhuó:["丵","劅","卓","啄","圴","妰","娺","撯","擆","擢","斫","斮","斱","斲","斵","晫","椓","浊","浞","濁","灼","烵","琸","硺","禚","窡","籗","籱","罬","茁","蠗","蠿","諁","諑","謶","诼","酌","鐲","镯","鵫","鷟","䓬","𬸦"],zhǔ:["丶","主","劯","嘱","囑","宔","帾","拄","渚","濐","煑","煮","燝","瞩","矚","罜","詝","陼","鸀","麈","𬣞"],bā:["丷","仈","八","叭","哵","夿","岜","巴","捌","朳","玐","疤","笆","粑","羓","芭","蚆","豝","釟"],wán:["丸","刓","完","岏","抏","捖","汍","烷","玩","琓","笂","紈","纨","翫","芄","貦","頑","顽"],dān:["丹","勯","匰","単","妉","媅","殚","殫","甔","眈","砃","箪","簞","耼","耽","聃","聸","褝","襌","躭","郸","鄲","酖","頕"],"wèi wéi":["为"],"jǐng dǎn":["丼"],"lì lí":["丽"],jǔ:["举","弆","挙","擧","椇","榉","榘","櫸","欅","矩","筥","聥","舉","莒","蒟","襷","踽","齟","龃"],piě:["丿","苤","鐅","𬭯"],fú:["乀","伏","俘","凫","刜","匐","咈","哹","垘","孚","岪","巿","帗","幅","幞","弗","彿","怫","扶","柫","栿","桴","氟","泭","浮","涪","澓","炥","玸","甶","畉","癁","祓","福","稪","符","箙","紱","紼","絥","綍","绂","绋","罘","罦","翇","艀","芙","芣","苻","茀","茯","菔","葍","虙","蚨","蜉","蝠","袚","袱","襆","襥","諨","豧","踾","輻","辐","郛","鉘","鉜","韍","韨","颫","髴","鮄","鮲","鳧","鳬","鴔","鵩","黻"],"yí jí":["乁"],yì:["乂","义","亄","亦","亿","伇","伿","佾","俋","億","兿","刈","劓","劮","勚","勩","匇","呓","呭","呹","唈","囈","圛","坄","垼","埸","奕","嫕","嬑","寱","屹","峄","嶧","帟","帠","幆","廙","异","弈","弋","役","忆","怈","怿","悒","意","憶","懌","懿","抑","挹","敡","易","晹","曀","曎","杙","枍","棭","榏","槸","檍","歝","殔","殪","殹","毅","浂","浥","浳","湙","溢","潩","澺","瀷","炈","焲","熠","熤","熼","燚","燡","燱","獈","玴","異","疫","痬","瘗","瘞","瘱","癔","益","瞖","穓","竩","篒","縊","繶","繹","绎","缢","義","羿","翊","翌","翳","翼","耴","肄","肊","膉","臆","艗","艺","芅","苅","萟","蓺","薏","藙","藝","蘙","虉","蜴","螠","衪","袣","裔","裛","褹","襼","訲","訳","詍","詣","誼","譯","議","讛","议","译","诣","谊","豙","豛","豷","貖","贀","跇","轶","逸","邑","鄓","醷","釴","鈠","鎰","鐿","镒","镱","阣","隿","霬","饐","駅","驛","驿","骮","鮨","鶂","鶃","鶍","鷁","鷊","鷧","鷾","鸃","鹝","鹢","黓","齸","𬬩","㑊","𫄷","𬟁"],nǎi:["乃","倷","奶","嬭","廼","氖","疓","艿","迺","釢"],wǔ:["乄","五","仵","伍","侮","倵","儛","午","啎","妩","娬","嫵","庑","廡","忤","怃","憮","摀","武","潕","熓","牾","玝","珷","瑦","甒","碔","舞","躌","迕","逜","陚","鵡","鹉","𣲘"],jiǔ:["久","乆","九","乣","奺","杦","汣","灸","玖","紤","舏","酒","镹","韭","韮"],"tuō zhé":["乇","杔","馲"],"me mó ma yāo":["么"],zhī:["之","倁","卮","巵","搘","支","栀","梔","椥","榰","汁","泜","疷","祗","祬","秓","稙","綕","肢","胑","胝","脂","芝","蘵","蜘","衼","隻","鳷","鴲","鼅","𦭜"],"wū wù":["乌"],zhà:["乍","咤","宱","搾","榨","溠","痄","蚱","詐","诈","醡","霅","䃎"],hū:["乎","乯","匢","匫","呼","唿","嘑","垀","寣","幠","忽","惚","昒","歑","泘","淴","滹","烀","苸","虍","虖","謼","軤","轷","雐"],fá:["乏","伐","傠","坺","垡","墢","姂","栰","浌","瞂","笩","筏","罚","罰","罸","藅","閥","阀"],"lè yuè yào lào":["乐","樂"],yín:["乑","吟","噖","嚚","圁","垠","夤","婬","寅","峾","崟","崯","檭","殥","泿","淫","滛","烎","犾","狺","璌","硍","碒","荶","蔩","訔","訚","訡","誾","鄞","鈝","銀","银","霪","鷣","齦"],pīng:["乒","俜","娉","涄","甹","砯","聠","艵","頩"],pāng:["乓","滂","胮","膖","雱","霶"],qiáo:["乔","侨","僑","嫶","憔","桥","槗","樵","橋","櫵","犞","瞧","硚","礄","荍","荞","蕎","藮","譙","趫","鐈","鞒","鞽","顦"],hǔ:["乕","琥","萀","虎","虝","錿","鯱"],guāi:["乖"],"chéng shèng":["乗","乘","娍"],yǐ:["乙","乛","以","倚","偯","嬟","崺","已","庡","扆","攺","敼","旑","旖","檥","矣","礒","笖","舣","艤","苡","苢","蚁","螘","蟻","裿","踦","輢","轙","逘","酏","釔","鈘","鉯","钇","顗","鳦","齮","𫖮","𬺈"],"háo yǐ":["乚"],"niè miē":["乜"],qǐ:["乞","企","启","唘","啓","啔","啟","婍","屺","杞","棨","玘","盀","綺","绮","芑","諬","起","邔","闙"],yě:["也","冶","嘢","埜","壄","漜","野"],xí:["习","喺","媳","嶍","席","椺","檄","漝","習","蓆","袭","襲","覡","觋","謵","趘","郋","鎴","隰","霫","飁","騱","騽","驨","鰼","鳛","𠅤","𫘬"],xiāng:["乡","厢","廂","忀","楿","欀","湘","瓖","稥","箱","緗","缃","膷","芗","萫","葙","薌","襄","郷","鄉","鄊","鄕","鑲","镶","香","驤","骧","鱜","麘","𬙋"],shū:["书","倏","倐","儵","叔","姝","尗","抒","掓","摅","攄","書","枢","梳","樞","殊","殳","毹","毺","淑","瀭","焂","疎","疏","紓","綀","纾","舒","菽","蔬","踈","軗","輸","输","鄃","陎","鮛","鵨"],dǒu:["乧","抖","枓","蚪","鈄","阧","陡"],shǐ:["乨","使","兘","史","始","宩","屎","榁","矢","笶","豕","鉂","駛","驶"],jī:["乩","僟","击","刉","刏","剞","叽","唧","喞","嗘","嘰","圾","基","墼","姬","屐","嵆","嵇","撃","擊","朞","机","枅","樭","機","毄","激","犄","玑","璣","畸","畿","癪","矶","磯","积","積","笄","筓","箕","簊","緁","羁","羇","羈","耭","肌","芨","虀","覉","覊","譏","譤","讥","賫","賷","赍","跻","踑","躋","躸","銈","錤","鐖","鑇","鑙","隮","雞","鞿","韲","飢","饑","饥","魕","鳮","鶏","鶺","鷄","鸄","鸡","齎","齏","齑","𬯀","𫓯","𫓹","𫌀"],náng:["乪","嚢","欜","蠰","饢"],jiā:["乫","佳","傢","加","嘉","抸","枷","梜","毠","泇","浃","浹","犌","猳","珈","痂","笳","糘","耞","腵","葭","袈","豭","貑","跏","迦","鉫","鎵","镓","鴐","麚","𬂩"],jù:["乬","倨","倶","具","剧","劇","勮","埧","埾","壉","姖","屦","屨","岠","巨","巪","怇","惧","愳","懅","懼","拒","拠","昛","歫","洰","澽","炬","烥","犋","秬","窭","窶","簴","粔","耟","聚","虡","蚷","詎","讵","豦","距","踞","躆","遽","邭","醵","鉅","鐻","钜","颶","飓","駏","鮔"],shí:["乭","十","埘","塒","姼","实","実","寔","實","峕","嵵","时","旹","時","榯","湜","溡","炻","祏","竍","蚀","蝕","辻","遈","鉐","飠","饣","鮖","鰣","鲥","鼫","鼭"],mǎo:["乮","冇","卯","峁","戼","昴","泖","笷","蓩","鉚","铆"],mǎi:["买","嘪","荬","蕒","買","鷶"],luàn:["乱","亂","釠"],rǔ:["乳","擩","汝","肗","辱","鄏"],xué:["乴","学","學","峃","嶨","斈","泶","澩","燢","穴","茓","袕","踅","鷽","鸴"],yǎn:["䶮","乵","俨","偃","儼","兖","兗","厣","厴","噞","孍","嵃","巘","巚","弇","愝","戭","扊","抁","掩","揜","曮","椼","檿","沇","渷","演","琰","甗","眼","罨","萒","蝘","衍","褗","躽","遃","郾","隒","顩","魇","魘","鰋","鶠","黡","黤","黬","黭","黶","鼴","鼹","齴","龑","𬸘","𬙂","𪩘"],fǔ:["乶","俌","俛","俯","府","弣","抚","拊","撫","斧","椨","滏","焤","甫","盙","簠","腐","腑","蜅","輔","辅","郙","釜","釡","阝","頫","鬴","黼","㕮","𫖯"],shā:["乷","唦","杀","桬","殺","毮","猀","痧","砂","硰","紗","繺","纱","蔱","裟","鎩","铩","閷","髿","魦","鯊","鯋","鲨"],nǎ:["乸","雫"],qián:["乹","亁","仱","偂","前","墘","媊","岒","拑","掮","榩","橬","歬","潛","潜","濳","灊","箝","葥","虔","軡","鈐","鉗","銭","錢","鎆","钤","钱","钳","靬","騚","騝","鰬","黔","黚"],suǒ:["乺","唢","嗩","所","暛","溑","溹","琐","琑","瑣","索","褨","鎖","鎻","鏁","锁"],yú:["乻","于","亐","伃","余","堣","堬","妤","娛","娯","娱","嬩","崳","嵎","嵛","愚","扵","揄","旟","楡","楰","榆","欤","歈","歟","歶","渔","渝","湡","漁","澞","牏","狳","玗","玙","瑜","璵","盂","睮","窬","竽","籅","羭","腴","臾","舁","舆","艅","茰","萮","萸","蕍","蘛","虞","虶","蝓","螸","衧","褕","覦","觎","諛","謣","谀","踰","輿","轝","逾","邘","酑","鍝","隅","雓","雩","餘","馀","騟","骬","髃","魚","魣","鮽","鯲","鰅","鱼","鷠","鸆","齵"],zhù:["乼","伫","佇","住","坾","墸","壴","嵀","拀","杼","柱","樦","殶","注","炷","疰","眝","祝","祩","竚","筯","箸","篫","簗","紵","紸","纻","羜","翥","苎","莇","蛀","註","貯","贮","跓","軴","鉒","鋳","鑄","铸","馵","駐","驻"],zhě:["乽","者","褶","襵","赭","踷","鍺","锗"],"qián gān":["乾"],"zhì luàn":["乿"],guī:["亀","圭","妫","媯","嫢","嬀","帰","归","摫","椝","槻","槼","櫷","歸","珪","瑰","璝","瓌","皈","瞡","硅","茥","蘬","規","规","邽","郌","閨","闺","騩","鬶","鬹"],"lǐn lìn":["亃"],jué:["亅","决","刔","劂","匷","厥","噊","孒","孓","崛","崫","嶥","彏","憠","憰","戄","抉","挗","掘","攫","桷","橛","橜","欮","氒","決","灍","焳","熦","爑","爴","爵","獗","玃","玦","玨","珏","瑴","瘚","矍","矡","砄","絕","絶","绝","臄","芵","蕝","蕨","虳","蟨","蟩","觖","觮","觼","訣","譎","诀","谲","貜","赽","趉","蹷","躩","鈌","鐍","鐝","钁","镢","鴂","鴃","鷢","𫘝","㵐","𫔎"],"le liǎo":["了"],"gè mā":["亇"],"yǔ yú":["予","懙"],zhēng:["争","佂","凧","姃","媜","峥","崝","崢","征","徰","炡","烝","爭","狰","猙","癥","眐","睁","睜","筝","箏","篜","聇","脀","蒸","踭","鉦","錚","鏳","鬇"],èr:["二","刵","咡","弍","弐","樲","誀","貮","貳","贰","髶"],chù:["亍","傗","儊","怵","憷","搐","斶","歜","珿","琡","矗","竌","絀","绌","臅","触","觸","豖","鄐","閦","黜"],kuī:["亏","刲","岿","巋","盔","窥","窺","聧","虧","闚","顝"],yún:["云","伝","勻","匀","囩","妘","愪","抣","昀","橒","沄","涢","溳","澐","熉","畇","秐","筼","篔","紜","縜","纭","耘","芸","蒷","蕓","郧","鄖","鋆","雲"],hù:["互","冱","嗀","嚛","婟","嫭","嫮","岵","帍","弖","怙","戶","户","戸","戽","扈","护","昈","槴","沍","沪","滬","熩","瓠","祜","笏","簄","粐","綔","蔰","護","豰","鄠","鍙","頀","鱯","鳠","鳸","鸌","鹱"],qí:["亓","剘","埼","岐","岓","崎","嵜","愭","掑","斉","斊","旂","旗","棊","棋","檱","櫀","歧","淇","濝","猉","玂","琦","琪","璂","畦","疧","碁","碕","祁","祈","祺","禥","竒","簯","簱","籏","粸","綥","綦","肵","脐","臍","艩","芪","萁","萕","蕲","藄","蘄","蚑","蚚","蛴","蜝","蜞","螧","蠐","褀","軝","鄿","釮","錡","锜","陭","頎","颀","騎","騏","騹","骐","骑","鬐","鬿","鯕","鰭","鲯","鳍","鵸","鶀","麒","麡","𨙸","𬨂","䓫"],jǐng:["井","儆","刭","剄","坓","宑","幜","憬","暻","殌","汫","汬","澋","璄","璟","璥","穽","肼","蟼","警","阱","頚","頸"],sì:["亖","佀","価","儩","兕","嗣","四","姒","娰","孠","寺","巳","柶","榹","汜","泗","泤","洍","洠","涘","瀃","牭","祀","禩","竢","笥","耜","肂","肆","蕼","覗","貄","釲","鈶","鈻","飤","飼","饲","駟","騃","驷"],suì:["亗","嬘","岁","嵗","旞","檖","歲","歳","澻","煫","燧","璲","砕","碎","祟","禭","穂","穗","穟","繀","繐","繸","襚","誶","譢","谇","賥","邃","鐆","鐩","隧","韢","𫟦","𬭼"],gèn:["亘","亙","揯","搄","茛"],yà:["亚","亜","俹","冴","劜","圔","圠","埡","娅","婭","揠","氩","氬","犽","砑","稏","聐","襾","覀","訝","讶","迓","齾"],"xiē suò":["些"],"qí zhāi":["亝","齊"],"yā yà":["亞","压","垭","壓","铔"],"jí qì":["亟","焏"],tóu:["亠","投","頭","骰"],"wáng wú":["亡"],"kàng háng gāng":["亢"],dà:["亣","眔"],jiāo:["交","僬","娇","嬌","峧","嶕","嶣","憍","椒","浇","澆","焦","礁","穚","簥","胶","膠","膲","茭","茮","蕉","虠","蛟","蟭","跤","轇","郊","鐎","驕","骄","鮫","鲛","鵁","鷦","鷮","鹪","䴔"],hài:["亥","嗐","害","氦","餀","饚","駭","駴","骇"],"hēng pēng":["亨"],mǔ:["亩","姆","峔","拇","母","牡","牳","畂","畆","畒","畝","畞","畮","砪","胟","踇","鉧","𬭁","𧿹"],ye:["亪"],xiǎng:["享","亯","响","想","晑","蚃","蠁","響","飨","餉","饗","饷","鮝","鯗","鱶","鲞"],jīng:["京","亰","兢","坕","坙","婛","惊","旌","旍","晶","橸","泾","涇","猄","睛","秔","稉","粳","精","経","經","綡","聙","腈","茎","荆","荊","菁","葏","驚","鯨","鲸","鶁","鶄","麖","麠","鼱","䴖"],tíng:["亭","停","婷","嵉","庭","廷","楟","榳","筳","聤","莛","葶","蜓","蝏","諪","邒","霆","鼮","䗴"],liàng:["亮","喨","悢","晾","湸","諒","谅","輌","輛","辆","鍄"],"qīn qìng":["亲","親"],bó:["亳","仢","侼","僰","博","帛","愽","懪","挬","搏","欂","浡","淿","渤","煿","牔","狛","瓝","礴","秡","箔","簙","糪","胉","脖","膊","舶","艊","萡","葧","袯","襏","襮","謈","踣","郣","鈸","鉑","鋍","鎛","鑮","钹","铂","镈","餺","馎","馛","馞","駁","駮","驳","髆","鵓","鹁"],yòu:["亴","佑","佦","侑","又","右","哊","唀","囿","姷","宥","峟","幼","狖","祐","蚴","誘","诱","貁","迶","酭","釉","鼬"],xiè:["亵","伳","偞","偰","僁","卨","卸","噧","塮","夑","媟","屑","屧","廨","徢","懈","暬","械","榍","榭","泻","洩","渫","澥","瀉","瀣","灺","炧","炨","燮","爕","獬","祄","禼","糏","紲","絏","絬","繲","纈","绁","缷","薢","薤","蟹","蠏","褉","褻","謝","谢","躞","邂","靾","韰","齂","齘","齛","齥","𬹼","𤫉"],"dǎn dàn":["亶","馾"],lián:["亷","劆","匲","匳","嗹","噒","奁","奩","嫾","帘","廉","怜","憐","涟","漣","濂","濓","瀮","熑","燫","簾","籢","籨","縺","翴","联","聨","聫","聮","聯","臁","莲","蓮","薕","螊","蠊","裢","褳","覝","謰","蹥","连","連","鎌","鐮","镰","鬑","鰱","鲢"],duǒ:["亸","哚","嚲","埵","崜","朵","朶","綞","缍","趓","躱","躲","軃"],"wěi mén":["亹","斖"],rén:["人","亻","仁","壬","忈","忎","朲","秂","芢","魜","鵀"],jí:["亼","亽","伋","佶","偮","卙","即","卽","及","叝","吉","堲","塉","姞","嫉","岌","嵴","嶯","彶","忣","急","愱","戢","揤","极","棘","楫","極","槉","檝","殛","汲","湒","潗","疾","瘠","皍","笈","箿","籍","級","级","膌","艥","蒺","蕀","蕺","蝍","螏","襋","觙","谻","踖","蹐","躤","輯","轚","辑","郆","銡","鍓","鏶","集","雧","霵","鹡","㴔"],wáng:["亾","仼","兦","莣","蚟"],"shén shí":["什"],lè:["仂","叻","忇","氻","泐","玏","砳","簕","艻","阞","韷","餎","鰳","鱳","鳓"],dīng:["仃","叮","帄","玎","疔","盯","耵","虰","靪"],zè:["仄","崱","庂","捑","昃","昗","汄"],"jǐn jìn":["仅","僅","嫤"],"pú pū":["仆"],"chóu qiú":["仇"],zhǎng:["仉","幥","掌","礃"],jīn:["今","堻","巾","惍","斤","津","珒","琻","璡","砛","筋","荕","衿","襟","觔","金","釒","釿","钅","鹶","黅","𬬱"],bīng:["仌","仒","兵","冫","冰","掤","氷","鋲"],réng:["仍","礽","芿","辸","陾"],fó:["仏","坲","梻"],"jīn sǎn":["仐"],lún:["仑","伦","侖","倫","囵","圇","婨","崘","崙","棆","沦","淪","磮","腀","菕","蜦","踚","輪","轮","錀","陯","鯩","𬬭"],cāng:["仓","仺","倉","凔","嵢","沧","滄","濸","獊","舱","艙","苍","蒼","螥","鸧"],"zǎi zǐ zī":["仔"],tā:["他","塌","它","榙","溻","牠","祂","褟","趿","遢","闧"],fù:["付","偩","傅","冨","副","咐","坿","复","妇","婦","媍","嬔","富","復","椱","祔","禣","竎","緮","縛","缚","腹","萯","蕧","蚹","蛗","蝜","蝮","袝","複","覄","覆","訃","詂","讣","負","賦","賻","负","赋","赙","赴","輹","鍑","鍢","阜","附","馥","駙","驸","鮒","鰒","鲋","鳆","㳇"],xiān:["仙","仚","佡","僊","僲","先","嘕","奾","屳","廯","忺","憸","掀","暹","杴","氙","珗","祆","秈","籼","繊","纎","纖","苮","褼","襳","跹","蹮","躚","酰","鍁","锨","韯","韱","馦","鱻","鶱","𬸣"],"tuō chà duó":["仛"],hóng:["仜","吰","垬","妅","娂","宏","宖","弘","彋","汯","泓","洪","浤","渱","潂","玒","玜","竑","竤","篊","粠","紘","紭","綋","纮","翃","翝","耾","苰","荭","葒","葓","谹","谼","鈜","鉷","鋐","閎","闳","霐","霟","鞃","魟","鴻","鸿","黉","黌","𫟹","𬭎"],tóng:["仝","佟","哃","峂","峝","庝","彤","晍","曈","桐","氃","浵","潼","犝","獞","眮","瞳","砼","秱","童","粡","膧","茼","蚒","詷","赨","酮","鉖","鉵","銅","铜","餇","鮦","鲖","𫍣","𦒍"],rèn:["仞","仭","刃","刄","妊","姙","屻","岃","扨","牣","祍","紉","紝","絍","纫","纴","肕","腍","衽","袵","訒","認","认","讱","軔","轫","鈓","靭","靱","韌","韧","飪","餁","饪"],qiān:["仟","佥","僉","千","圲","奷","孯","岍","悭","愆","慳","扦","拪","搴","撁","攐","攑","攓","杄","櫏","汘","汧","牵","牽","竏","签","簽","籖","籤","粁","芊","茾","蚈","褰","諐","謙","谦","谸","迁","遷","釺","鈆","鉛","鏲","钎","阡","韆","顅","騫","骞","鬜","鬝","鵮","鹐"],"gǎn hàn":["仠"],"yì gē":["仡"],dài:["代","侢","叇","垈","埭","岱","帒","带","帯","帶","廗","怠","戴","曃","柋","殆","瀻","玳","瑇","甙","簤","紿","緿","绐","艜","蝳","袋","襶","貣","贷","蹛","軑","軚","軩","轪","迨","霴","靆","鴏","黛","黱"],"lìng líng lǐng":["令"],chào:["仦","耖","觘"],"cháng zhǎng":["仧","兏","長","长"],sā:["仨"],cháng:["仩","偿","償","嘗","嚐","嫦","尝","常","徜","瑺","瓺","甞","肠","腸","膓","苌","萇","镸","鱨","鲿"],yí:["仪","侇","儀","冝","匜","咦","圯","夷","姨","宐","宜","宧","寲","峓","嶬","嶷","巸","彛","彜","彝","彞","怡","恞","扅","暆","栘","椬","椸","沂","洟","熪","瓵","痍","移","簃","籎","羠","胰","萓","蛦","螔","觺","謻","貽","贻","跠","迻","遺","鏔","頉","頤","頥","顊","颐","饴","鮧","鴺"],mù:["仫","凩","募","墓","幕","幙","慔","慕","暮","暯","木","楘","毣","沐","炑","牧","狇","目","睦","穆","艒","苜","莯","蚞","鉬","钼","雮","霂"],"men mén":["们"],fǎn:["仮","反","橎","返"],"chào miǎo":["仯"],"yǎng áng":["仰"],zhòng:["仲","众","堹","妕","媑","狆","眾","祌","筗","茽","蚛","衆","衶","諥"],"pǐ pí":["仳"],wò:["仴","偓","卧","媉","幄","握","楃","沃","渥","濣","瓁","瞃","硪","肟","腛","臥","齷","龌"],jiàn:["件","俴","健","僭","剑","剣","剱","劍","劎","劒","劔","墹","寋","建","徤","擶","旔","楗","毽","洊","涧","澗","牮","珔","瞷","磵","礀","箭","糋","繝","腱","臶","舰","艦","荐","薦","覸","諓","諫","譛","谏","賎","賤","贱","趝","践","踐","踺","轞","鉴","鍳","鍵","鐱","鑑","鑒","鑬","鑳","键","間","餞","饯","𬣡"],"jià jiè jie":["价"],"yǎo fó":["仸"],"rèn rén":["任"],"fèn bīn":["份"],dī:["仾","低","啲","埞","堤","岻","彽","樀","滴","磾","秪","羝","袛","趆","隄","鞮","䃅"],fǎng:["仿","倣","旊","昉","昘","瓬","眆","紡","纺","舫","訪","访","髣","鶭"],zhōng:["伀","刣","妐","幒","彸","忠","柊","汷","泈","炂","盅","籦","終","终","舯","蔠","蜙","螤","螽","衳","衷","蹱","鈡","鍾","鐘","钟","锺","鴤","鼨"],pèi:["伂","佩","姵","帔","斾","旆","沛","浿","珮","蓜","轡","辔","配","霈","馷"],diào:["伄","吊","弔","掉","瘹","盄","窎","窵","竨","訋","釣","鈟","銱","鋽","鑃","钓","铞","雿","魡"],dùn:["伅","潡","炖","燉","盾","砘","碷","踲","逇","遁","遯","鈍","钝"],wěn:["伆","刎","吻","呅","抆","桽","稳","穏","穩","紊","肳","脗"],xǐn:["伈"],kàng:["伉","匟","囥","抗","炕","鈧","钪"],ài:["伌","僾","塧","壒","嫒","嬡","愛","懓","暧","曖","爱","瑷","璦","皧","瞹","砹","硋","碍","礙","薆","譺","賹","鑀","隘","靉","餲","馤","鱫","鴱"],"jì qí":["伎","薺"],"xiū xǔ":["休"],"jìn yín":["伒"],dǎn:["伔","刐","撢","玬","瓭","紞","胆","膽","衴","賧","赕","黕","𬘘"],fū:["伕","呋","娐","孵","尃","怤","懯","敷","旉","玞","砆","稃","筟","糐","綒","肤","膚","荂","荴","衭","趺","跗","邞","鄜","酜","鈇","麩","麬","麱","麸","𫓧"],tǎng:["伖","傥","儻","埫","戃","曭","爣","矘","躺","鎲","钂","镋"],yōu:["优","優","呦","嚘","峳","幽","忧","悠","憂","攸","櫌","滺","瀀","纋","羪","耰","逌","鄾","麀"],huǒ:["伙","夥","火","煷","邩","鈥","钬"],"huì kuài":["会","會","浍","璯"],yǔ:["伛","俁","俣","偊","傴","匬","噳","圄","圉","宇","寙","屿","嶼","庾","挧","敔","斞","楀","瑀","瘐","祤","禹","穥","窳","羽","與","萭","貐","鄅","頨","麌","齬","龉","㺄"],cuì:["伜","啛","忰","悴","毳","淬","焠","疩","瘁","竁","粋","粹","紣","綷","翆","翠","脃","脆","脺","膬","膵","臎","萃","襊","顇"],sǎn:["伞","傘","糤","繖","饊","馓"],wěi:["伟","伪","偉","偽","僞","儰","娓","寪","屗","崣","嶉","徫","愇","捤","暐","梶","洧","浘","渨","炜","煒","猥","玮","瑋","痿","緯","纬","腲","艉","芛","苇","荱","萎","葦","蒍","蔿","蜼","諉","诿","踓","鍡","韑","韙","韡","韪","頠","颹","骩","骪","骫","鮪","鲔","𫇭","𬀩","𬱟"],"chuán zhuàn":["传","傳"],"chē jū":["伡","俥","车"],"jū chē":["車"],yá:["伢","厑","厓","堐","岈","崕","崖","涯","漄","牙","玡","琊","睚","笌","芽","蚜","衙","齖"],qiàn:["伣","俔","倩","儙","刋","壍","嬱","悓","棈","椠","槧","欠","歉","皘","篏","篟","縴","芡","蒨","蔳","輤","𬘬"],shāng:["伤","傷","商","墒","慯","殇","殤","滳","漡","熵","蔏","螪","觞","觴","謪","鬺"],chāng:["伥","倀","娼","昌","椙","淐","猖","琩","菖","裮","錩","锠","閶","阊","鯧","鲳","鼚"],"chen cāng":["伧"],xùn:["伨","侚","卂","噀","巺","巽","徇","愻","殉","殾","汛","潠","狥","蕈","訊","訓","訙","训","讯","迅","迿","逊","遜","鑂","顨","馴","驯"],xìn:["伩","囟","孞","脪","舋","衅","訫","釁","阠","顖"],chǐ:["伬","侈","卶","叺","呎","垑","恥","歯","耻","肔","胣","蚇","裭","褫","豉","鉹","齒","齿"],"xián xuán":["伭"],"nú nǔ":["伮"],"bó bǎi":["伯"],"gū gù":["估"],nǐ:["伱","你","儞","孴","拟","擬","旎","晲","狔","苨","薿","隬"],"nì ní":["伲"],bàn:["伴","办","半","姅","怑","扮","瓣","秚","絆","绊","辦","鉡","靽"],xù:["伵","侐","勖","勗","卹","叙","垿","壻","婿","序","恤","敍","敘","旭","昫","朂","槒","欰","殈","汿","沀","洫","溆","漵","潊","烅","烼","煦","獝","珬","盢","瞁","稸","絮","続","緒","緖","續","绪","续","聓","聟","蓄","藚","訹","賉","酗","頊","鱮","㳚"],zhòu:["伷","僽","冑","呪","咒","咮","宙","昼","晝","甃","皱","皺","籀","籒","籕","粙","紂","縐","纣","绉","胄","荮","葤","詋","酎","駎","驟","骤","㤘","㑇"],shēn:["伸","侁","兟","呻","堔","妽","娠","屾","峷","扟","敒","曑","柛","氠","深","燊","珅","甡","甧","申","眒","砷","穼","籶","籸","糂","紳","绅","罙","罧","葠","蓡","蔘","薓","裑","訷","詵","诜","身","駪","鯓","鯵","鰺","鲹","鵢","𬳽"],qū:["伹","佉","匤","呿","坥","屈","岖","岴","嶇","憈","抾","敺","浀","煀","祛","筁","粬","胠","蛆","蛐","袪","覻","詘","诎","趍","躯","軀","阹","駆","駈","驅","驱","髷","魼","鰸","鱋","鶌","麯","麴","麹","黢","㭕","𪨰","䓛"],"sì cì":["伺"],bēng:["伻","嘣","奟","崩","嵭","閍"],"sì shì":["似"],"jiā qié gā":["伽"],"yǐ chì":["佁"],"diàn tián":["佃","钿"],"hān gàn":["佄"],mài:["佅","劢","勱","卖","唛","売","脈","衇","賣","迈","邁","霡","霢","麥","麦","鿏"],dàn:["但","僤","啖","啗","啿","噉","嚪","帎","憺","旦","柦","氮","沊","泹","淡","狚","疍","癚","禫","窞","腅","萏","蓞","蛋","蜑","觛","訑","誕","诞","贉","霮","餤","饏","駳","髧","鴠","𫢸"],bù:["佈","勏","吥","咘","埗","埠","布","廍","怖","悑","步","歨","歩","瓿","篰","荹","蔀","踄","部","郶","鈈","钚","餢"],bǐ:["佊","俾","匕","夶","妣","彼","朼","柀","比","毞","沘","疕","秕","笔","筆","粃","聛","舭","貏","鄙"],"zhāo shào":["佋"],cǐ:["佌","此","泚","皉","𫚖"],wèi:["位","卫","味","喂","墛","媦","慰","懀","未","渭","煟","熭","犚","猬","畏","緭","罻","胃","苿","菋","藯","蘶","蝟","螱","衛","衞","褽","謂","讆","讏","谓","躗","躛","軎","轊","鏏","霨","餧","餵","饖","魏","鮇","鳚"],zuǒ:["佐","左","繓"],yǎng:["佒","傟","养","坱","岟","慃","懩","攁","氧","氱","炴","痒","癢","礢","紻","蝆","軮","養","駚"],"tǐ tī":["体","體"],zhàn:["佔","偡","嶘","战","戦","戰","栈","桟","棧","湛","站","綻","绽","菚","蘸","虥","虦","譧","轏","驏"],"hé hē hè":["何"],bì:["佖","咇","哔","嗶","坒","堛","壁","奰","妼","婢","嬖","币","幣","幤","庇","庳","廦","弊","弻","弼","彃","必","怭","愊","愎","敝","斃","梐","毕","毖","毙","湢","滗","滭","潷","煏","熚","狴","獘","獙","珌","璧","畀","畢","疪","痹","痺","皕","睤","碧","筚","箅","箆","篦","篳","粊","綼","縪","繴","罼","腷","苾","荜","萆","萞","蓖","蓽","蔽","薜","蜌","袐","襅","襞","襣","觱","詖","诐","貱","贔","赑","跸","蹕","躃","躄","避","邲","鄨","鄪","鉍","鏎","鐴","铋","閇","閉","閟","闭","陛","韠","飶","饆","馝","駜","驆","髀","魓","鮅","鷝","鷩","鼊"],tuó:["佗","坨","堶","岮","槖","橐","沱","砣","砤","碢","紽","詑","跎","酡","阤","陀","陁","駝","駞","騨","驒","驝","驼","鮀","鴕","鸵","鼉","鼍","鼧","𬶍"],shé:["佘","舌","虵","蛥"],"yì dié":["佚","昳","泆","軼"],"fó fú bì bó":["佛"],"zuò zuō":["作"],gōu:["佝","沟","溝","痀","篝","簼","緱","缑","袧","褠","鈎","鉤","钩","鞲","韝"],nìng:["佞","侫","倿","寕","泞","澝","濘"],qú:["佢","劬","戵","斪","欋","欔","氍","淭","灈","爠","璖","璩","癯","磲","籧","絇","胊","臞","菃","葋","蕖","蘧","蟝","蠷","蠼","衐","衢","躣","軥","鑺","鴝","鸜","鸲","鼩"],"yōng yòng":["佣"],wǎ:["佤","咓","砙","邷"],kǎ:["佧","垰","胩","裃","鉲"],bāo:["佨","勹","包","孢","煲","笣","胞","苞","蕔","裦","褒","襃","闁","齙","龅"],"huái huí":["佪"],"gé hè":["佫"],lǎo:["佬","咾","恅","栳","狫","珯","硓","老","耂","荖","蛯","轑","銠","铑","鮱"],xiáng:["佭","庠","栙","祥","絴","翔","詳","跭"],gé:["佮","匌","呄","嗝","塥","愅","挌","搿","槅","櫊","滆","膈","臵","茖","觡","諽","輵","轕","閣","阁","隔","鞷","韐","韚","騔","骼","鮯"],yáng:["佯","劷","垟","崸","徉","扬","揚","敭","旸","昜","暘","杨","楊","洋","炀","珜","疡","瘍","眻","蛘","諹","輰","鍚","钖","阦","阳","陽","霷","颺","飏","鰑","鴹","鸉"],bǎi:["佰","捭","摆","擺","栢","百","竡","粨","襬"],fǎ:["佱","峜","法","灋","砝","鍅"],mǐng:["佲","凕","姳","慏","酩"],"èr nài":["佴"],hěn:["佷","很","狠","詪","𬣳"],huó:["佸","活"],guǐ:["佹","匦","匭","厬","垝","姽","宄","庋","庪","恑","晷","湀","癸","祪","簋","蛫","蟡","觤","詭","诡","軌","轨","陒","鬼"],quán:["佺","全","啳","埢","姾","峑","巏","拳","搼","权","楾","権","權","泉","洤","湶","牷","犈","瑔","痊","硂","筌","縓","荃","葲","蜷","蠸","觠","詮","诠","跧","踡","輇","辁","醛","銓","铨","闎","顴","颧","駩","騡","鬈","鰁","鳈","齤"],tiāo:["佻","庣","旫","祧","聎"],jiǎo:["佼","儌","孂","挢","搅","撟","撹","攪","敫","敽","敿","晈","暞","曒","灚","燞","狡","璬","皎","皦","絞","纐","绞","腳","臫","蟜","譑","賋","踋","鉸","铰","餃","饺","鱎","龣"],cì:["佽","刾","庛","朿","栨","次","絘","茦","莿","蛓","螆","賜","赐"],xíng:["侀","刑","哘","型","娙","形","洐","硎","蛵","邢","郉","鈃","鉶","銒","钘","铏","陉","陘","餳","𫰛"],tuō:["侂","咃","咜","圫","托","拕","拖","汑","脫","脱","莌","袥","託","讬","飥","饦","魠","鮵"],kǎn:["侃","偘","冚","坎","惂","砍","莰","輡","轗","顑"],zhí:["侄","値","值","埴","執","姪","嬂","戠","执","摭","植","樴","淔","漐","直","禃","絷","縶","聀","职","職","膱","蟙","跖","踯","蹠","躑","軄","釞","馽"],gāi:["侅","垓","姟","峐","晐","畡","祴","荄","該","该","豥","賅","賌","赅","陔"],lái:["來","俫","倈","崃","崍","庲","来","梾","棶","涞","淶","猍","琜","筙","箂","莱","萊","逨","郲","錸","铼","騋","鯠","鶆","麳"],kuǎ:["侉","咵","垮","銙"],gōng:["侊","公","功","匑","匔","塨","宫","宮","工","幊","弓","恭","攻","杛","碽","糼","糿","肱","觥","觵","躬","躳","髸","龔","龚","䢼"],lì:["例","俐","俪","傈","儮","儷","凓","利","力","励","勵","历","厉","厤","厯","厲","叓","吏","呖","唎","唳","嚦","囇","坜","塛","壢","娳","婯","屴","岦","悧","悷","慄","戾","搮","暦","曆","曞","朸","枥","栃","栗","栛","檪","櫔","櫪","欐","歴","歷","沥","沴","涖","溧","濿","瀝","爏","犡","猁","珕","瑮","瓅","瓑","瓥","疬","痢","癧","盭","睙","砅","砺","砾","磿","礪","礫","礰","禲","秝","立","笠","篥","粒","粝","糲","脷","苈","茘","荔","莅","莉","蒚","蒞","藶","蚸","蛎","蛠","蜧","蝷","蠇","蠣","詈","讈","赲","轢","轣","轹","酈","鉝","隶","隷","雳","靂","靋","鬁","鳨","鴗","鷅","麜","𫵷","𬍛"],yīn:["侌","凐","喑","噾","囙","因","垔","堙","姻","婣","愔","慇","栶","氤","洇","溵","濦","瘖","禋","秵","筃","絪","緸","茵","蒑","蔭","裀","諲","銦","铟","闉","阥","阴","陰","陻","隂","霒","霠","鞇","音","韾","駰","骃","齗","𬘡","𬤇","𬮱"],mǐ:["侎","孊","弭","敉","洣","渳","灖","米","粎","羋","脒","芈","葞","蔝","銤"],zhū:["侏","株","槠","橥","櫧","櫫","洙","潴","瀦","猪","珠","硃","秼","絑","茱","蕏","蛛","蝫","蠩","袾","誅","諸","诛","诸","豬","跦","邾","銖","铢","駯","鮢","鯺","鴸","鼄"],ān:["侒","偣","媕","安","峖","庵","桉","氨","盦","盫","腤","菴","萻","葊","蓭","誝","諳","谙","鞌","鞍","韽","馣","鮟","鵪","鶕","鹌","𩽾"],lù:["侓","僇","勎","勠","圥","坴","塶","娽","峍","廘","彔","录","戮","摝","椂","樚","淕","淥","渌","漉","潞","琭","璐","甪","盝","睩","硉","祿","禄","稑","穋","箓","簏","簬","簵","簶","籙","粶","蔍","蕗","虂","螰","賂","赂","趢","路","踛","蹗","輅","轆","辂","辘","逯","醁","錄","録","錴","鏴","陸","騄","騼","鯥","鴼","鵦","鵱","鷺","鹭","鹿","麓","𫘧"],móu:["侔","劺","恈","眸","蛑","謀","谋","踎","鍪","鴾","麰"],ér:["侕","儿","児","兒","峏","栭","洏","粫","而","胹","荋","袻","輀","轜","陑","隭","髵","鮞","鲕","鴯","鸸"],"dòng tǒng tóng":["侗"],chà:["侘","奼","姹","岔","汊","詫","诧"],chì:["侙","傺","勅","勑","叱","啻","彳","恜","慗","憏","懘","抶","敕","斥","杘","湁","灻","炽","烾","熾","痓","痸","瘛","翄","翅","翤","翨","腟","赤","趩","遫","鉓","雴","飭","饬","鶒","鷘"],"gòng gōng":["供","共"],zhōu:["侜","周","喌","州","徟","洲","淍","炿","烐","珘","矪","舟","謅","譸","诌","賙","赒","輈","輖","辀","週","郮","銂","霌","駲","騆","鵃","鸼"],rú:["侞","儒","嚅","如","嬬","孺","帤","曘","桇","渪","濡","筎","茹","蕠","薷","蝡","蠕","袽","襦","邚","醹","銣","铷","顬","颥","鱬","鴑","鴽"],"jiàn cún":["侟"],xiá:["侠","俠","匣","峡","峽","敮","暇","柙","炠","烚","狎","狭","狹","珨","瑕","硖","硤","碬","祫","筪","縖","翈","舝","舺","蕸","赮","轄","辖","遐","鍜","鎋","陜","陿","霞","騢","魻","鶷","黠"],lǚ:["侣","侶","儢","吕","呂","屡","屢","履","挔","捛","旅","梠","焒","祣","稆","穭","絽","縷","缕","膂","膐","褛","褸","郘","鋁","铝"],ta:["侤"],"jiǎo yáo":["侥","僥","徺"],zhēn:["侦","偵","寊","帧","帪","幀","搸","斟","桢","楨","榛","樼","殝","浈","湞","潧","澵","獉","珍","珎","瑧","甄","眞","真","砧","碪","祯","禎","禛","箴","胗","臻","葴","蒖","蓁","薽","貞","贞","轃","遉","酙","針","鉁","錱","鍼","针","鱵"],"cè zè zhāi":["侧","側"],kuài:["侩","儈","凷","哙","噲","圦","块","塊","巜","廥","快","旝","欳","狯","獪","筷","糩","脍","膾","郐","鄶","鱠","鲙"],chái:["侪","儕","喍","柴","犲","祡","豺"],nóng:["侬","儂","农","哝","噥","檂","欁","浓","濃","燶","禯","秾","穠","脓","膿","蕽","襛","譨","農","辳","醲","鬞","𬪩"],jǐn:["侭","儘","卺","厪","巹","槿","漌","瑾","紧","緊","菫","蓳","謹","谨","錦","锦","饉","馑"],"hóu hòu":["侯","矦"],jiǒng:["侰","僒","冏","囧","泂","澃","炯","烱","煚","煛","熲","燛","窘","綗","褧","迥","逈","顈","颎","䌹"],"chěng tǐng":["侱"],"zhèn zhēn":["侲","揕"],zuò:["侳","做","唑","坐","岝","岞","座","祚","糳","胙","葃","葄","蓙","袏","阼"],qīn:["侵","兓","媇","嵚","嶔","欽","衾","誛","钦","顉","駸","骎","鮼"],jú:["侷","啹","婅","局","巈","椈","橘","泦","淗","湨","焗","犑","狊","粷","菊","蘜","趜","跼","蹫","輂","郹","閰","駶","驧","鵙","鵴","鶪","鼰","鼳","䴗"],"shù dōu":["侸"],tǐng:["侹","圢","娗","挺","涏","烶","珽","脡","艇","誔","頲","颋"],shèn:["侺","愼","慎","昚","涁","渗","滲","瘆","瘮","眘","祳","肾","胂","脤","腎","蜃","蜄","鋠"],"tuì tuó":["侻"],nán:["侽","喃","娚","抩","暔","枏","柟","楠","男","畘","莮","萳","遖"],xiāo:["侾","哓","嘵","嚻","囂","婋","宯","宵","庨","彇","揱","枭","枵","梟","櫹","歊","毊","消","潇","瀟","灱","灲","烋","焇","猇","獢","痚","痟","硝","硣","窙","箫","簘","簫","綃","绡","翛","膮","萧","蕭","虈","虓","蟂","蟏","蟰","蠨","踃","逍","銷","销","霄","颵","驍","骁","髇","髐","魈","鴞","鴵","鷍","鸮"],"biàn pián":["便","緶","缏"],tuǐ:["俀","腿","蹆","骽"],xì:["係","匸","卌","呬","墍","屃","屓","屭","忥","怬","恄","椞","潝","潟","澙","熂","犔","磶","禊","細","綌","縘","细","绤","舃","舄","蕮","虩","衋","覤","赩","趇","郤","釳","阋","隙","隟","霼","餼","饩","鬩","黖"],cù:["促","媨","憱","猝","瘄","瘯","簇","縬","脨","蔟","誎","趗","踧","踿","蹙","蹴","蹵","醋","顣","鼀"],é:["俄","囮","娥","峉","峨","峩","涐","珴","皒","睋","磀","莪","訛","誐","譌","讹","迗","鈋","鋨","锇","頟","額","额","魤","鵝","鵞","鹅"],qiú:["俅","叴","唒","囚","崷","巯","巰","扏","梂","殏","毬","求","汓","泅","浗","湭","煪","犰","玌","球","璆","皳","盚","紌","絿","肍","芁","莍","虬","虯","蛷","裘","觓","觩","訄","訅","賕","赇","逎","逑","遒","酋","釚","釻","銶","頄","鮂","鯄","鰽","鼽","𨱇"],xú:["俆","徐","禑"],"guàng kuāng":["俇"],kù:["俈","喾","嚳","库","庫","廤","瘔","絝","绔","袴","裤","褲","酷"],wù:["俉","务","務","勿","卼","坞","塢","奦","婺","寤","屼","岉","嵨","忢","悞","悟","悮","戊","扤","晤","杌","溩","焐","熃","物","痦","矹","窹","粅","蘁","誤","误","鋈","阢","隖","雾","霚","霧","靰","騖","骛","鶩","鹜","鼿","齀"],jùn:["俊","儁","呁","埈","寯","峻","懏","捃","攟","晙","棞","燇","珺","畯","竣","箟","蜠","賐","郡","陖","餕","馂","駿","骏","鵔","鵕","鵘","䐃"],liáng:["俍","墚","梁","椋","樑","粮","粱","糧","良","輬","辌","𫟅"],zǔ:["俎","唨","爼","祖","組","组","詛","诅","鎺","阻","靻"],"qiào xiào":["俏"],yǒng:["俑","勇","勈","咏","埇","塎","嵱","彮","怺","恿","悀","惥","愑","愹","慂","柡","栐","永","泳","湧","甬","蛹","詠","踊","踴","鯒","鲬"],hùn:["俒","倱","圂","尡","慁","掍","溷","焝","睴","觨","諢","诨"],jìng:["俓","傹","境","妌","婙","婧","弪","弳","径","徑","敬","曔","桱","梷","浄","瀞","獍","痉","痙","竞","竟","竫","競","竸","胫","脛","莖","誩","踁","迳","逕","鏡","镜","靖","静","靜","鵛"],sàn:["俕","閐"],pěi:["俖"],sú:["俗"],xī:["俙","僖","兮","凞","卥","厀","吸","唏","唽","嘻","噏","嚱","夕","奚","嬆","嬉","屖","嵠","巇","希","徆","徯","息","悉","悕","惁","惜","昔","晞","晰","晳","曦","析","桸","榽","樨","橀","欷","氥","汐","浠","淅","渓","溪","烯","焁","焈","焟","熄","熈","熙","熹","熺","熻","燨","爔","牺","犀","犠","犧","琋","瘜","皙","睎","瞦","矽","硒","磎","礂","稀","穸","窸","粞","糦","緆","繥","羲","翕","翖","肸","肹","膝","舾","莃","菥","蒠","蜥","螅","蟋","蠵","西","觹","觽","觿","譆","谿","豀","豨","豯","貕","赥","邜","鄎","酅","醯","釸","錫","鏭","鐊","鑴","锡","隵","餏","饎","饻","鯑","鵗","鸂","鼷"],lǐ:["俚","娌","峢","峲","李","欚","浬","澧","理","礼","禮","粴","裏","裡","豊","逦","邐","醴","鋰","锂","鯉","鱧","鱱","鲤","鳢"],bǎo:["保","堢","媬","宝","寚","寳","寶","珤","緥","葆","藵","褓","賲","靌","飹","飽","饱","駂","鳵","鴇","鸨"],"yú shù yù":["俞"],"sì qí":["俟"],"xìn shēn":["信"],xiū:["俢","修","咻","庥","樇","烌","羞","脙","脩","臹","貅","銝","鎀","飍","饈","馐","髤","髹","鮴","鱃","鵂","鸺","䗛"],dì:["俤","偙","僀","埊","墑","墬","娣","帝","怟","旳","梊","焍","玓","甋","眱","睇","碲","祶","禘","第","締","缔","腣","菂","蒂","蔕","蝃","蝭","螮","諦","谛","踶","递","逓","遞","遰","鉪","𤧛","䗖"],chóu:["俦","儔","嬦","惆","愁","懤","栦","燽","畴","疇","皗","稠","筹","籌","絒","綢","绸","菗","詶","讎","讐","踌","躊","酧","酬","醻","雔","雠","雦"],zhì:["俧","偫","儨","制","劕","垁","娡","寘","帙","帜","幟","庢","庤","廌","彘","徏","徝","志","忮","懥","懫","挃","挚","掷","摯","擲","旘","晊","智","栉","桎","梽","櫍","櫛","治","洷","滍","滞","滯","潌","瀄","炙","熫","狾","猘","璏","瓆","痔","痣","礩","祑","秩","秷","稚","稺","穉","窒","紩","緻","置","翐","膣","至","致","芖","蛭","袟","袠","製","覟","觗","觯","觶","誌","豑","豒","貭","質","贄","质","贽","跱","踬","躓","輊","轾","郅","銍","鋕","鑕","铚","锧","陟","隲","雉","駤","騭","騺","驇","骘","鯯","鴙","鷙","鸷","𬃊"],"liǎ liǎng":["俩"],jiǎn:["俭","倹","儉","减","剪","堿","弿","彅","戩","戬","拣","挸","捡","揀","撿","枧","柬","梘","检","検","檢","減","湕","瀽","瑐","睑","瞼","硷","碱","礆","笕","筧","简","簡","絸","繭","翦","茧","藆","蠒","裥","襇","襉","襺","詃","謇","謭","譾","谫","趼","蹇","鐗","鬋","鰎","鹸","鹻","鹼"],huò:["俰","咟","嚯","嚿","奯","彠","惑","或","擭","旤","曤","檴","沎","湱","瀖","獲","癨","眓","矐","祸","禍","穫","窢","耯","臛","艧","获","蒦","藿","蠖","謋","貨","货","鍃","鑊","镬","雘","霍","靃","韄","㸌"],"jù jū":["俱","据","鋸","锯"],xiào:["俲","傚","効","咲","哮","啸","嘋","嘨","嘯","孝","效","斅","斆","歗","涍","熽","笑","詨","誟"],pái:["俳","徘","牌","犤","猅","簰","簲","輫"],biào:["俵","鰾","鳔"],"chù tì":["俶"],fèi:["俷","剕","厞","吠","屝","废","廃","廢","昲","曊","櫠","沸","濷","狒","癈","肺","萉","費","费","鐨","镄","陫","靅","鼣"],fèng:["俸","凤","奉","湗","焨","煈","賵","赗","鳯","鳳","鴌"],ǎn:["俺","唵","埯","揞","罯","銨","铵"],bèi:["俻","倍","偝","偹","備","僃","备","悖","惫","愂","憊","昁","梖","焙","牬","犕","狈","狽","珼","琲","碚","禙","糒","苝","蓓","蛽","褙","貝","贝","軰","輩","辈","邶","郥","鄁","鋇","鐾","钡","鞁","鞴","𬇙"],yù:["俼","儥","喅","喩","喻","域","堉","妪","嫗","寓","峪","嶎","庽","彧","御","愈","慾","戫","昱","棛","棜","棫","櫲","欎","欝","欲","毓","浴","淯","滪","潏","澦","灪","焴","煜","燏","燠","爩","狱","獄","玉","琙","瘉","癒","砡","硢","硲","礇","礖","礜","禦","秗","稢","稶","篽","籞","籲","粖","緎","罭","聿","肀","艈","芋","芌","茟","蒮","蓣","蓹","蕷","蘌","蜟","蜮","袬","裕","誉","諭","譽","谕","豫","軉","輍","逳","遇","遹","郁","醧","鈺","鋊","錥","鐭","钰","閾","阈","雤","霱","預","预","飫","饇","饫","馭","驈","驭","鬰","鬱","鬻","魊","鱊","鳿","鴥","鴧","鴪","鵒","鷸","鸒","鹆","鹬"],xīn:["俽","噺","妡","嬜","廞","心","忄","忻","惞","新","昕","杺","欣","歆","炘","盺","薪","訢","辛","邤","鈊","鋅","鑫","锌","馨","馫","䜣","𫷷"],"hǔ chí":["俿"],jiù:["倃","僦","匓","匛","匶","厩","咎","就","廄","廏","廐","慦","捄","救","旧","柩","柾","桕","欍","殧","疚","臼","舅","舊","鯦","鷲","鹫","麔","齨","㠇"],yáo:["倄","傜","嗂","垚","堯","姚","媱","尧","尭","峣","嶢","嶤","徭","揺","搖","摇","摿","暚","榣","烑","爻","猺","珧","瑤","瑶","磘","窑","窯","窰","肴","蘨","謠","謡","谣","軺","轺","遙","遥","邎","顤","颻","飖","餆","餚","鰩","鱙","鳐"],"cuì zú":["倅"],"liǎng liǎ":["倆"],wǎn:["倇","唍","婉","惋","挽","晚","晥","晩","晼","梚","椀","琬","畹","皖","盌","碗","綩","綰","绾","脘","萖","踠","輓","鋔"],zǒng:["倊","偬","傯","嵸","总","惣","捴","搃","摠","燪","総","緫","縂","總","蓗"],guān:["倌","关","官","棺","瘝","癏","窤","蒄","関","闗","關","鰥","鱞","鳏"],tiǎn:["倎","唺","忝","悿","晪","殄","淟","睓","腆","舔","覥","觍","賟","錪","餂"],mén:["們","扪","捫","璊","菛","虋","鍆","钔","門","閅","门","𫞩"],"dǎo dào":["倒"],"tán tàn":["倓","埮"],"juè jué":["倔"],chuí:["倕","垂","埀","捶","搥","桘","棰","槌","箠","腄","菙","錘","鎚","锤","陲","顀"],xìng:["倖","姓","婞","嬹","幸","性","悻","杏","涬","緈","臖","荇","莕","葕"],péng:["倗","傰","塜","塳","弸","憉","捀","朋","棚","椖","樥","硼","稝","竼","篷","纄","膨","芃","蓬","蘕","蟚","蟛","袶","輣","錋","鑝","韸","韼","騯","髼","鬅","鬔","鵬","鹏"],"tǎng cháng":["倘"],hòu:["候","厚","后","垕","堠","後","洉","茩","豞","逅","郈","鮜","鱟","鲎","鲘"],tì:["倜","剃","嚏","嚔","屉","屜","悌","悐","惕","惖","戻","掦","替","朑","歒","殢","涕","瓋","笹","籊","薙","褅","逖","逷","髰","鬀","鬄"],gàn:["倝","凎","幹","榦","檊","淦","灨","盰","紺","绀","詌","贑","赣","骭","㽏"],"liàng jìng":["倞","靓"],suī:["倠","哸","夊","滖","濉","眭","睢","芕","荽","荾","虽","雖","鞖"],"chàng chāng":["倡"],jié:["倢","偼","傑","刦","刧","刼","劫","劼","卩","卪","婕","媫","孑","岊","崨","嵥","嶻","巀","幯","截","捷","掶","擮","昅","杢","杰","桀","桝","楬","楶","榤","洁","滐","潔","狤","睫","礍","竭","節","羯","莭","蓵","蛣","蜐","蠘","蠞","蠽","衱","袺","訐","詰","誱","讦","踕","迼","鉣","鍻","镼","頡","鮚","鲒","㛃"],"kǒng kōng":["倥"],juàn:["倦","劵","奆","慻","桊","淃","狷","獧","眷","睊","睠","絭","絹","绢","罥","羂","腃","蔨","鄄","餋"],zōng:["倧","堫","宗","嵏","嵕","惾","朡","棕","椶","熧","猣","磫","緃","翪","腙","葼","蝬","豵","踨","踪","蹤","鍐","鑁","騌","騣","骔","鬃","鬉","鬷","鯮","鯼"],ní:["倪","坭","埿","尼","屔","怩","淣","猊","籾","聣","蚭","蜺","觬","貎","跜","輗","郳","鈮","铌","霓","馜","鯢","鲵","麑","齯","𫐐","𫠜"],zhuō:["倬","拙","捉","桌","梲","棁","棳","槕","涿","窧","鐯","䦃"],"wō wēi":["倭"],luǒ:["倮","剆","曪","瘰","癳","臝","蓏","蠃","裸","躶"],sōng:["倯","凇","娀","崧","嵩","庺","憽","松","枀","枩","柗","梥","檧","淞","濍","硹","菘","鬆"],lèng:["倰","堎","愣","睖","踜"],zì:["倳","剚","字","恣","渍","漬","牸","眥","眦","胔","胾","自","茡","荢"],bèn:["倴","坌","捹","撪","渀","笨","逩"],cǎi:["倸","啋","婇","彩","採","棌","毝","睬","綵","跴","踩"],zhài:["债","債","寨","瘵","砦"],yē:["倻","吔","噎","擨","暍","椰","歋","潱","蠮"],shà:["倽","唼","喢","歃","箑","翜","翣","萐","閯","霎"],qīng:["倾","傾","卿","圊","寈","氢","氫","淸","清","蜻","軽","輕","轻","郬","錆","鑋","靑","青","鯖"],yīng:["偀","嘤","噟","嚶","婴","媖","嫈","嬰","孆","孾","愥","撄","攖","朠","桜","樱","櫻","渶","煐","珱","瑛","璎","瓔","甇","甖","碤","礯","緓","纓","绬","缨","罂","罃","罌","膺","英","莺","蘡","蝧","蠳","褮","譻","賏","軈","鑍","锳","霙","韺","鴬","鶑","鶧","鶯","鷪","鷹","鸎","鸚","鹦","鹰","䓨"],"chēng chèn":["偁","爯"],ruǎn:["偄","朊","瑌","瓀","碝","礝","腝","軟","輭","软","阮"],"zhòng tóng":["偅"],chǔn:["偆","惷","睶","萶","蠢","賰"],"jiǎ jià":["假"],"jì jié":["偈"],"bǐng bìng":["偋"],ruò:["偌","叒","嵶","弱","楉","焫","爇","箬","篛","蒻","鄀","鰙","鰯","鶸"],tí:["偍","厗","啼","嗁","崹","漽","瑅","睼","禵","稊","緹","缇","罤","蕛","褆","謕","趧","蹄","蹏","醍","鍗","題","题","騠","鮷","鯷","鳀","鵜","鷤","鹈","𫘨"],wēi:["偎","危","喴","威","媙","嶶","巍","微","愄","揋","揻","椳","楲","溦","烓","煨","燰","癓","縅","葨","葳","薇","蜲","蝛","覣","詴","逶","隇","隈","霺","鰃","鰄","鳂"],piān:["偏","囨","媥","楄","犏","篇","翩","鍂"],yàn:["偐","厌","厭","唁","喭","嚈","嚥","堰","妟","姲","嬊","嬿","宴","彥","彦","敥","晏","暥","曕","曣","滟","灎","灔","灧","灩","焔","焰","焱","熖","燄","牪","猒","砚","硯","艳","艶","艷","覎","觃","觾","諺","讌","讞","谚","谳","豓","豔","贋","贗","赝","軅","酀","酽","醼","釅","雁","餍","饜","騐","験","騴","驗","驠","验","鬳","鳫","鴈","鴳","鷃","鷰","齞"],"tǎng dàng":["偒"],è:["偔","匎","卾","厄","呝","咢","噩","垩","堊","堮","岋","崿","廅","悪","愕","戹","扼","搤","搹","擜","櫮","歞","歺","湂","琧","砈","砐","硆","腭","苊","萼","蕚","蚅","蝁","覨","諤","讍","谔","豟","軛","軶","轭","遌","遏","遻","鄂","鈪","鍔","鑩","锷","阨","阸","頞","顎","颚","餓","餩","饿","鰐","鰪","鱷","鳄","鶚","鹗","齃","齶","𫫇","𥔲"],xié:["偕","勰","协","協","嗋","垥","奊","恊","愶","拹","携","撷","擕","擷","攜","斜","旪","熁","燲","綊","緳","縀","缬","翓","胁","脅","脇","脋","膎","蝢","衺","襭","諧","讗","谐","鞋","鞵","龤","㙦"],chě:["偖","扯","撦"],shěng:["偗","渻","眚"],chā:["偛","嗏","扠","挿","插","揷","疀","臿","艖","銟","鍤","锸","餷"],huáng:["偟","凰","喤","堭","墴","媓","崲","徨","惶","楻","湟","煌","獚","瑝","璜","癀","皇","磺","穔","篁","簧","艎","葟","蝗","蟥","諻","趪","遑","鍠","鐄","锽","隍","韹","餭","騜","鰉","鱑","鳇","鷬","黃","黄","𨱑"],yǎo:["偠","咬","婹","宎","岆","杳","柼","榚","溔","狕","窅","窈","舀","苭","闄","騕","鷕","齩"],"chǒu qiào":["偢"],yóu:["偤","尤","庮","怣","沋","油","浟","游","犹","猶","猷","由","疣","秞","肬","莜","莸","蕕","蚰","蝣","訧","輏","輶","逰","遊","邮","郵","鈾","铀","駀","魷","鮋","鱿","鲉","𬨎"],xū:["偦","墟","媭","嬃","楈","欨","歔","燸","疞","盱","綇","縃","繻","胥","蕦","虗","虚","虛","蝑","裇","訏","許","諝","譃","谞","鑐","需","須","须","顼","驉","鬚","魆","魖","𬣙","𦈡"],zhā:["偧","哳","抯","挓","揸","摣","樝","渣","皶","觰","譇","齄","齇"],cī:["偨","疵","蠀","趀","骴","髊","齹"],bī:["偪","屄","楅","毴","豍","逼","鰏","鲾","鵖"],xún:["偱","噚","寻","尋","峋","巡","廵","循","恂","揗","攳","旬","杊","栒","桪","樳","洵","浔","潯","燅","燖","珣","璕","畃","紃","荀","蟳","詢","询","鄩","鱏","鱘","鲟","𬘓","𬩽","𬍤","𬊈"],"cāi sī":["偲"],duān:["偳","媏","端","褍","鍴"],ǒu:["偶","吘","嘔","耦","腢","蕅","藕","𬉼","𠙶"],tōu:["偷","偸","鍮"],"zán zá zǎ":["偺"],"lǚ lóu":["偻","僂"],fèn:["偾","僨","奋","奮","弅","忿","愤","憤","瀵","瞓","秎","粪","糞","膹","鱝","鲼"],"kuǐ guī":["傀"],sǒu:["傁","叜","叟","嗾","櫢","瞍","薮","藪"],"zhì sī tí":["傂"],sù:["傃","僳","嗉","塐","塑","夙","嫊","愫","憟","榡","樎","樕","殐","泝","涑","溯","溸","潚","潥","玊","珟","璛","簌","粛","粟","素","縤","肃","肅","膆","蔌","藗","觫","訴","謖","诉","谡","趚","蹜","速","遡","遬","鋉","餗","驌","骕","鱐","鷫","鹔","𫗧"],xiā:["傄","煆","瞎","虲","谺","颬","鰕"],"yuàn yuán":["傆","媛"],rǒng:["傇","冗","宂","氄","軵"],nù:["傉","怒"],yùn:["傊","孕","恽","惲","愠","慍","枟","腪","蕴","薀","藴","蘊","褞","貟","运","運","郓","鄆","酝","醖","醞","韗","韞","韵","韻","餫"],"gòu jiǎng":["傋"],mà:["傌","嘜","榪","睰","祃","禡","罵","閁","駡","骂","鬕"],bàng:["傍","塝","棒","玤","稖","艕","蒡","蜯","謗","谤","鎊","镑"],diān:["傎","厧","嵮","巅","巓","巔","掂","攧","敁","槇","滇","癫","癲","蹎","顚","顛","颠","齻"],táng:["傏","唐","啺","坣","堂","塘","搪","棠","榶","溏","漟","煻","瑭","磄","禟","篖","糃","糖","糛","膅","膛","蓎","螗","螳","赯","踼","鄌","醣","鎕","隚","餹","饄","鶶","䣘"],hào:["傐","哠","恏","昊","昦","晧","暠","暤","暭","曍","浩","淏","澔","灏","灝","皓","皜","皞","皡","皥","耗","聕","薃","號","鄗","顥","颢","鰝"],"xī xì":["傒"],shān:["傓","删","刪","剼","圸","山","挻","搧","柵","檆","潸","澘","煽","狦","珊","笘","縿","羴","羶","脠","舢","芟","衫","跚","軕","邖","閊","鯅"],"qiàn jiān":["傔"],"què jué":["傕","埆"],"cāng chen":["傖"],róng:["傛","媶","嫆","嬫","容","峵","嵘","嶸","戎","搈","曧","栄","榕","榮","榵","毧","溶","瀜","烿","熔","狨","瑢","穁","絨","绒","羢","肜","茙","茸","荣","蓉","蝾","融","螎","蠑","褣","鎔","镕","駥"],"tà tàn":["傝"],suō:["傞","唆","嗍","嗦","娑","摍","桫","梭","睃","簑","簔","羧","莏","蓑","趖","鮻"],dǎi:["傣","歹"],zài:["傤","儎","再","在","扗","洅","載","酨"],gǔ:["傦","古","啒","尳","愲","榖","榾","汩","淈","濲","瀔","牯","皷","皼","盬","瞽","穀","罟","羖","股","脵","臌","薣","蛊","蠱","詁","诂","轂","逧","鈷","钴","餶","馉","鼓","鼔","𦙶"],bīn:["傧","宾","彬","斌","椕","滨","濒","濱","濵","瀕","繽","缤","虨","豩","豳","賓","賔","邠","鑌","镔","霦","顮"],chǔ:["储","儲","杵","椘","楚","楮","檚","濋","璴","础","礎","禇","處","齭","齼","𬺓"],nuó:["傩","儺","挪","梛","橠"],"cān càn":["傪"],lěi:["傫","儡","厽","垒","塁","壘","壨","櫐","灅","癗","矋","磊","礨","耒","蕌","蕾","藟","蘽","蠝","誄","讄","诔","鑸","鸓"],cuī:["催","凗","墔","崔","嵟","慛","摧","榱","獕","磪","鏙"],yōng:["傭","嗈","墉","壅","嫞","庸","廱","慵","拥","擁","滽","灉","牅","痈","癕","癰","臃","邕","郺","鄘","鏞","镛","雍","雝","饔","鱅","鳙","鷛"],"zāo cáo":["傮"],sǒng:["傱","嵷","怂","悚","愯","慫","竦","耸","聳","駷","㧐"],ào:["傲","坳","垇","墺","奡","嫯","岙","岰","嶴","懊","擙","澳","鏊","驁","骜"],"qī còu":["傶"],chuǎng:["傸","磢","闖","闯"],shǎ:["傻","儍"],hàn:["傼","垾","悍","憾","扞","捍","撖","撼","旱","晘","暵","汉","涆","漢","瀚","焊","猂","皔","睅","翰","莟","菡","蛿","蜭","螒","譀","輚","釬","銲","鋎","雗","頷","顄","颔","駻","鶾"],zhāng:["傽","嫜","张","張","彰","慞","暲","樟","漳","獐","璋","章","粻","蔁","蟑","遧","鄣","鏱","餦","騿","鱆","麞"],"yān yàn":["傿","墕","嬮"],"piào biāo":["僄","骠"],liàn:["僆","堜","媡","恋","戀","楝","殓","殮","湅","潋","澰","瀲","炼","煉","瑓","練","纞","练","萰","錬","鍊","鏈","链","鰊","𬶠"],màn:["㵘","僈","墁","幔","慢","曼","漫","澷","熳","獌","縵","缦","蔄","蘰","鄤","鏝","镘","𬜬"],"tàn tǎn":["僋"],yíng:["僌","営","塋","嬴","攍","楹","櫿","溁","溋","滢","潆","濙","濚","濴","瀅","瀛","瀠","瀯","灐","灜","熒","營","瑩","盁","盈","禜","籝","籯","縈","茔","荧","莹","萤","营","萦","萾","蓥","藀","蛍","蝇","蝿","螢","蠅","謍","贏","赢","迎","鎣"],dòng:["働","冻","凍","动","動","姛","戙","挏","栋","棟","湩","硐","胨","胴","腖","迵","霘","駧"],zhuàn:["僎","啭","囀","堟","撰","灷","瑑","篆","腞","蒃","襈","譔","饌","馔"],xiàng:["像","勨","向","嚮","姠","嶑","曏","橡","珦","缿","蟓","衖","襐","象","鐌","項","项","鱌"],shàn:["僐","善","墠","墡","嬗","擅","敾","椫","樿","歚","汕","灗","疝","磰","繕","缮","膳","蟮","蟺","訕","謆","譱","讪","贍","赡","赸","鄯","鐥","饍","騸","骟","鱓","鱔","鳝","𫮃"],"tuí tuǐ":["僓"],zǔn:["僔","噂","撙","譐"],pú:["僕","匍","圤","墣","濮","獛","璞","瞨","穙","莆","菐","菩","葡","蒱","蒲","贌","酺","鏷","镤"],láo:["僗","劳","労","勞","哰","崂","嶗","憥","朥","浶","牢","痨","癆","窂","簩","醪","鐒","铹","顟","髝","𫭼"],chǎng:["僘","厰","廠","敞","昶","氅","鋹","𬬮"],guāng:["僙","光","咣","垙","姯","洸","灮","炗","炚","炛","烡","珖","胱","茪","輄","銧","黆","𨐈"],liáo:["僚","嘹","嫽","寥","寮","尞","屪","嵺","嶚","嶛","廫","憀","敹","暸","橑","獠","璙","疗","療","竂","簝","繚","缭","聊","膋","膫","藔","蟟","豂","賿","蹘","辽","遼","飉","髎","鷯","鹩"],dèng:["僜","凳","墱","嶝","櫈","瞪","磴","覴","邓","鄧","隥"],"chán zhàn zhuàn":["僝"],bō:["僠","嶓","拨","撥","播","波","溊","玻","癶","盋","砵","碆","礡","缽","菠","袰","蹳","鉢","钵","餑","饽","驋","鱍","𬭛"],huì:["僡","匯","卉","喙","嘒","嚖","圚","嬒","寭","屶","屷","彗","彙","彚","徻","恚","恵","惠","慧","憓","懳","晦","暳","槥","橞","檅","櫘","汇","泋","滙","潓","烩","燴","獩","璤","瞺","硊","秽","穢","篲","絵","繪","绘","翙","翽","荟","蔧","蕙","薈","薉","蟪","詯","誨","諱","譓","譿","讳","诲","賄","贿","鐬","闠","阓","靧","頮","顪","颒","餯","𬤝","𬭬"],chuǎn:["僢","喘","舛","荈","踳"],"tiě jiàn":["僣"],sēng:["僧","鬙"],xiàn:["僩","僴","哯","垷","塪","姭","娊","宪","岘","峴","憲","撊","晛","橌","橺","涀","瀗","献","獻","现","現","県","睍","粯","糮","絤","綫","線","线","缐","羡","羨","腺","臔","臽","苋","莧","誢","豏","鋧","錎","限","陥","陷","霰","餡","馅","麲","鼸","𬀪","𪾢"],"yù jú":["僪"],"è wū":["僫"],"tóng zhuàng":["僮"],lǐn:["僯","凛","凜","廩","廪","懍","懔","撛","檁","檩","澟","癛","癝"],gù:["僱","凅","固","堌","崓","崮","故","梏","棝","牿","痼","祻","錮","锢","雇","顧","顾","鯝","鲴"],jiāng:["僵","壃","姜","橿","殭","江","畕","疅","礓","繮","缰","翞","茳","葁","薑","螀","螿","豇","韁","鱂","鳉"],mǐn:["僶","冺","刡","勄","悯","惽","愍","慜","憫","抿","敃","敏","敯","泯","潣","皿","笢","笽","簢","蠠","閔","閩","闵","闽","鰵","鳘","黽"],jìn:["僸","凚","噤","嚍","墐","壗","妗","嬧","搢","晉","晋","枃","殣","浕","浸","溍","濅","濜","烬","煡","燼","琎","瑨","璶","盡","祲","縉","缙","荩","藎","覲","觐","賮","贐","赆","近","进","進","靳","齽"],"jià jie":["價"],qiào:["僺","峭","帩","撬","殻","窍","竅","誚","诮","躈","陗","鞩","韒","髚"],pì:["僻","媲","嫓","屁","澼","甓","疈","譬","闢","鷿","鸊","䴙"],sài:["僿","簺","賽","赛"],"chán tǎn shàn":["儃"],"dāng dàng":["儅","当","闣"],xuān:["儇","喧","塇","媗","宣","愃","愋","揎","昍","暄","煊","煖","瑄","睻","矎","禤","箮","翧","翾","萱","萲","蓒","蕿","藼","蘐","蝖","蠉","諠","諼","譞","谖","軒","轩","鍹","駽","鰚","𫓶","𫍽"],"dān dàn":["儋","擔","瘅"],càn:["儏","澯","灿","燦","璨","粲","薒","謲"],"bīn bìn":["儐"],"án àn":["儑"],tái:["儓","坮","嬯","抬","擡","檯","炱","炲","籉","臺","薹","跆","邰","颱","鮐","鲐"],lán:["儖","兰","囒","婪","岚","嵐","幱","拦","攔","斓","斕","栏","欄","欗","澜","瀾","灆","灡","燣","燷","璼","篮","籃","籣","繿","葻","蓝","藍","蘫","蘭","褴","襕","襤","襴","襽","譋","讕","谰","躝","鑭","镧","闌","阑","韊","𬒗"],"nǐ yì ài yí":["儗"],méng:["儚","幪","曚","朦","橗","檬","氋","溕","濛","甍","甿","盟","礞","艨","莔","萌","蕄","虻","蝱","鄳","鄸","霿","靀","顭","饛","鯍","鸏","鹲","𫑡","㠓"],níng:["儜","凝","咛","嚀","嬣","柠","橣","檸","狞","獰","聍","聹","薴","鑏","鬡","鸋"],qióng:["儝","卭","宆","惸","憌","桏","橩","焪","焭","煢","熍","琼","瓊","睘","穷","穹","窮","竆","笻","筇","舼","茕","藑","藭","蛩","蛬","赹","跫","邛","銎","䓖"],liè:["儠","冽","列","劣","劽","埒","埓","姴","峛","巤","挒","捩","栵","洌","浖","烈","烮","煭","犣","猎","猟","獵","聗","脟","茢","蛚","趔","躐","迾","颲","鬛","鬣","鮤","鱲","鴷","䴕","𫚭"],kuǎng:["儣","夼","懭"],bào:["儤","勽","報","忁","报","抱","曓","爆","犦","菢","虣","蚫","豹","鉋","鑤","铇","骲","髱","鮑","鲍"],biāo:["儦","墂","幖","彪","标","標","滮","瀌","熛","爂","猋","瘭","磦","膘","臕","謤","贆","鏢","鑣","镖","镳","颮","颷","飆","飇","飈","飊","飑","飙","飚","驫","骉","髟"],zǎn:["儧","儹","噆","攅","昝","趱","趲"],háo:["儫","嗥","嘷","噑","嚎","壕","椃","毜","毫","濠","獆","獔","竓","籇","蚝","蠔","譹","豪"],qìng:["儬","凊","庆","慶","櫦","濪","碃","磬","罄","靘"],chèn:["儭","嚫","榇","櫬","疢","衬","襯","讖","谶","趁","趂","齓","齔","龀"],téng:["儯","幐","滕","漛","疼","籐","籘","縢","腾","藤","虅","螣","誊","謄","邆","駦","騰","驣","鰧","䲢"],"lǒng lóng lòng":["儱"],"chán chàn":["儳"],"ráng xiāng":["儴","勷"],"huì xié":["儶"],luó:["儸","攞","椤","欏","猡","玀","箩","籮","罗","羅","脶","腡","萝","蘿","螺","覼","逻","邏","鏍","鑼","锣","镙","饠","騾","驘","骡","鸁"],léi:["儽","嫘","檑","欙","瓃","畾","縲","纍","纝","缧","罍","羸","蔂","蘲","虆","轠","鐳","鑘","镭","雷","靁","鱩","鼺"],"nàng nāng":["儾"],"wù wū":["兀"],yǔn:["允","喗","夽","抎","殒","殞","狁","磒","荺","賱","鈗","阭","陨","隕","霣","馻","齫","齳"],zān:["兂","橵","簪","簮","糌","鐕","鐟","鵤"],yuán:["元","円","原","厡","厵","园","圆","圎","園","圓","垣","塬","媴","嫄","援","榞","榬","橼","櫞","沅","湲","源","溒","爰","猨","猿","笎","緣","縁","缘","羱","茒","薗","蝝","蝯","螈","袁","褤","謜","轅","辕","邍","邧","酛","鈨","鎱","騵","魭","鶢","鶰","黿","鼋","𫘪"],xiōng:["兄","兇","凶","匂","匈","哅","忷","恟","汹","洶","胷","胸","芎","訩","詾","讻"],chōng:["充","嘃","忡","憃","憧","摏","沖","浺","珫","罿","翀","舂","艟","茺","衝","蹖","㳘"],zhào:["兆","垗","旐","曌","枛","櫂","照","燳","狣","瞾","笊","罀","罩","羄","肁","肇","肈","詔","诏","赵","趙","鮡","𬶐"],"duì ruì yuè":["兊","兌","兑"],kè:["克","刻","勀","勊","堁","娔","客","恪","愙","氪","溘","碦","緙","缂","艐","衉","課","课","錁","锞","騍","骒"],tù:["兎","兔","堍","迌","鵵"],dǎng:["党","攩","欓","譡","讜","谠","黨","𣗋"],dōu:["兜","兠","唗","橷","篼","蔸"],huǎng:["兤","奛","幌","怳","恍","晄","炾","熀","縨","詤","謊","谎"],rù:["入","嗕","媷","扖","杁","洳","溽","縟","缛","蓐","褥","鳰"],nèi:["內","氝","氞","錗"],"yú shù":["兪"],"liù lù":["六"],han:["兯","爳"],tiān:["兲","天","婖","添","酟","靔","靝","黇"],"xīng xìng":["兴"],diǎn:["典","嚸","奌","婰","敟","椣","点","碘","蒧","蕇","踮","點"],"zī cí":["兹"],jiān:["兼","冿","囏","坚","堅","奸","姦","姧","尖","幵","惤","戋","戔","搛","椾","樫","櫼","歼","殱","殲","湔","瀐","瀸","煎","熞","熸","牋","瑊","睷","礛","礷","笺","箋","緘","縑","缄","缣","肩","艰","艱","菅","菺","葌","蒹","蔪","蕑","蕳","虃","譼","豜","鑯","雃","鞯","韀","韉","餰","馢","鰔","鰜","鰹","鲣","鳒","鵑","鵳","鶼","鹣","麉"],shòu:["兽","受","售","壽","夀","寿","授","狩","獣","獸","痩","瘦","綬","绶","膄"],jì:["兾","冀","剂","剤","劑","勣","坖","垍","塈","妓","季","寂","寄","廭","彑","徛","忌","悸","惎","懻","技","旡","既","旣","暨","暩","曁","梞","檕","檵","洎","漃","漈","瀱","痵","癠","禝","稩","稷","穄","穊","穧","紀","継","績","繋","繼","继","绩","罽","臮","芰","茍","茤","葪","蓟","蔇","薊","蘎","蘮","蘻","裚","襀","覬","觊","計","記","誋","计","记","跡","跽","蹟","迹","际","際","霁","霽","驥","骥","髻","鬾","魝","魥","鯚","鯽","鰶","鰿","鱀","鱭","鲚","鲫","鵋","鷑","齌","𪟝","𬶨","𬶭"],jiōng:["冂","冋","坰","埛","扃","蘏","蘔","駉","駫","𬳶"],mào:["冃","冐","媢","帽","愗","懋","暓","柕","楙","毷","瑁","皃","眊","瞀","耄","茂","萺","蝐","袤","覒","貌","貿","贸","鄚","鄮"],rǎn:["冄","冉","姌","媣","染","珃","苒","蒅","䎃"],"nèi nà":["内"],gāng:["冈","冮","刚","剛","堈","堽","岡","掆","摃","棡","牨","犅","疘","綱","纲","缸","罁","罡","肛","釭","鎠","㭎"],cè:["冊","册","厕","厠","夨","廁","恻","惻","憡","敇","测","測","笧","策","筞","筴","箣","荝","萗","萴","蓛"],guǎ:["冎","剐","剮","叧","寡"],"mào mò":["冒"],gòu:["冓","啂","坸","垢","够","夠","媾","彀","搆","撀","构","構","煹","覯","觏","訽","詬","诟","購","购","遘","雊"],xǔ:["冔","喣","暊","栩","珝","盨","糈","詡","諿","诩","鄦","醑"],mì:["冖","冪","嘧","塓","宻","密","峚","幂","幎","幦","怽","榓","樒","櫁","汨","淧","滵","漞","濗","熐","羃","蔤","蜜","覓","覔","覛","觅","謐","谧","鼏"],"yóu yín":["冘"],xiě:["写","冩","藛"],jūn:["军","君","均","桾","汮","皲","皸","皹","碅","莙","蚐","袀","覠","軍","鈞","銁","銞","鍕","钧","頵","鮶","鲪","麏"],mí:["冞","擟","瀰","爢","猕","獼","祢","禰","縻","蒾","藌","蘪","蘼","袮","詸","謎","迷","醚","醾","醿","釄","镾","鸍","麊","麋","麛"],"guān guàn":["冠","覌","観","觀","观"],měng:["冡","勐","懵","掹","猛","獴","艋","蜢","蠓","錳","锰","鯭","鼆"],zhǒng:["冢","塚","尰","歱","煄","瘇","肿","腫","踵"],zuì:["冣","嶵","晬","最","栬","槜","檇","檌","祽","絊","罪","蕞","辠","酔","酻","醉","錊"],yuān:["冤","剈","囦","嬽","寃","棩","淵","渁","渆","渊","渕","灁","眢","肙","葾","蒬","蜎","蜵","駌","鳶","鴛","鵷","鸢","鸳","鹓","鼘","鼝"],míng:["冥","名","明","暝","朙","榠","洺","溟","猽","眀","眳","瞑","茗","螟","覭","詺","鄍","銘","铭","鳴","鸣"],kòu:["冦","叩","宼","寇","扣","敂","滱","窛","筘","簆","蔲","蔻","釦","鷇"],tài:["冭","太","夳","忲","态","態","汰","汱","泰","溙","肽","舦","酞","鈦","钛"],"féng píng":["冯","馮"],"chōng chòng":["冲"],kuàng:["况","圹","壙","岲","懬","旷","昿","曠","框","況","爌","眖","眶","矿","砿","礦","穬","絋","絖","纊","纩","貺","贶","軦","邝","鄺","鉱","鋛","鑛","黋"],lěng:["冷"],pàn:["冸","判","叛","沜","泮","溿","炍","牉","畔","盼","聁","袢","襻","詊","鋬","鑻","頖","鵥"],fā:["冹","彂","沷","発","發"],xiǎn:["冼","尟","尠","崄","嶮","幰","攇","显","櫶","毨","灦","烍","燹","狝","猃","獫","獮","玁","禒","筅","箲","藓","蘚","蚬","蜆","譣","赻","跣","鍌","险","険","險","韅","顕","顯","㬎"],qià:["冾","圶","帢","恰","殎","洽","硈","胢","髂"],"jìng chēng":["净","凈","淨"],sōu:["凁","嗖","廀","廋","捜","搜","摉","溲","獀","艘","蒐","螋","鄋","醙","鎪","锼","颼","飕","餿","馊","騪"],měi:["凂","媄","媺","嬍","嵄","挴","毎","每","浼","渼","燘","美","躾","鎂","镁","黣"],tú:["凃","図","图","圖","圗","塗","屠","峹","嵞","庩","廜","徒","悇","揬","涂","瘏","筡","腯","荼","蒤","跿","途","酴","鈯","鍎","馟","駼","鵌","鶟","鷋","鷵","𬳿"],zhǔn:["准","凖","埻","準","𬘯"],"liáng liàng":["凉","涼","量"],diāo:["凋","刁","刟","叼","奝","弴","彫","汈","琱","碉","簓","虭","蛁","貂","錭","雕","鮉","鯛","鲷","鵰","鼦"],còu:["凑","湊","腠","輳","辏"],ái:["凒","啀","嘊","捱","溰","癌","皑","皚"],duó:["凙","剫","夺","奪","痥","踱","鈬","鐸","铎"],dú:["凟","匵","嬻","椟","櫝","殰","涜","牍","牘","犊","犢","独","獨","瓄","皾","裻","読","讀","讟","豄","贕","錖","鑟","韇","韣","韥","騳","髑","黩","黷"],"jǐ jī":["几"],fán:["凡","凢","凣","匥","墦","杋","柉","棥","樊","瀿","烦","煩","燔","璠","矾","礬","笲","籵","緐","羳","舤","舧","薠","蘩","蠜","襎","蹯","釩","鐇","鐢","钒","鷭","𫔍","𬸪"],jū:["凥","匊","娵","婮","居","崌","抅","挶","掬","梮","椐","檋","毩","毱","泃","涺","狙","琚","疽","砠","罝","腒","艍","蜛","裾","諊","跔","踘","躹","陱","雎","鞠","鞫","駒","驹","鮈","鴡","鶋","𬶋"],"chù chǔ":["処","处"],zhǐ:["凪","劧","咫","址","坧","帋","恉","扺","指","旨","枳","止","汦","沚","洔","淽","疻","砋","祉","秖","紙","纸","芷","藢","衹","襧","訨","趾","軹","轵","酯","阯","黹"],píng:["凭","凴","呯","坪","塀","岼","帡","帲","幈","平","慿","憑","枰","洴","焩","玶","瓶","甁","竮","箳","簈","缾","荓","萍","蓱","蚲","蛢","評","评","軿","輧","郱","鮃","鲆"],kǎi:["凯","凱","剀","剴","垲","塏","恺","愷","慨","暟","蒈","輆","鍇","鎧","铠","锴","闓","闿","颽"],gān:["凲","坩","尲","尴","尶","尷","柑","泔","漧","玕","甘","疳","矸","竿","筸","粓","肝","苷","迀","酐","魐"],"kǎn qiǎn":["凵"],tū:["凸","堗","嶀","捸","涋","湥","痜","禿","秃","突","葖","鋵","鵚","鼵","㻬"],"āo wā":["凹"],chū:["出","初","岀","摴","榋","樗","貙","齣","䢺","䝙"],dàng:["凼","圵","垱","壋","档","檔","氹","璗","瓽","盪","瞊","砀","碭","礑","簜","荡","菪","蕩","蘯","趤","逿","雼","𬍡"],hán:["函","凾","含","圅","娢","寒","崡","晗","梒","浛","涵","澏","焓","琀","甝","筨","蜬","邗","邯","鋡","韓","韩"],záo:["凿","鑿"],dāo:["刀","刂","忉","氘","舠","螩","釖","魛","鱽"],chuāng:["刅","摐","牎","牕","疮","瘡","窓","窗","窻"],"fēn fèn":["分"],"qiè qiē":["切"],kān:["刊","勘","堪","戡","栞","龕","龛"],cǔn:["刌","忖"],chú:["刍","厨","幮","廚","橱","櫉","櫥","滁","犓","篨","耡","芻","蒢","蒭","蜍","蟵","豠","趎","蹰","躇","躕","鉏","鋤","锄","除","雏","雛","鶵"],"huà huá":["划"],lí:["刕","剓","剺","劙","厘","喱","嚟","囄","嫠","孷","廲","悡","梨","梸","棃","漓","灕","犁","犂","狸","琍","璃","瓈","盠","睝","离","穲","竰","筣","篱","籬","糎","縭","缡","罹","艃","荲","菞","蓠","蔾","藜","蘺","蜊","蟍","蟸","蠫","褵","謧","貍","醨","鋫","錅","鏫","鑗","離","驪","骊","鯏","鯬","鱺","鲡","鵹","鸝","鹂","黎","黧","㰀"],yuè:["刖","嬳","岄","岳","嶽","恱","悅","悦","戉","抈","捳","月","樾","瀹","爚","玥","礿","禴","篗","籆","籥","籰","粤","粵","蘥","蚎","蚏","説","越","跀","跃","躍","軏","鈅","鉞","鑰","钺","閱","閲","阅","鸑","鸙","黦","龠","𫐄","𬸚"],liú:["刘","劉","嚠","媹","嵧","旈","旒","榴","橊","流","浏","瀏","琉","瑠","瑬","璢","畄","留","畱","疁","瘤","癅","硫","蒥","蓅","蟉","裗","鎏","鏐","鐂","镠","飀","飅","飗","駠","駵","騮","驑","骝","鰡","鶹","鹠","麍"],zé:["则","則","啧","嘖","嫧","帻","幘","択","樍","歵","沢","泎","溭","皟","瞔","矠","礋","箦","簀","舴","蔶","蠌","襗","謮","賾","赜","迮","鸅","齚","齰"],"chuàng chuāng":["创","創"],qù:["刞","厺","去","閴","闃","阒","麮","鼁"],"bié biè":["別","别"],"páo bào":["刨"],"chǎn chàn":["刬","剗","幝"],guā:["刮","劀","桰","歄","煱","瓜","胍","踻","颪","颳","騧","鴰","鸹"],gēng:["刯","庚","椩","浭","焿","畊","絚","羮","羹","耕","菮","賡","赓","鶊","鹒"],dào:["到","噵","悼","椡","檤","燾","瓙","盗","盜","稲","稻","纛","翿","艔","菿","衜","衟","軇","道"],chuàng:["刱","剏","剙","怆","愴"],kū:["刳","哭","圐","堀","枯","桍","矻","窟","跍","郀","骷","鮬"],duò:["刴","剁","墯","尮","惰","憜","挅","桗","舵","跥","跺","陊","陏","飿","饳","鵽"],"shuā shuà":["刷"],"quàn xuàn":["券"],"chà shā":["刹","剎"],"cì cī":["刺"],guì:["刽","刿","劊","劌","撌","攰","昋","桂","椢","槶","樻","櫃","猤","禬","筀","蓕","襘","貴","贵","跪","鐀","鑎","鞼","鱖","鱥"],lóu:["剅","娄","婁","廔","楼","樓","溇","漊","熡","耧","耬","艛","蒌","蔞","蝼","螻","謱","軁","遱","鞻","髅","髏","𪣻"],cuò:["剉","剒","厝","夎","挫","措","棤","莝","莡","蓌","逪","銼","錯","锉","错"],"xiāo xuē":["削"],"kēi kè":["剋","尅"],"là lá":["剌"],tī:["剔","梯","踢","銻","锑","鷈","鷉","䏲","䴘"],pōu:["剖"],wān:["剜","塆","壪","帵","弯","彎","湾","潫","灣","睕","蜿","豌"],"bāo bō":["剝","剥"],duō:["剟","咄","哆","嚉","多","夛","掇","毲","畓","裰","㙍"],qíng:["剠","勍","夝","情","擎","晴","暒","棾","樈","檠","氰","甠","硘","葝","黥"],"yǎn shàn":["剡"],"dū zhuó":["剢"],yān:["剦","嫣","崦","嶖","恹","懕","懨","樮","淊","淹","漹","烟","焉","焑","煙","珚","篶","胭","臙","菸","鄢","醃","閹","阉","黫"],huō:["剨","劐","吙","攉","秴","耠","锪","騞","𬴃"],shèng:["剩","剰","勝","圣","墭","嵊","晠","榺","橳","琞","聖","蕂","貹","賸"],"duān zhì":["剬"],wū:["剭","呜","嗚","圬","屋","巫","弙","杇","歍","汙","汚","污","洿","烏","窏","箼","螐","誈","誣","诬","邬","鄔","鎢","钨","鰞","鴮"],gē:["割","哥","圪","彁","戈","戓","戨","歌","滒","犵","肐","袼","謌","鎶","鴚","鴿","鸽"],"dá zhá":["剳"],chuán:["剶","暷","椽","篅","舡","舩","船","輲","遄"],"tuán zhuān":["剸","漙","篿"],"lù jiū":["剹"],pēng:["剻","匉","嘭","怦","恲","抨","梈","烹","砰","軯","駍"],piāo:["剽","勡","慓","旚","犥","翲","螵","飃","飄","飘","魒"],kōu:["剾","彄","抠","摳","眍","瞘","芤","𫸩"],"jiǎo chāo":["剿","劋","勦","摷"],qiāo:["劁","勪","墝","幧","敲","橇","毃","燆","硗","磽","繑","趬","跷","踍","蹺","蹻","郻","鄡","鄥","鍫","鍬","鐰","锹","頝"],"huá huà":["劃"],"zhā zhá":["劄"],"pī pǐ":["劈","悂"],tāng:["劏","嘡","羰","薚","蝪","蹚","鞺","鼞"],chán:["劖","嚵","壥","婵","嬋","巉","廛","棎","毚","湹","潹","潺","澶","瀍","瀺","煘","獑","磛","緾","纏","纒","缠","艬","蝉","蟐","蟬","蟾","誗","讒","谗","躔","鄽","酁","鋋","鑱","镵","饞","馋"],zuān:["劗","躜","躦","鉆","鑚"],mó:["劘","嫫","嬤","嬷","尛","摹","擵","橅","糢","膜","藦","蘑","謨","謩","谟","饃","饝","馍","髍","魔","魹"],zhú:["劚","斸","曯","欘","灟","炢","烛","燭","爥","瘃","竹","笁","笜","舳","茿","蓫","蠋","蠾","躅","逐","逫","钃","鱁"],quàn:["劝","勧","勸","牶","韏"],"jìn jìng":["劤","劲","勁"],kēng:["劥","坑","牼","硁","硜","誙","銵","鍞","鏗","铿","阬"],"xié liè":["劦"],"zhù chú":["助"],nǔ:["努","弩","砮","胬"],shào:["劭","卲","哨","潲","紹","綤","绍","袑","邵"],miǎo:["劰","杪","淼","渺","眇","秒","篎","緲","缈","藐","邈"],kǒu:["劶","口"],wā:["劸","娲","媧","屲","挖","攨","洼","溛","漥","瓾","畖","穵","窊","窪","蛙","韈","鼃"],kuāng:["劻","匡","匩","哐","恇","洭","筐","筺","誆","诓","軭","邼"],hé:["劾","咊","啝","姀","峆","敆","曷","柇","楁","毼","河","涸","渮","澕","熆","皬","盇","盉","盍","盒","禾","篕","籺","粭","翮","菏","萂","覈","訸","詥","郃","釛","鉌","鑉","閡","闔","阂","阖","鞨","頜","餄","饸","魺","鹖","麧","齕","龁","龢","𬌗"],gào:["勂","吿","告","峼","祮","祰","禞","筶","誥","诰","郜","鋯","锆"],"bó bèi":["勃"],láng:["勆","嫏","廊","斏","桹","榔","樃","欴","狼","琅","瑯","硠","稂","艆","蓈","蜋","螂","躴","郒","郞","鋃","鎯","锒"],xūn:["勋","勛","勲","勳","嚑","坃","埙","塤","壎","壦","曛","燻","獯","矄","纁","臐","薫","薰","蘍","醺","𫄸"],"juàn juān":["勌","瓹"],"lè lēi":["勒"],kài:["勓","炌","烗","鎎"],"wěng yǎng":["勜"],qín:["勤","嗪","噙","嶜","庈","懃","懄","捦","擒","斳","檎","澿","珡","琴","琹","瘽","禽","秦","耹","芩","芹","菦","螓","蠄","鈙","鈫","雂","靲","鳹","鵭"],jiàng:["勥","匞","匠","嵹","弜","弶","摾","櫤","洚","滰","犟","糡","糨","絳","绛","謽","酱","醤","醬"],fān:["勫","嬏","帆","幡","忛","憣","旙","旛","繙","翻","藩","轓","颿","飜","鱕"],juān:["勬","姢","娟","捐","涓","蠲","裐","鎸","鐫","镌","鹃"],"tóng dòng":["勭","烔","燑","狪"],lǜ:["勴","垏","嵂","律","慮","氯","滤","濾","爈","箻","綠","繂","膟","葎","虑","鑢"],chè:["勶","坼","彻","徹","掣","撤","澈","烢","爡","瞮","硩","聅","迠","頙","㬚"],sháo:["勺","玿","韶"],"gōu gòu":["勾"],cōng:["匆","囪","囱","忩","怱","悤","暰","樬","漗","瑽","璁","瞛","篵","繱","聡","聦","聪","聰","苁","茐","葱","蓯","蔥","蟌","鍯","鏓","鏦","騘","驄","骢"],"táo yáo":["匋","陶"],páo:["匏","咆","垉","庖","爮","狍","袍","褜","軳","鞄","麅"],dá:["匒","妲","怛","炟","燵","畣","笪","羍","荙","薘","蟽","詚","达","迏","迖","迚","逹","達","鐽","靼","鞑","韃","龖","龘","𫟼"],"huà huā":["化"],"běi bèi":["北"],nǎo:["匘","垴","堖","嫐","恼","悩","惱","瑙","碯","脑","脳","腦"],"chí shi":["匙"],fāng:["匚","堏","方","淓","牥","芳","邡","鈁","錺","钫","鴋"],zā:["匝","咂","帀","沞","臜","臢","迊","鉔","魳"],qiè:["匧","厒","妾","怯","悏","惬","愜","挈","穕","窃","竊","笡","箧","篋","籡","踥","鍥","锲","鯜"],"zāng cáng":["匨"],fěi:["匪","奜","悱","棐","榧","篚","翡","蕜","誹","诽"],"kuì guì":["匮","匱"],suǎn:["匴"],pǐ:["匹","噽","嚭","圮","庀","痞","癖","脴","苉","銢","鴄"],"qū ōu":["区","區"],"kē qià":["匼"],"yǎn yàn":["匽","棪"],biǎn:["匾","惼","揙","碥","稨","窆","藊","褊","貶","贬","鴘"],nì:["匿","堄","嫟","嬺","惄","愵","昵","暱","氼","眤","睨","縌","胒","腻","膩","逆","𨺙"],niàn:["卄","唸","埝","廿","念","惗","艌"],sà:["卅","櫒","脎","萨","蕯","薩","鈒","隡","颯","飒","馺"],zú:["卆","哫","崪","族","箤","足","踤","镞"],shēng:["升","呏","声","斘","昇","曻","枡","殅","泩","湦","焺","牲","珄","生","甥","竔","笙","聲","鉎","鍟","阩","陞","陹","鵿","鼪"],wàn:["卍","卐","忨","杤","瞣","脕","腕","萬","蟃","贎","輐","錽","𬇕"],"huá huà huā":["华","華"],bēi:["卑","悲","揹","杯","桮","盃","碑","藣","鵯","鹎"],"zú cù":["卒"],"dān shàn chán":["单","單"],"nán nā":["南"],"shuài lǜ":["卛"],"bǔ bo pú":["卜"],"kuàng guàn":["卝"],biàn:["卞","变","変","峅","弁","徧","忭","抃","昪","汳","汴","玣","艑","苄","覍","諚","變","辡","辧","辨","辩","辫","辮","辯","遍","釆","𨚕"],bǔ:["卟","哺","捕","补","補","鸔","𬷕"],"zhàn zhān":["占","覱"],"kǎ qiǎ":["卡"],lú:["卢","嚧","垆","壚","庐","廬","曥","枦","栌","櫨","泸","瀘","炉","爐","獹","玈","瓐","盧","矑","籚","纑","罏","胪","臚","舮","舻","艫","芦","蘆","蠦","轤","轳","鈩","鑪","顱","颅","馿","髗","魲","鱸","鲈","鸕","鸬","黸","𬬻"],lǔ:["卤","塷","掳","擄","樐","橹","櫓","氌","滷","澛","瀂","硵","磠","穞","艣","艪","蓾","虏","虜","鏀","鐪","鑥","镥","魯","鲁","鹵"],guà:["卦","啩","挂","掛","罣","褂","詿","诖"],"áng yǎng":["卬"],yìn:["印","垽","堷","廕","慭","憖","憗","懚","洕","湚","猌","癊","胤","茚","酳","鮣","䲟"],què:["却","卻","塙","崅","悫","愨","慤","搉","榷","燩","琷","皵","确","確","礭","闋","阕","鵲","鹊","𬒈"],luǎn:["卵"],"juàn juǎn":["卷","巻"],"chǎng ān hàn":["厂"],"wěi yán":["厃"],tīng:["厅","厛","听","庁","廰","廳","汀","烃","烴","綎","耓","聴","聼","聽","鞓","𬘩"],"zhé zhái":["厇"],"hàn àn":["厈","屽"],yǎ:["厊","唖","庌","痖","瘂","蕥"],shè:["厍","厙","弽","慑","慴","懾","摂","欇","涉","涻","渉","滠","灄","社","舎","蔎","蠂","設","设","赦","騇","麝"],dǐ:["厎","呧","坘","弤","抵","拞","掋","牴","砥","菧","觝","詆","诋","軧","邸","阺","骶","鯳"],"zhǎ zhǎi":["厏"],páng:["厐","嫎","庞","徬","舽","螃","逄","鰟","鳑","龎","龐"],"zhì shī":["厔"],máng:["厖","吂","哤","娏","忙","恾","杗","杧","汒","浝","牻","痝","盲","硭","笀","芒","茫","蘉","邙","釯","鋩","铓","駹"],zuī:["厜","樶","纗","蟕"],"shà xià":["厦","廈"],áo:["厫","嗷","嗸","廒","敖","滶","獒","獓","璈","翱","翶","翺","聱","蔜","螯","謷","謸","遨","鏖","隞","鰲","鳌","鷔","鼇"],"lán qiān":["厱"],"sī mǒu":["厶"],"gōng hóng":["厷"],"lín miǎo":["厸"],"qiú róu":["厹"],dū:["厾","嘟","督","醏"],"xiàn xuán":["县","縣"],"cān shēn cēn sān":["参","參","叄","叅"],"ài yǐ":["叆"],"chā chà chǎ chá":["叉"],shuāng:["双","孀","孇","欆","礵","艭","雙","霜","騻","驦","骦","鷞","鸘","鹴"],shōu:["収","收"],guái:["叏"],bá:["叐","妭","抜","拔","炦","癹","胈","茇","菝","詙","跋","軷","魃","鼥"],"fā fà":["发"],"zhuó yǐ lì jué":["叕"],qǔ:["取","娶","竬","蝺","詓","齲","龋"],"jiǎ xiá":["叚","徦"],"wèi yù":["叞","尉","蔚"],dié:["叠","垤","堞","峌","幉","恎","惵","戜","曡","殜","氎","牃","牒","瓞","畳","疂","疉","疊","碟","絰","绖","耊","耋","胅","艓","苵","蜨","蝶","褋","詄","諜","谍","跮","蹀","迭","镻","鰈","鲽","鴩","𫶇"],ruì:["叡","枘","汭","瑞","睿","芮","蚋","蜹","銳","鋭","锐"],"jù gōu":["句"],lìng:["另","呤","炩","蘦"],"dāo dáo tāo":["叨"],"zhī zhǐ":["只"],jiào:["叫","呌","嘂","嘦","噍","嬓","斍","斠","滘","漖","獥","珓","皭","窖","藠","訆","譥","趭","較","轎","轿","较","酵","醮","釂"],"zhào shào":["召"],"kě kè":["可"],"tái tāi":["台","苔"],pǒ:["叵","尀","笸","箥","鉕","钷","駊"],"yè xié":["叶"],"hào háo":["号"],tàn:["叹","嘆","探","歎","湠","炭","碳","舕"],"hōng hóng":["叿"],miē:["吀","咩","哶","孭"],"xū yū yù":["吁"],chī:["吃","哧","喫","嗤","噄","妛","媸","彨","彲","摛","攡","殦","瓻","痴","癡","眵","瞝","笞","粚","胵","蚩","螭","訵","魑","鴟","鵄","鸱","黐","齝","𫄨"],"xuān sòng":["吅"],yāo:["吆","喓","夭","妖","幺","楆","殀","祅","腰","葽","訞","邀","鴁","鴢","㙘"],zǐ:["吇","姉","姊","子","杍","梓","榟","橴","滓","矷","秭","笫","籽","紫","耔","虸","訿","釨"],"hé gě":["合","鲄"],"cùn dòu":["吋"],"tóng tòng":["同"],"tǔ tù":["吐","唋"],"zhà zhā":["吒","奓"],"xià hè":["吓"],"ā yā":["吖"],"ma má mǎ":["吗"],lìn:["吝","恡","悋","橉","焛","甐","膦","蔺","藺","賃","赁","蹸","躏","躙","躪","轥","閵"],tūn:["吞","暾","朜","焞"],"bǐ pǐ":["吡"],qìn:["吢","吣","唚","抋","揿","搇","撳","沁","瀙","菣","藽"],"jiè gè":["吤"],"fǒu pǐ":["否"],"ba bā":["吧"],dūn:["吨","噸","墩","墪","惇","撉","撴","犜","獤","礅","蜳","蹾","驐"],fēn:["吩","帉","昐","朆","梤","棻","氛","竕","紛","纷","翂","芬","衯","訜","躮","酚","鈖","雰","餴","饙","馚"],"é huā":["吪"],"kēng háng":["吭","妔"],shǔn:["吮"],"zhī zī":["吱"],"yǐn shěn":["吲"],wú:["吳","吴","呉","墲","峿","梧","橆","毋","洖","浯","無","珸","璑","祦","芜","茣","莁","蕪","蜈","蟱","譕","郚","鋙","铻","鯃","鵐","鷡","鹀","鼯"],"chǎo chāo":["吵"],"nà nè":["吶"],"xuè chuò jué":["吷"],chuī:["吹","炊","龡"],"dōu rú":["吺"],hǒu:["吼","犼"],"hōng hǒu ōu":["吽"],"wú yù":["吾"],"ya yā":["呀"],"è e":["呃"],dāi:["呆","懛","獃"],"mèn qǐ":["呇"],hōng:["呍","嚝","揈","灴","烘","焢","硡","薨","訇","谾","軣","輷","轟","轰","鍧"],nà:["呐","捺","笝","納","纳","肭","蒳","衲","豽","貀","軜","郍","鈉","钠","靹","魶"],"tūn tiān":["呑"],"fǔ ḿ":["呒","嘸"],"dāi tǎi":["呔"],"ǒu ōu òu":["呕"],"bài bei":["呗"],"yuán yún yùn":["员","員"],guō:["呙","啯","嘓","埚","堝","墎","崞","彉","彍","懖","猓","瘑","聒","蝈","蟈","郭","鈛","鍋","锅"],"huá qì":["呚"],"qiàng qiāng":["呛","跄"],shī:["呞","失","尸","屍","师","師","施","浉","湤","湿","溮","溼","濕","狮","獅","瑡","絁","葹","蒒","蓍","虱","蝨","褷","襹","詩","诗","邿","釃","鉇","鍦","鯴","鰤","鲺","鳲","鳾","鶳","鸤","䴓","𫚕"],juǎn:["呟","埍","臇","菤","錈","锩"],pěn:["呠","翸"],"wěn mǐn":["呡"],"ne ní":["呢"],"ḿ m̀ móu":["呣"],rán:["呥","嘫","然","燃","繎","肰","蚦","蚺","衻","袇","袡","髥","髯"],"tiè chè":["呫"],"qì zhī":["呮"],"zǐ cī":["呰"],"guā gū guǎ":["呱"],"cī zī":["呲"],"hǒu xǔ gòu":["呴"],"hē ā á ǎ à a":["呵"],náo:["呶","夒","峱","嶩","巎","挠","撓","猱","硇","蛲","蟯","詉","譊","鐃","铙"],"xiā gā":["呷"],pēi:["呸","怌","肧","胚","衃","醅"],"háo xiāo":["呺"],mìng:["命","掵"],"dá dàn":["呾"],"zuǐ jǔ":["咀"],"xián gān":["咁"],pǒu:["咅","哣","犃"],"yǎng yāng":["咉"],"zǎ zé zhā":["咋"],"hé hè huó huò hú":["和"],hāi:["咍"],dā:["咑","哒","噠","墶","搭","撘","耷","褡","鎝","𨱏"],"kǎ kā":["咔"],gū:["咕","唂","唃","姑","嫴","孤","巬","巭","柧","橭","沽","泒","稒","笟","箍","箛","篐","罛","苽","菇","菰","蓇","觚","軱","軲","轱","辜","酤","鈲","鮕","鴣","鸪"],"kā gā":["咖"],zuo:["咗"],lóng:["咙","嚨","嶐","巃","巄","昽","曨","朧","栊","槞","櫳","湰","滝","漋","爖","珑","瓏","癃","眬","矓","砻","礱","礲","窿","竜","聋","聾","胧","茏","蘢","蠪","蠬","襱","豅","鏧","鑨","霳","靇","驡","鸗","龍","龒","龙"],"xiàn xián":["咞"],qì:["咠","唭","噐","器","夡","弃","憇","憩","暣","棄","欫","气","気","氣","汔","汽","泣","湆","湇","炁","甈","盵","矵","碛","碶","磜","磧","罊","芞","葺","藒","蟿","訖","讫","迄","鐑"],"xì dié":["咥"],"liē liě lié lie":["咧"],zī:["咨","嗞","姕","姿","孜","孳","孶","崰","嵫","栥","椔","淄","湽","滋","澬","玆","禌","秶","粢","紎","緇","緕","纃","缁","茊","茲","葘","諮","谘","貲","資","赀","资","赼","趑","趦","輜","輺","辎","鄑","鈭","錙","鍿","鎡","锱","镃","頾","頿","髭","鯔","鰦","鲻","鶅","鼒","齍","齜","龇"],mī:["咪"],"jī xī qià":["咭"],"gē luò kǎ lo":["咯"],"shù xún":["咰"],"zán zá zǎ zan":["咱"],"hāi ké":["咳"],huī:["咴","噅","噕","婎","媈","幑","徽","恢","拻","挥","揮","晖","暉","楎","洃","瀈","灰","灳","烣","睳","禈","翚","翬","蘳","袆","褘","詼","诙","豗","輝","辉","鰴","麾","㧑"],"huài shì":["咶"],táo:["咷","啕","桃","檮","洮","淘","祹","綯","绹","萄","蜪","裪","迯","逃","醄","鋾","鞀","鞉","饀","駣","騊","鼗","𫘦"],xián:["咸","啣","娴","娹","婱","嫌","嫺","嫻","弦","挦","撏","涎","湺","澖","甉","痫","癇","癎","絃","胘","舷","藖","蚿","蛝","衔","衘","誸","諴","賢","贒","贤","輱","醎","銜","鑦","閑","闲","鷳","鷴","鷼","鹇","鹹","麙","𫍯"],"è àn":["咹"],"xuān xuǎn":["咺","烜"],"wāi hé wǒ guǎ guō":["咼"],"yàn yè yān":["咽"],āi:["哀","哎","埃","溾","銰","鎄","锿"],pǐn:["品","榀"],shěn:["哂","婶","嬸","审","宷","審","弞","曋","渖","瀋","瞫","矤","矧","覾","訠","諗","讅","谂","谉","邥","頣","魫"],"hǒng hōng hòng":["哄"],"wā wa":["哇"],"hā hǎ hà":["哈"],zāi:["哉","栽","渽","溨","災","灾","烖","睵","賳"],"dì diè":["哋"],pài:["哌","沠","派","渒","湃","蒎","鎃"],"gén hěn":["哏"],"yǎ yā":["哑","雅"],"yuě huì":["哕","噦"],nián:["哖","年","秊","秥","鮎","鯰","鲇","鲶","鵇","黏"],"huá huā":["哗","嘩"],"jì jiē zhāi":["哜","嚌"],mōu:["哞"],"yō yo":["哟","喲"],lòng:["哢","梇","贚"],"ò ó é":["哦"],"lī lǐ li":["哩"],"nǎ na nǎi né něi":["哪"],hè:["哬","垎","壑","寉","惒","焃","煂","燺","爀","癋","碋","翯","褐","謞","賀","贺","赫","靍","靎","靏","鶴","鸖","鹤"],"bō pò bā":["哱"],zhé:["哲","啠","喆","嚞","埑","悊","摺","晢","晣","歽","矺","砓","磔","籷","粍","虴","蛰","蟄","袩","詟","謫","謺","讁","讋","谪","輒","輙","轍","辄","辙","鮿"],"liàng láng":["哴"],"liè lǜ":["哷"],hān:["哻","憨","蚶","谽","酣","頇","顸","馠","魽","鼾"],"hēng hng":["哼"],gěng:["哽","埂","峺","挭","梗","綆","绠","耿","莄","郠","骾","鯁","鲠","𬒔"],"chuò yuè":["哾"],"gě jiā":["哿"],"bei bài":["唄"],"hán hàn":["唅"],chún:["唇","浱","湻","滣","漘","犉","純","纯","脣","莼","蒓","蓴","醇","醕","錞","陙","鯙","鶉","鹑","𬭚"],"ài āi":["唉"],"jiá qiǎn":["唊"],"yán dàn xián":["唌"],chē:["唓","砗","硨","莗","蛼"],"wú ńg ń":["唔"],zào:["唕","唣","噪","慥","梍","灶","煰","燥","皁","皂","竃","竈","簉","艁","譟","趮","躁","造","𥖨"],dí:["唙","啇","嘀","嚁","嫡","廸","敌","敵","梑","涤","滌","狄","笛","籴","糴","苖","荻","蔋","蔐","藡","覿","觌","豴","迪","靮","頔","馰","髢","鸐","𬱖"],"gòng hǒng gǒng":["唝","嗊"],dóu:["唞"],"lào láo":["唠","嘮","憦"],huàn:["唤","喚","奂","奐","宦","嵈","幻","患","愌","换","換","擐","攌","梙","槵","浣","涣","渙","漶","澣","烉","焕","煥","瑍","痪","瘓","睆","肒","藧","豢","轘","逭","鯇","鯶","鰀","鲩"],léng:["唥","塄","楞","碐","薐"],"wō wěi":["唩"],fěng:["唪","覂","諷","讽"],"yín jìn":["唫"],"hǔ xià":["唬"],wéi:["唯","围","圍","壝","峗","峞","嵬","帏","帷","幃","惟","桅","沩","洈","涠","湋","溈","潍","潙","潿","濰","犩","矀","維","维","蓶","覹","违","違","鄬","醀","鍏","闈","闱","韋","韦","鮠","𣲗","𬶏"],shuā:["唰"],chàng:["唱","怅","悵","暢","焻","畅","畼","誯","韔","鬯"],"ér wā":["唲"],qiàng:["唴","炝","熗","羻"],yō:["唷"],yū:["唹","淤","瘀","盓","箊","紆","纡","込","迂","迃","陓"],lài:["唻","濑","瀨","瀬","癞","癩","睐","睞","籁","籟","藾","賚","賴","赉","赖","頼","顂","鵣"],tuò:["唾","嶞","柝","毤","毻","箨","籜","萚","蘀","跅"],"zhōu zhāo tiào":["啁"],kěn:["啃","垦","墾","恳","懇","肎","肯","肻","豤","錹"],"zhuó zhào":["啅","濯"],"hēng hèng":["啈","悙"],"lín lán":["啉"],"a ā á ǎ à":["啊"],qiāng:["啌","嗴","嶈","戕","摤","斨","枪","槍","溬","牄","猐","獇","羌","羗","腔","蜣","謒","鏘","锖","锵"],"tūn zhūn xiāng duǐ":["啍"],wèn:["問","妏","揾","搵","璺","问","顐"],"cuì qi":["啐"],"dié shà jié tì":["啑"],"yuē wā":["啘"],"zǐ cǐ":["啙"],"bǐ tú":["啚"],"chuò chuài":["啜"],"yǎ yā è":["啞"],fēi:["啡","婓","婔","扉","暃","渄","猆","緋","绯","裶","霏","非","靟","飛","飝","飞","餥","馡","騑","騛","鯡","鲱","𬴂"],pí:["啤","壀","枇","毗","毘","焷","琵","疲","皮","篺","罴","羆","脾","腗","膍","蚍","蚽","蜱","螷","蠯","豼","貔","郫","鈹","阰","陴","隦","魮","鮍","鲏","鵧","鼙"],shá:["啥"],"lā la":["啦"],"yīng qíng":["啨"],pā:["啪","妑","舥","葩","趴"],"zhě shì":["啫"],sè:["啬","嗇","懎","擌","栜","歮","涩","渋","澀","澁","濇","濏","瀒","瑟","璱","瘷","穑","穡","穯","繬","譅","轖","銫","鏼","铯","飋"],niè:["啮","嗫","噛","嚙","囁","囓","圼","孼","孽","嵲","嶭","巕","帇","敜","枿","槷","櫱","涅","湼","痆","篞","籋","糱","糵","聂","聶","臬","臲","蘖","蠥","讘","踂","踗","踙","蹑","躡","錜","鎳","鑈","鑷","钀","镊","镍","闑","陧","隉","顳","颞","齧","𫔶"],"luō luó luo":["啰","囉"],"tān chǎn tuō":["啴"],bo:["啵","蔔"],dìng:["啶","定","椗","矴","碇","碠","磸","聢","腚","萣","蝊","訂","订","錠","锭","顁","飣","饤"],lāng:["啷"],"án ān":["啽"],kā:["喀","擖"],"yóng yú":["喁"],"lā lá lǎ":["喇"],jiē:["喈","喼","嗟","堦","媘","接","掲","擑","湝","煯","疖","痎","癤","皆","秸","稭","脻","蝔","街","謯","阶","階","鞂","鶛"],hóu:["喉","帿","猴","瘊","睺","篌","糇","翭","葔","鄇","鍭","餱","骺","鯸","𬭤"],"dié zhá":["喋"],wāi:["喎","歪","竵"],"nuò rě":["喏"],"xù huò guó":["喐"],zán:["喒"],"wō ō":["喔"],hú:["喖","嘝","囫","壶","壷","壺","媩","弧","搰","斛","楜","槲","湖","瀫","焀","煳","狐","猢","瑚","瓳","箶","絗","縠","胡","葫","蔛","蝴","螜","衚","觳","醐","鍸","頶","餬","鬍","魱","鰗","鵠","鶘","鶦","鹕"],"huàn yuán xuǎn hé":["喛"],xǐ:["喜","囍","壐","屣","徙","憙","枲","橲","歖","漇","玺","璽","矖","禧","縰","葈","葸","蓰","蟢","謑","蹝","躧","鈢","鉨","鉩","鱚","𬭳","𬶮"],"hē hè yè":["喝"],kuì:["喟","嘳","媿","嬇","愦","愧","憒","篑","簣","籄","聩","聭","聵","膭","蕢","謉","餽","饋","馈"],"zhǒng chuáng":["喠"],"wéi wèi":["喡","為","爲"],"duó zhà":["喥"],"sāng sàng":["喪"],"qiáo jiāo":["喬"],"pèn bēn":["喯"],"cān sūn qī":["喰"],"zhā chā":["喳"],miāo:["喵"],"pēn pèn":["喷"],kuí:["喹","夔","奎","巙","戣","揆","晆","暌","楏","楑","櫆","犪","睽","葵","藈","蘷","虁","蝰","躨","逵","鄈","鍨","鍷","頯","馗","騤","骙","魁"],"lou lóu":["喽"],"zào qiāo":["喿"],"hè xiāo xiào hù":["嗃"],"á shà":["嗄"],xiù:["嗅","岫","峀","溴","珛","琇","璓","秀","綉","繍","繡","绣","螑","袖","褎","褏","銹","鏥","鏽","锈","齅"],"qiāng qiàng":["嗆","戗","戧","蹌","蹡"],"ài yì":["嗌","艾"],"má mǎ ma":["嗎"],"kè kē":["嗑"],"dā tà":["嗒","鎉"],sǎng:["嗓","搡","磉","褬","鎟","顙","颡"],chēn:["嗔","抻","琛","瞋","諃","謓","賝","郴","𬘭"],"wā gǔ":["嗗"],"pǎng bēng":["嗙"],"xián qiǎn qiān":["嗛"],lào:["嗠","嫪","橯","涝","澇","耢","耮","躼","軂","酪"],wēng:["嗡","翁","聬","螉","鎓","鶲","鹟","𬭩"],wà:["嗢","腽","膃","袜","襪","韤"],"hēi hāi":["嗨"],hē:["嗬","欱","蠚","訶","诃"],zi:["嗭"],sǎi:["嗮"],"ǹg ńg ňg":["嗯"],gě:["嗰","舸"],ná:["嗱","拏","拿","鎿","镎"],diǎ:["嗲"],"ài ǎi āi":["嗳"],tōng:["嗵","樋","炵","蓪"],"zuī suī":["嗺"],"zhē zhè zhù zhe":["嗻"],mò:["嗼","圽","塻","墨","妺","嫼","寞","帞","昩","末","枺","歿","殁","沫","漠","爅","獏","瘼","皌","眽","眿","瞐","瞙","砞","礳","秣","絈","纆","耱","茉","莈","蓦","蛨","蟔","貃","貊","貘","銆","鏌","镆","陌","靺","驀","魩","默","黙","𬙊"],sòu:["嗽","瘶"],tǎn:["嗿","坦","忐","憳","憻","暺","毯","璮","菼","袒","襢","醓","鉭","钽"],"jiào dǎo":["嘄"],"kǎi gě":["嘅"],"shān càn":["嘇"],cáo:["嘈","嶆","曹","曺","槽","漕","艚","蓸","螬","褿","鏪","𥕢"],piào:["嘌","徱","蔈","驃"],"lóu lou":["嘍"],gǎ:["尕","玍"],"gǔ jiǎ":["嘏"],"jiāo xiāo":["嘐"],"xū shī":["嘘","噓"],pó:["嘙","嚩","婆","櫇","皤","鄱"],"dē dēi":["嘚"],"ma má":["嘛"],"lē lei":["嘞"],"gā gá gǎ":["嘠"],sāi:["嘥","噻","毢","腮","顋","鰓"],"zuō chuài":["嘬"],"cháo zhāo":["嘲","朝","鼂"],zuǐ:["嘴","噿","嶊","璻"],"qiáo qiào":["嘺","翹","谯"],"chù xù shòu":["嘼"],"tān chǎn":["嘽"],"dàn tán":["嘾","弾","彈","惔","澹"],"hēi mò":["嘿"],ě:["噁","砨","頋","騀","鵈"],"fān bo":["噃"],chuáng:["噇","床","牀"],"cù zā hé":["噈"],"tūn kuò":["噋"],"cēng chēng":["噌"],dēng:["噔","嬁","灯","燈","璒","登","竳","簦","艠","豋"],pū:["噗","扑","撲","攴","攵","潽","炇","陠"],juē:["噘","屩","屫","撧"],lū:["噜","嚕","撸","擼","謢"],zhān:["噡","岾","惉","旃","旜","枬","栴","毡","氈","氊","沾","瞻","薝","蛅","詀","詹","譫","谵","趈","邅","閚","霑","飦","饘","驙","魙","鱣","鸇","鹯","𫗴"],ō:["噢"],"zhòu zhuó":["噣"],"jiào qiào chī":["噭"],yuàn:["噮","妴","怨","愿","掾","瑗","禐","苑","衏","裫","褑","院","願"],"ǎi ài āi":["噯"],"yōng yǒng":["噰","澭"],"jué xué":["噱"],"pēn pèn fèn":["噴"],gá:["噶","尜","釓","錷","钆"],"xīn hěn hèn":["噷"],dāng:["噹","澢","珰","璫","筜","簹","艡","蟷","裆","襠"],làn:["嚂","滥","濫","烂","燗","爁","爛","爤","瓓","糷","钄"],tà:["嚃","嚺","崉","挞","搨","撻","榻","橽","毾","涾","澾","濌","禢","粏","誻","譶","蹋","蹹","躂","躢","遝","錔","闒","闥","闼","阘","鞜","鞳"],"huō huò ǒ":["嚄"],hāo:["嚆","茠","蒿","薅"],"hè xià":["嚇"],"xiù pì":["嚊"],"zhōu chóu":["嚋","盩","诪"],mē:["嚒"],"chā cā":["嚓"],"bó pào bào":["嚗"],"me mèi mò":["嚜"],"xié hái":["嚡"],"áo xiāo":["嚣"],mō:["嚤","摸"],pín:["嚬","娦","嫔","嬪","玭","矉","薲","蠙","貧","贫","顰","颦","𬞟"],mè:["嚰","濹"],"rǎng rāng":["嚷"],lá:["嚹","旯"],"jiáo jué jiào":["嚼"],chuò:["嚽","娖","擉","歠","涰","磭","踀","輟","辍","辵","辶","酫","鑡","餟","齪","龊"],"huān huàn":["嚾"],"zá cà":["囃"],chài:["囆","虿","蠆","袃","訍"],"náng nāng":["囊"],"zá zàn cān":["囋"],sū:["囌","櫯","甦","稣","穌","窣","蘇","蘓","酥","鯂"],zèng:["囎","熷","甑","贈","赠","鋥","锃"],"zá niè yàn":["囐"],nāng:["囔"],"luó luō luo":["囖"],"wéi guó":["囗"],huí:["囘","回","囬","廻","廽","恛","洄","痐","茴","蚘","蛔","蛕","蜖","迴","逥","鮰"],nín:["囜","您","脌"],"jiǎn nān":["囝"],nān:["囡"],tuán:["团","団","團","慱","抟","摶","檲","糰","鏄","鷒","鷻"],"tún dùn":["囤","坉"],guó:["囯","囶","囻","国","圀","國","帼","幗","慖","摑","漍","聝","腘","膕","蔮","虢","馘","𬇹"],kùn:["困","涃","睏"],"wéi tōng":["囲"],qūn:["囷","夋","逡"],rì:["囸","日","衵","鈤","馹","驲"],tāi:["囼","孡","胎"],pǔ:["圃","圑","擈","普","暜","樸","檏","氆","浦","溥","烳","諩","譜","谱","蹼","鐠","镨"],"quān juàn juān":["圈","圏"],"chuí chuán":["圌"],tuǎn:["圕","畽","疃"],lüè:["圙","掠","略","畧","稤","鋝","鋢","锊","䂮"],"huán yuán":["圜"],luán:["圝","圞","奱","娈","孌","孪","孿","峦","巒","挛","攣","曫","栾","欒","滦","灤","癴","癵","羉","脔","臠","虊","銮","鑾","鵉","鸞","鸾"],tǔ:["土","圡","釷","钍"],"xū wéi":["圩"],"dì de":["地","嶳"],"qiān sú":["圱"],zhèn:["圳","塦","挋","振","朕","栚","甽","眹","紖","絼","纼","誫","賑","赈","鋴","鎭","鎮","镇","阵","陣","震","鴆","鸩"],"chǎng cháng":["场","場","塲"],"qí yín":["圻"],jiá:["圿","忦","恝","戞","扴","脥","荚","莢","蛱","蛺","裌","跲","郏","郟","鋏","铗","頬","頰","颊","鴶","鵊"],"zhǐ zhì":["坁"],bǎn:["坂","岅","昄","板","版","瓪","粄","舨","蝂","鈑","钣","阪","魬"],qǐn:["坅","寑","寝","寢","昑","梫","笉","螼","赾","鋟","锓"],"méi fén":["坆"],"rǒng kēng":["坈"],"fāng fáng":["坊"],"fèn bèn":["坋"],tān:["坍","怹","摊","擹","攤","滩","灘","瘫","癱","舑","貪","贪"],"huài pēi pī péi":["坏"],"dì làn":["坔"],tán:["坛","墰","墵","壇","壜","婒","憛","昙","曇","榃","檀","潭","燂","痰","磹","罈","罎","藫","談","譚","譠","谈","谭","貚","郯","醰","錟","顃"],bà:["坝","垻","壩","弝","欛","灞","爸","矲","覇","霸","鮁","鲅"],fén:["坟","墳","妢","岎","幩","枌","棼","汾","焚","燌","燓","羒","羵","蒶","蕡","蚠","蚡","豮","豶","轒","鐼","隫","馩","魵","黂","鼖","鼢","𣸣"],zhuì:["坠","墜","惴","甀","畷","礈","綴","縋","缀","缒","腏","膇","諈","贅","赘","醊","錣","鑆"],pō:["坡","岥","泼","溌","潑","釙","鏺","钋","頗","颇","䥽"],"pǎn bàn":["坢"],kūn:["坤","堃","堒","崐","崑","昆","晜","潉","焜","熴","猑","琨","瑻","菎","蜫","裈","裩","褌","醌","錕","锟","騉","髠","髡","髨","鯤","鲲","鵾","鶤","鹍"],diàn:["坫","垫","墊","壂","奠","婝","店","惦","扂","橂","殿","淀","澱","玷","琔","电","癜","簟","蜔","鈿","電","靛","驔"],"mù mǔ":["坶"],"kē kě":["坷","軻"],xuè:["坹","岤","桖","瀥","狘","瞲","謔","谑","趐"],"dǐ chí":["坻","柢"],lā:["垃","柆","菈","邋"],lǒng:["垄","垅","壟","壠","拢","攏","竉","陇","隴","𬕂"],mín:["垊","姄","岷","崏","捪","旻","旼","民","珉","琘","琝","瑉","痻","盿","砇","緍","緡","缗","罠","苠","鈱","錉","鍲","鴖"],"dòng tóng":["垌","峒","洞"],cí:["垐","嬨","慈","柌","濨","珁","瓷","甆","磁","礠","祠","糍","茨","詞","词","辝","辞","辤","辭","雌","飺","餈","鴜","鶿","鷀","鹚"],duī:["垖","堆","塠","痽","磓","鐓","鐜","鴭"],"duò duǒ":["垛"],"duǒ duò":["垜","挆"],chá:["垞","察","嵖","搽","槎","檫","猹","茬","茶","詧","靫","𥻗"],shǎng:["垧","晌","樉","賞","贘","赏","鋿","鏛","鑜"],shǒu:["垨","守","手","扌","艏","首"],da:["垯","繨","跶"],háng:["垳","斻","杭","筕","絎","绗","航","苀","蚢","裄","貥","迒","頏","颃","魧"],"ān ǎn":["垵"],xīng:["垶","惺","星","曐","煋","猩","瑆","皨","篂","腥","興","觪","觲","謃","騂","骍","鮏","鯹"],"yuàn huán":["垸"],bāng:["垹","帮","幇","幚","幫","捠","梆","浜","邦","邫","鞤","𠳐"],"póu fú":["垺"],cén:["埁","岑","涔"],"běng fēng":["埄"],"dì fáng":["埅"],"xiá jiā":["埉"],"mái mán":["埋"],làng:["埌","崀","浪","蒗","閬","㫰"],"shān yán":["埏"],"qín jīn":["埐"],"pǔ bù":["埔"],huā:["埖","婲","椛","硴","糀","花","蒊","蘤","誮","錵"],"suì sù":["埣"],"pí pì":["埤"],"qīng zhēng":["埥","鲭"],"wǎn wān":["埦"],lǔn:["埨","稐","𫭢"],"zhēng chéng":["埩"],kōng:["埪","崆","箜","躻","錓","鵼"],"cǎi cài":["埰","寀","采"],"chù tòu":["埱"],běng:["埲","琫","菶","鞛"],"kǎn xiàn":["埳"],"yì shì":["埶","醳"],péi:["培","毰","裴","裵","賠","赔","錇","锫","阫","陪"],"sào sǎo":["埽"],"jǐn qīn jìn":["堇"],"péng bèng":["堋"],"qiàn zàn jiàn":["堑"],àn:["堓","屵","岸","按","暗","案","胺","荌","豻","貋","錌","闇","隌","黯"],"duò huī":["堕","墮"],huán:["堚","寏","寰","峘","桓","洹","澴","獂","环","環","糫","繯","缳","羦","荁","萈","萑","豲","鍰","鐶","锾","镮","闤","阛","雈","鬟","鹮","𬘫","𤩽"],"bǎo bǔ pù":["堡"],"máo móu wǔ":["堥"],ruán:["堧","壖","撋"],"ài è yè":["堨"],gèng:["堩","暅"],méi:["堳","塺","媒","嵋","徾","攗","枚","栂","梅","楣","楳","槑","湄","湈","煤","猸","玫","珻","瑂","眉","睂","禖","脄","脢","腜","苺","莓","葿","郿","酶","鎇","镅","霉","鶥","鹛","黴"],dǔ:["堵","琽","睹","笃","篤","覩","賭","赌"],féng:["堸","綘","艂","逢"],hèng:["堼"],chūn:["堾","媋","旾","春","暙","杶","椿","槆","橁","櫄","瑃","箺","萅","蝽","輴","鰆","鶞","䲠"],jiǎng:["塂","奖","奨","奬","桨","槳","獎","耩","膙","蒋","蔣","講","讲","顜"],huāng:["塃","巟","慌","肓","荒","衁"],duàn:["塅","断","斷","椴","段","毈","煅","瑖","碫","簖","籪","緞","缎","腶","葮","躖","鍛","锻"],tǎ:["塔","墖","獭","獺","鮙","鰨","鳎"],wěng:["塕","奣","嵡","攚","暡","瞈","蓊"],"sāi sài sè":["塞"],zàng:["塟","弉","臓","臟","葬","蔵","銺"],tián:["塡","屇","恬","沺","湉","璳","甛","甜","田","畋","畑","碵","磌","胋","闐","阗","鴫","鷆","鷏"],zhèng:["塣","幁","政","証","諍","證","证","诤","郑","鄭","靕","鴊"],"tián zhèn":["填"],wēn:["塭","昷","榲","殟","温","溫","瑥","瘟","蕰","豱","輼","轀","辒","鎾","饂","鰛","鰮","鳁"],liù:["塯","廇","磟","翏","雡","霤","餾","鬸","鷚","鹨"],hǎi:["塰","海","烸","酼","醢"],lǎng:["塱","朖","朗","朤","烺","蓢","㮾"],bèng:["塴","揼","泵","甏","綳","蹦","迸","逬","鏰","镚"],chén:["塵","宸","尘","忱","敐","敶","晨","曟","栕","樄","沉","煁","瘎","臣","茞","莀","莐","蔯","薼","螴","訦","諶","軙","辰","迧","鈂","陈","陳","霃","鷐","麎"],"ōu qiū":["塸"],"qiàn jiàn":["塹"],"zhuān tuán":["塼"],shuǎng:["塽","慡","漺","爽","縔","鏯"],shú:["塾","婌","孰","璹","秫","贖","赎"],lǒu:["塿","嵝","嶁","甊","篓","簍"],chí:["墀","弛","持","池","漦","竾","筂","箎","篪","茌","荎","蚳","謘","貾","赿","踟","迟","迡","遅","遟","遲","鍉","馳","驰"],shù:["墅","庶","庻","怷","恕","戍","束","树","樹","沭","漱","潄","濖","竖","竪","絉","腧","荗","蒁","虪","術","裋","豎","述","鉥","錰","鏣","霔","鶐","𬬸"],"dì zhì":["墆","疐"],kàn:["墈","崁","瞰","矙","磡","衎","鬫"],chěn:["墋","夦","硶","碜","磣","贂","趻","踸","鍖"],"zhǐ zhuó":["墌"],qiǎng:["墏","繈","繦","羥","襁"],zēng:["増","增","憎","璔","矰","磳","罾","譄","鄫","鱛","䎖"],qiáng:["墙","墻","嫱","嬙","樯","檣","漒","牆","艢","蔃","蔷","蘠"],"kuài tuí":["墤"],"tuǎn dǒng":["墥"],"qiáo què":["墧"],"zūn dūn":["墫"],"qiāo áo":["墽"],"yì tú":["墿"],"xué bó jué":["壆"],lǎn:["壈","嬾","孄","孏","懒","懶","揽","擥","攬","榄","欖","浨","漤","灠","纜","缆","罱","覧","覽","览","醂","顲"],huài:["壊","壞","蘾"],rǎng:["壌","壤","攘","爙"],"làn xiàn":["壏"],dǎo:["壔","导","導","岛","島","嶋","嶌","嶹","捣","搗","擣","槝","祷","禂","禱","蹈","陦","隝","隯"],ruǐ:["壡","桵","橤","繠","蕊","蕋","蘂","蘃"],san:["壭"],zhuàng:["壮","壯","壵","撞","焋","状","狀"],"ké qiào":["壳","殼"],kǔn:["壸","壼","悃","捆","梱","硱","祵","稇","稛","綑","裍","閫","閸","阃"],mǎng:["壾","漭","茻","莽","莾","蠎"],cún:["壿","存"],"zhǐ zhōng":["夂"],"gǔ yíng":["夃"],"jiàng xiáng":["夅","降"],"páng féng fēng":["夆"],zhāi:["夈","捚","摘","斋","斎","榸","粂","齋"],"xuàn xiòng":["夐"],wài:["外","顡"],"wǎn yuàn wān yuān":["夗"],"mǎo wǎn":["夘"],mèng:["夢","夣","孟","梦","癦","霥"],"dà dài":["大"],"fū fú":["夫","姇","枎","粰"],guài:["夬","怪","恠"],yāng:["央","姎","抰","殃","泱","秧","胦","鉠","鍈","雵","鴦","鸯"],"hāng bèn":["夯"],gǎo:["夰","搞","杲","槀","槁","檺","稁","稾","稿","縞","缟","菒","藁","藳"],"tāo běn":["夲"],"tóu tou":["头"],"yǎn tāo":["夵"],"kuā kuà":["夸","誇"],"jiá jiā gā xiá":["夹"],huà:["夻","婳","嫿","嬅","崋","摦","杹","枠","桦","槬","樺","澅","画","畫","畵","繣","舙","話","諙","譮","话","黊"],"jiā jiá gā xiá":["夾"],ēn:["奀","恩","蒽"],"dī tì":["奃"],"yǎn yān":["奄","渰"],pào:["奅","疱","皰","砲","礟","礮","靤","麭"],nài:["奈","柰","渿","耐","萘","褦","錼","鼐"],"quān juàn":["奍","弮","棬"],zòu:["奏","揍"],"qì qiè xiè":["契"],kāi:["奒","开","揩","鐦","锎","開"],"bēn bèn":["奔","泍"],tào:["套"],"zàng zhuǎng":["奘"],běn:["奙","本","楍","畚","翉","苯"],"xùn zhuì":["奞"],shē:["奢","檨","猞","畭","畲","賒","賖","赊","輋","𪨶"],"hǎ pò tǎi":["奤"],"ào yù":["奥","奧","澚"],yūn:["奫","氲","氳","蒀","蒕","蝹","贇","赟","𫖳"],"duǒ chě":["奲"],"nǚ rǔ":["女"],nú:["奴","孥","笯","駑","驽"],"dīng dǐng tiǎn":["奵"],"tā jiě":["她"],nuán:["奻"],"hǎo hào":["好"],fàn:["奿","嬎","梵","汎","泛","滼","瀪","犯","畈","盕","笵","範","范","訉","販","贩","軬","輽","飯","飰","饭"],shuò:["妁","搠","朔","槊","烁","爍","矟","蒴","鎙","鑠","铄"],"fēi pèi":["妃"],wàng:["妄","忘","旺","望","朢"],zhuāng:["妆","妝","娤","庄","庒","桩","梉","樁","粧","糚","荘","莊","装","裝"],mā:["妈","媽"],"fū yōu":["妋"],"hài jiè":["妎"],dù:["妒","妬","杜","殬","渡","秺","芏","荰","螙","蠧","蠹","鍍","镀","靯","𬭊"],miào:["妙","庙","庿","廟","玅","竗"],"fǒu pēi pī":["妚"],"yuè jué":["妜"],niū:["妞"],"nà nàn":["妠"],tuǒ:["妥","嫷","庹","椭","楕","橢","鬌","鰖","鵎"],"wàn yuán":["妧"],fáng:["妨","房","肪","防","魴","鲂"],nī:["妮"],zhóu:["妯","碡"],zhāo:["妱","巶","招","昭","釗","鉊","鍣","钊","駋","𬬿"],"nǎi nǐ":["妳"],tǒu:["妵","敨","紏","蘣","黈"],"xián xuán xù":["妶"],"zhí yì":["妷","秇"],ē:["妸","妿","婀","屙"],mèi:["妹","媚","寐","抺","旀","昧","沬","煝","痗","眛","睸","祙","篃","蝞","袂","跊","鬽","魅"],"qī qì":["妻"],"xū xǔ":["姁","稰"],"shān shàn":["姍","姗","苫","釤","钐"],mán:["姏","慲","樠","蛮","蠻","謾","饅","馒","鬗","鬘","鰻","鳗"],jiě:["姐","媎","檞","毑","飷"],"wěi wēi":["委"],pīn:["姘","拼","礗","穦","馪","驞"],"huá huó":["姡"],"jiāo xiáo":["姣"],"gòu dù":["姤"],"lǎo mǔ":["姥"],"nián niàn":["姩"],zhěn:["姫","屒","弫","抮","昣","枕","畛","疹","眕","稹","縝","縥","缜","聄","萙","袗","裖","覙","診","诊","軫","轸","辴","駗","鬒"],héng:["姮","恆","恒","烆","珩","胻","蘅","衡","鑅","鴴","鵆","鸻"],"jūn xún":["姰"],"kuā hù":["姱"],"è yà":["姶"],"xiān shēn":["姺"],wá:["娃"],"ráo rǎo":["娆","嬈"],"shào shāo":["娋"],xiē:["娎","揳","楔","歇","蝎","蠍"],"wǔ méi mǔ":["娒"],"chuò lài":["娕"],niáng:["娘","嬢","孃"],"nà nuó":["娜","𦰡"],"pōu bǐ":["娝"],"něi suī":["娞"],tuì:["娧","煺","蛻","蜕","退","駾"],mǎn:["娨","屘","満","满","滿","螨","蟎","襔","鏋"],"wú wù yú":["娪"],"xī āi":["娭"],"zhuì shuì":["娷"],"dōng dòng":["娻"],"ǎi ái è":["娾"],"ē ě":["娿"],mián:["婂","嬵","宀","杣","棉","檰","櫋","眠","矈","矊","矏","綿","緜","绵","芇","蝒"],"pǒu péi bù":["婄"],biǎo:["婊","脿","表","裱","褾","諘","錶"],"fù fàn":["婏"],wǒ:["婐","婑","我"],"ní nǐ":["婗","棿"],"quán juàn":["婘","惓"],hūn:["婚","昏","昬","棔","涽","睧","睯","碈","荤","葷","蔒","轋","閽","阍"],"qiān jǐn":["婜"],"wān wà":["婠"],"lái lài":["婡","徕","徠"],"zhōu chōu":["婤"],"chuò nào":["婥"],"nüè àn":["婩"],"hùn kūn":["婫"],"dàng yáng":["婸"],nàn:["婻"],"ruò chuò":["婼"],jiǎ:["婽","岬","斚","斝","榎","槚","檟","玾","甲","胛","鉀","钾"],"tōu yú":["婾","媮"],"yù yú":["媀"],"wéi wěi":["媁"],"dì tí":["媂","珶","苐"],róu:["媃","揉","柔","渘","煣","瑈","瓇","禸","粈","糅","脜","腬","葇","蝚","蹂","輮","鍒","鞣","騥","鰇","鶔","𫐓"],"ruǎn nèn":["媆"],miáo:["媌","嫹","描","瞄","苗","鶓","鹋"],"yí pèi":["媐"],"mián miǎn":["媔"],"tí shì":["媞","惿"],"duò tuó":["媠","沲"],ǎo:["媪","媼","艹","芺","袄","襖","镺"],"chú zòu":["媰"],yìng:["媵","映","暎","硬","膡","鱦"],"qín shēn":["嫀"],jià:["嫁","幏","架","榢","稼","駕","驾"],sǎo:["嫂"],"zhēn zhěn":["嫃"],"jiē suǒ":["嫅"],"míng mǐng":["嫇"],niǎo:["嫋","嬝","嬲","茑","蔦","袅","裊","褭","鸟"],tāo:["嫍","幍","弢","慆","掏","搯","槄","涛","滔","濤","瑫","絛","縚","縧","绦","詜","謟","轁","鞱","韜","韬","飸","饕"],biáo:["嫑"],"piáo piāo":["嫖","薸"],xuán:["嫙","悬","懸","暶","檈","漩","玄","璇","璿","痃","蜁","𫠊"],"màn mān":["嫚"],kāng:["嫝","嵻","康","慷","槺","漮","砊","穅","糠","躿","鏮","鱇","𡐓","𩾌"],"hān nǎn":["嫨"],nèn:["嫩","嫰"],zhē:["嫬","遮"],"mā má":["嫲"],piè:["嫳"],zhǎn:["嫸","展","搌","斩","斬","琖","盏","盞","輾","醆","颭","飐"],"xiān yǎn jìn":["嬐"],liǎn:["嬚","敛","斂","琏","璉","羷","脸","臉","蔹","蘝","蘞","裣","襝","鄻"],"qióng huán xuān":["嬛"],dǒng:["嬞","懂","箽","董","蕫","諌"],cān:["嬠","湌","爘","飡","餐","驂","骖"],tiǎo:["嬥","宨","晀","朓","窱","脁"],bí:["嬶","荸","鼻"],liǔ:["嬼","柳","栁","桞","桺","橮","熮","珋","綹","绺","罶","羀","鋶","锍"],"qiān xiān":["孅","欦"],"xié huī":["孈"],"huān quán":["孉"],"lí lì":["孋","麗"],"zhú chuò":["孎"],kǒng:["孔","恐"],"mā zī":["孖"],"sūn xùn":["孙","孫"],"bèi bó":["孛","誖"],"yòu niū":["孧"],zhuǎn:["孨","竱","轉"],hái:["孩","骸"],nāo:["孬"],"chán càn":["孱"],bò:["孹","檗","蘗","譒"],nái:["孻","腉"],"níng nìng":["宁","寍","寗","寜","寧","甯"],zhái:["宅"],"tū jiā":["宊"],sòng:["宋","訟","誦","讼","诵","送","鎹","頌","颂","餸"],ròu:["宍","肉","譳"],zhūn:["宒","窀","衠","諄","谆","迍"],"mì fú":["宓"],"dàng tàn":["宕"],"wǎn yuān":["宛"],chǒng:["宠","寵"],qún:["宭","峮","帬","羣","群","裙","裠"],zǎi:["宰","崽"],"bǎo shí":["宲"],"jiā jia jie":["家"],"huāng huǎng":["宺"],kuān:["宽","寛","寬","臗","鑧","髋","髖"],"sù xiǔ xiù":["宿"],"jié zǎn":["寁"],"bìng bǐng":["寎"],"jìn qǐn":["寖"],"lóu jù":["寠"],"xiě xiè":["寫"],"qīn qìn":["寴"],cùn:["寸","籿"],duì:["对","対","對","怼","憝","懟","濧","瀩","碓","祋","綐","薱","譈","譵","轛","队","陮"],"lüè luó":["寽"],"shè yè yì":["射"],"jiāng jiàng qiāng":["将"],"jiāng jiàng":["將","浆","漿","畺"],zūn:["尊","嶟","樽","罇","遵","鐏","鱒","鳟","鶎","鷷","𨱔"],"shù zhù":["尌","澍"],xiǎo:["小","晓","暁","曉","皛","皢","筱","筿","篠","謏","𫍲"],"jié jí":["尐","诘","鞊"],"shǎo shào":["少"],ěr:["尒","尓","尔","栮","毦","洱","爾","珥","耳","薾","衈","趰","迩","邇","鉺","铒","餌","饵","駬"],"wāng yóu":["尢"],wāng:["尣","尩","尪","尫","汪"],liào:["尥","尦","廖","撂","料","炓","窷","鐐","镣","𪤗"],"méng máng lóng páng":["尨"],gà:["尬","魀"],"kuì kuǐ":["尯"],tuí:["尵","弚","穨","蘈","蹪","隤","頹","頺","頽","颓","魋","𬯎"],yǐn:["尹","嶾","引","朄","檃","檼","櫽","淾","濥","瘾","癮","粌","蘟","蚓","螾","讔","赺","趛","輑","鈏","靷"],"chǐ chě":["尺"],kāo:["尻","髛"],"jìn jǐn":["尽"],"wěi yǐ":["尾"],"niào suī":["尿"],céng:["层","層","嶒","驓"],diǎo:["屌"],"píng bǐng bīng":["屏"],lòu:["屚","漏","瘘","瘺","瘻","鏤","镂","陋"],"shǔ zhǔ":["属","屬"],"xiè tì":["屟"],"chè cǎo":["屮"],"tún zhūn":["屯"],"nì jǐ":["屰"],"hóng lóng":["屸"],"qǐ kǎi":["岂","豈"],áng:["岇","昂","昻"],"gǎng gāng":["岗","崗"],kě:["岢","敤","渇","渴","炣"],gǒu:["岣","狗","玽","笱","耇","耈","耉","苟","豿"],tiáo:["岧","岹","樤","祒","笤","芀","萔","蓚","蓨","蜩","迢","鋚","鎥","鞗","髫","鯈","鰷","鲦","齠","龆"],"qū jū":["岨"],lǐng:["岭","嶺","領","领"],pò:["岶","敀","洦","湐","烞","珀","破","砶","粕","蒪","魄"],"bā kè":["峇"],luò:["峈","摞","洛","洜","犖","珞","笿","纙","荦","詻","雒","駱","骆","鵅"],"fù niè":["峊"],ěn:["峎"],"zhì shì":["峙","崻"],qiǎ:["峠","跒","酠","鞐"],"qiáo jiào":["峤","癄"],"xié yé":["峫"],bū:["峬","庯","晡","誧","逋","鈽","錻","钸","餔","鵏"],chóng:["崇","崈","爞","虫","蝩","蟲","褈","隀"],"zú cuì":["崒","椊"],"líng léng":["崚"],"dòng dōng":["崠"],xiáo:["崤","洨","淆","訤","誵"],"pí bǐ":["崥","芘"],"zhǎn chán":["崭","嶃","嶄"],"wǎi wēi":["崴"],"yáng dàng":["崵"],"shì dié":["崼"],yào:["崾","曜","熎","燿","矅","穾","窔","筄","耀","艞","药","葯","薬","藥","袎","覞","詏","讑","靿","鷂","鹞","鼼"],"kān zhàn":["嵁"],"hán dǎng":["嵅"],"qiàn kàn":["嵌"],"wù máo":["嵍"],"kě jié":["嵑","嶱"],"wēi wěi":["嵔"],kē:["嵙","柯","棵","榼","樖","牁","牱","犐","珂","疴","瞌","磕","礚","科","稞","窠","萪","薖","蚵","蝌","趷","轲","醘","鈳","钶","頦","顆","颗","髁"],"dàng táng":["嵣"],"róng yíng":["嵤","爃"],"ái kǎi":["嵦"],"kāo qiāo":["嵪"],cuó:["嵯","嵳","痤","矬","蒫","蔖","虘","鹺","鹾"],"qiǎn qīn":["嵰"],"dì dié":["嵽"],cēn:["嵾"],dǐng:["嵿","艼","薡","鐤","頂","顶","鼎","鼑"],"áo ào":["嶅"],"pǐ pèi":["嶏"],"jiào qiáo":["嶠","潐"],"jué guì":["嶡","鳜"],"zhān shàn":["嶦","鳣"],"xiè jiè":["嶰"],"guī xī juàn":["嶲"],rū:["嶿"],"lì liè":["巁","棙","爄","綟"],"xī guī juàn":["巂"],"yíng hōng":["巆"],yǐng:["巊","廮","影","摬","梬","潁","瘿","癭","矨","穎","郢","鐛","頴","颍","颕","颖"],chǎo:["巐","炒","煼","眧","麨"],cuán:["巑","櫕","欑"],chuān:["巛","川","氚","瑏","穿"],"jīng xíng":["巠"],cháo:["巢","巣","晁","漅","潮","牊","窲","罺","謿","轈","鄛","鼌"],qiǎo:["巧","愀","髜"],gǒng:["巩","廾","拱","拲","栱","汞","珙","輁","鞏"],"chà chā chāi cī":["差"],"xiàng hàng":["巷"],shuài:["帅","帥","蟀"],pà:["帊","帕","怕","袙"],"tǎng nú":["帑"],"mò wà":["帓"],"tiē tiě tiè":["帖"],zhǒu:["帚","晭","疛","睭","箒","肘","菷","鯞"],"juǎn juàn":["帣"],shuì:["帨","涗","涚","睡","稅","税","裞"],"chóu dào":["帱","幬"],"jiǎn jiān sàn":["帴"],"shà qiè":["帹"],"qí jì":["帺","荠"],"shān qiāo shēn":["幓"],"zhuàng chuáng":["幢"],"chān chàn":["幨"],miè:["幭","懱","搣","滅","灭","烕","礣","篾","蔑","薎","蠛","衊","鑖","鱴","鴓"],"gān gàn":["干"],"bìng bīng":["并","幷"],"jī jǐ":["幾"],"guǎng ān":["广"],guǎng:["広","廣","犷","獷"],me:["庅"],"dùn tún":["庉"],"bài tīng":["庍"],"yìng yīng":["应"],"dǐ de":["底"],"dù duó":["度"],"máng méng páng":["庬"],"bìng píng":["庰"],chěng:["庱","悜","睈","逞","騁","骋"],"jī cuò":["庴"],qǐng:["庼","廎","檾","漀","苘","請","謦","请","頃","顷"],"guī wěi huì":["廆"],"jǐn qín":["廑"],kuò:["廓","扩","拡","擴","濶","筈","萿","葀","蛞","闊","阔","霩","鞟","鞹","韕","頢","鬠"],"qiáng sè":["廧","薔"],"yǐn yìn":["廴","隐","隠","隱","飮","飲","饮"],"pò pǎi":["廹","迫"],"nòng lòng":["弄"],"dì tì tuí":["弟"],"jué zhāng":["弡"],"mí mǐ":["弥","彌","靡"],chāo:["弨","怊","抄","欩","訬","超","鈔","钞"],yi:["弬"],shāo:["弰","旓","烧","焼","燒","筲","艄","萷","蕱","輎","髾","鮹"],"xuān yuān":["弲"],"qiáng qiǎng jiàng":["強","强"],"tán dàn":["弹","醈"],biè:["彆"],"qiáng jiàng qiǎng":["彊"],"jì xuě":["彐"],tuàn:["彖","褖"],yuē:["彟","曰","曱","矱"],"shān xiǎn":["彡"],wén:["彣","文","炆","珳","瘒","繧","聞","芠","蚉","蚊","螡","蟁","閺","閿","闅","闦","闻","阌","雯","馼","駇","魰","鳼","鴍","鼤","𫘜"],"péng bāng":["彭"],"piāo piào":["彯"],"zhuó bó":["彴"],"tuǒ yí":["彵"],"páng fǎng":["彷"],wǎng:["彺","往","徃","惘","枉","棢","網","网","罒","罓","罔","罖","菵","蛧","蝄","誷","輞","辋","魍"],cú:["徂","殂"],"dài dāi":["待"],huái:["徊","怀","懐","懷","槐","淮","耲","蘹","褢","褱","踝"],"wā wàng jiā":["徍"],"chěng zhèng":["徎"],"dé děi de":["得"],"cóng zòng":["從"],"shì tǐ":["徥"],"tí chí":["徲","鶗","鶙"],dé:["徳","德","恴","悳","惪","淂","鍀","锝"],"zhǐ zhēng":["徴","徵"],bié:["徶","癿","莂","蛂","襒","蹩"],"chōng zhǒng":["徸"],"jiǎo jiào":["徼","笅","筊"],"lòng lǒng":["徿"],"qú jù":["忂","渠","瞿","螶"],"dìng tìng":["忊"],gǎi:["忋","改"],rěn:["忍","栠","栣","秹","稔","綛","荏","荵","躵"],chàn:["忏","懴","懺","硟","羼","韂","顫"],tè:["忑","慝","特","蟘","鋱","铽"],"tè tēi tuī":["忒"],"gān hàn":["忓","攼"],"yì qì":["忔"],"tài shì":["忕"],"xī liě":["忚"],"yīng yìng":["応","應","譍"],"mǐn wěn mín":["忞","忟"],"sōng zhōng":["忪"],"yù shū":["忬","悆"],"qí shì":["忯","耆"],"tún zhūn dùn":["忳"],"qián qín":["忴","扲"],hún:["忶","浑","渾","餛","馄","魂","鼲"],niǔ:["忸","扭","炄","狃","紐","纽","莥","鈕","钮","靵"],"kuáng wǎng":["忹"],"kāng hàng":["忼"],"kài xì":["忾","愾"],òu:["怄","慪"],"bǎo bào":["怉"],"mín mén":["怋"],"zuò zhà":["怍"],zěn:["怎"],yàng:["怏","恙","样","様","樣","漾","羕","詇"],"kòu jù":["怐"],"náo niú":["怓"],"zhēng zhèng":["怔","掙","钲","铮"],"tiē zhān":["怗"],"hù gù":["怘"],"cū jù zū":["怚"],"sī sāi":["思"],"yóu chóu":["怞"],"tū dié":["怢"],"yōu yào":["怮"],xuàn:["怰","昡","楦","泫","渲","炫","琄","眩","碹","絢","縼","繏","绚","蔙","衒","袨","贙","鉉","鏇","铉","镟","颴"],"xù xuè":["怴"],"bì pī":["怶"],"xī shù":["怸"],"nèn nín":["恁"],"tiāo yáo":["恌"],"xī qī xù":["恓"],"xiào jiǎo":["恔"],"hū kuā":["恗"],nǜ:["恧","朒","衂","衄"],hèn:["恨"],"dòng tōng":["恫"],"quán zhuān":["恮"],"è wù ě wū":["恶","惡"],tòng:["恸","慟","憅","痛","衕"],"yuān juàn":["悁"],"qiāo qiǎo":["悄"],"jiè kè":["悈"],"hào jiào":["悎"],huǐ:["悔","檓","毀","毁","毇","燬","譭"],"mán mèn":["悗","鞔"],"yī yì":["悘","衣"],quān:["悛","箞","鐉","𨟠"],"kuī lǐ":["悝"],"yì niàn":["悥"],"mèn mēn":["悶"],guàn:["悹","悺","惯","慣","掼","摜","樌","欟","泴","涫","潅","灌","爟","瓘","盥","礶","祼","罆","罐","貫","贯","躀","遦","鏆","鑵","鱹","鸛","鹳"],"kōng kǒng":["悾"],"lǔn lùn":["惀"],guǒ:["惈","果","椁","槨","粿","綶","菓","蜾","裹","褁","輠","餜","馃"],"yuān wǎn":["惌","箢"],"lán lín":["惏"],"yù xù":["惐","淢"],"chuò chuì":["惙"],"hūn mèn":["惛"],"chǎng tǎng":["惝"],"suǒ ruǐ":["惢"],cǎn:["惨","慘","憯","黪","黲","䅟"],cán:["惭","慙","慚","残","殘","蚕","蝅","蠶","蠺"],"dàn dá":["惮","憚"],rě:["惹"],"yú tōu":["愉"],"kài qì":["愒"],"dàng táng shāng yáng":["愓"],"chén xìn dān":["愖"],"kè qià":["愘"],nuò:["愞","懦","懧","掿","搦","榒","稬","穤","糑","糥","糯","諾","诺","蹃","逽","鍩","锘"],gǎn:["感","擀","敢","桿","橄","澉","澸","皯","秆","稈","笴","芉","衦","赶","趕","鱤","鳡"],"còng sōng":["愡"],"sāi sī sǐ":["愢"],"gōng gòng hǒng":["愩","慐"],"shuò sù":["愬","洬"],"yáo yào":["愮"],huàng:["愰","曂","榥","滉","皝","皩","鎤","㿠"],zhěng:["愸","抍","拯","整","晸"],cǎo:["愺","艸","草","騲"],"xì xié":["慀"],"cǎo sāo":["慅"],"xù chù":["慉"],"qiè qiàn":["慊"],"cáo cóng":["慒"],"ào áo":["慠"],"lián liǎn":["慩","梿","槤","櫣"],"jìn qín jǐn":["慬"],"dì chì":["慸"],"zhí zhé":["慹"],"lóu lǚ":["慺","鷜"],còng:["憁","謥"],"zhī zhì":["憄","知","織","织"],chēng:["憆","摚","撐","撑","晿","柽","棦","橕","檉","泟","浾","琤","瞠","碀","緽","罉","蛏","蟶","赪","赬","鏿","鐣","阷","靗","頳","饓"],biē:["憋","虌","鱉","鳖","鼈","龞"],"chéng dèng zhèng":["憕"],"xǐ xī":["憘"],"duì dùn tūn":["憞"],"xiāo jiāo":["憢"],"xián xiàn":["憪"],"liáo liǎo":["憭","燎","爎","爒"],shéng:["憴","縄","繉","繩","绳","譝"],"náo nǎo náng":["憹"],"jǐng jìng":["憼"],"jǐ jiǎo":["憿"],"xuān huān":["懁"],"cǎo sāo sào":["懆"],mèn:["懑","懣","暪","焖","燜"],"mèng méng měng":["懜"],"ài yì nǐ":["懝"],"méng měng":["懞","瞢","矒"],"qí jī jì":["懠"],mǒ:["懡"],"lán xiàn":["懢"],"yōu yǒu":["懮"],"liú liǔ":["懰","藰"],ràng:["懹","譲","讓","让"],huān:["懽","欢","歓","歡","獾","讙","貛","酄","驩","鴅","鵍"],nǎn:["戁","揇","湳","煵","腩","蝻","赧"],"mí mó":["戂"],"gàng zhuàng":["戅","戆"],"zhuàng gàng":["戇"],"xū qu":["戌"],"xì hū":["戏","戯","戲"],"jiá gā":["戛"],zéi:["戝","蠈","賊","贼","鰂","鱡","鲗"],děng:["戥","等"],"hū xì":["戱"],chuō:["戳","踔","逴"],"biǎn piān":["扁"],"shǎng jiōng":["扄"],"shàn shān":["扇"],cái:["才","材","纔","裁","財","财"],"zhā zā zhá":["扎"],"lè lì cái":["扐"],"bā pá":["扒"],"dǎ dá":["打"],rēng:["扔"],"fǎn fú":["払"],"diǎo dí yuē lì":["扚"],"káng gāng":["扛"],"yū wū":["扜"],"yū wū kū":["扝"],"tuō chǐ yǐ":["扡"],"gǔ jié xì gē":["扢"],dèn:["扥","扽"],"sǎo sào":["扫","掃"],rǎo:["扰","擾","隢"],"xī chā qì":["扱"],"bān pān":["扳"],"bā ào":["扷"],"xī zhé":["扸"],"zhì sǔn kǎn":["扻"],zhǎo:["找","沼","瑵"],"kuáng wǎng zài":["抂"],"hú gǔ":["抇","鹄","鹘"],"bǎ bà":["把"],"dǎn shěn":["抌"],"nè nì ruì nà":["抐"],zhuā:["抓","檛","簻","膼","髽"],póu:["抔","裒"],"zhé shé zhē":["折"],"póu pōu fū":["抙","捊"],pāo:["抛","拋","脬","萢"],"ǎo ào niù":["抝"],"lūn lún":["抡","掄"],"qiǎng qiāng chēng":["抢"],"zhǐ zhǎi":["抧"],"bù pū":["抪","柨"],"yǎo tāo":["抭"],"hē hè qiā":["抲"],"nǐ ní":["抳"],"pī pēi":["抷"],"mǒ mò mā":["抹"],chōu:["抽","犨","犫","瘳","篘"],"jiā yá":["拁"],"fú bì":["拂","畐","鶝"],zhǎ:["拃","眨","砟","鮺","鲝"],"dān dàn dǎn":["担"],"chāi cā":["拆"],niān:["拈","蔫"],"lā lá lǎ là":["拉"],"bàn pàn":["拌"],pāi:["拍"],līn:["拎"],guǎi:["拐","枴","柺"],"tuò tà zhí":["拓"],"ào ǎo niù":["拗"],"jū gōu":["拘"],"pīn pàn fān":["拚"],"bài bái":["拜"],bài:["拝","敗","稗","粺","薭","贁","败","韛"],qiá:["拤"],"nǐng níng nìng":["拧"],"zé zhái":["择","擇"],hén:["拫","痕","鞎"],"kuò guā":["括"],"jié jiá":["拮"],nǐn:["拰"],shuān:["拴","栓","閂","闩"],"cún zùn":["拵"],"zā zǎn":["拶","桚"],kǎo:["拷","攷","栲","烤","考"],"yí chǐ hài":["拸"],"cè sè chuò":["拺"],"zhuài zhuāi yè":["拽"],"shí shè":["拾"],bāi:["挀","掰"],"kuò guāng":["挄"],nòng:["挊","挵","齈"],"jiào jiāo":["挍","敎","教"],"kuà kū":["挎"],"ná rú":["挐"],"tiāo tiǎo":["挑"],"dié shè":["挕"],liě:["挘","毟"],"yà yǎ":["挜","掗"],"wō zhuā":["挝"],"xié jiā":["挟","挾"],"dǎng dàng":["挡","擋"],"zhèng zhēng":["挣","正","症"],"āi ái":["挨"],"tuō shuì":["挩","捝"],"tǐ tì":["挮"],"suō shā":["挱"],"sā shā suō":["挲"],"kēng qiān":["挳","摼"],"bàng péng":["挷"],"ruó ruá":["挼"],"jiǎo kù":["捁"],"wǔ wú":["捂"],tǒng:["捅","桶","筒","筩","統","綂","统","㛚"],"huò chì":["捇"],"tú shū chá":["捈"],"lǚ luō":["捋"],"shāo shào":["捎","稍"],niē:["捏","揑"],"shù sǒng sōu":["捒"],"yé yú":["捓"],"jué zhuó":["捔"],"bù pú zhì":["捗"],zùn:["捘","銌"],lāo:["捞","撈","粩"],sǔn:["损","損","榫","笋","筍","箰","鎨","隼"],"wàn wǎn wān yù":["捥"],pěng:["捧","淎","皏"],shě:["捨"],"fǔ fù bǔ":["捬"],dáo:["捯"],"luò luǒ wǒ":["捰"],"juǎn quán":["捲"],"chēn tiǎn":["捵"],"niǎn niē":["捻"],"ruó wěi ré":["捼"],zuó:["捽","昨","秨","稓","筰","莋","鈼"],"wò xiá":["捾"],"qìng qiàn":["掅"],"póu pǒu":["掊"],qiā:["掐","葜"],"pái pǎi":["排"],"qiān wàn":["掔"],"yè yē":["掖"],"niè nǐ yì":["掜"],"huò xù":["掝"],"yàn shàn yǎn":["掞"],"zhěng dìng":["掟"],kòng:["控","鞚"],tuī:["推","蓷","藬"],"zōu zhōu chōu":["掫"],tiàn:["掭","舚"],kèn:["掯","裉","褃"],pá:["掱","杷","潖","爬","琶","筢"],"guó guāi":["掴"],"dǎn shàn":["掸","撣"],"chān xiān càn shǎn":["掺"],sāo:["掻","搔","溞","繅","缫","螦","騒","騷","鰠","鱢","鳋"],pèng:["掽","椪","槰","碰","踫"],"zhēng kēng":["揁"],"jiū yóu":["揂"],"jiān jiǎn":["揃","籛"],"pì chè":["揊"],"sāi zǒng cāi":["揌"],"tí dī dǐ":["提"],"zǒng sōng":["揔"],"huáng yóng":["揘"],"zǎn zuàn":["揝"],"xū jū":["揟"],"ké qiā":["揢"],"chuāi chuǎi chuài tuán zhuī":["揣"],"dì tì":["揥"],"lá là":["揦"],là:["揧","楋","溂","瓎","瘌","翋","臘","蝋","蝲","蠟","辢","辣","鑞","镴","鬎","鯻","𬶟"],"jiē qì":["揭"],"chòng dǒng":["揰"],"dié shé yè":["揲"],"jiàn qián jiǎn":["揵"],yé:["揶","爷","爺","瑘","鋣","鎁","铘"],chān:["搀","摻","攙","裧","襜","覘","觇","辿","鋓"],"gē gé":["搁","擱"],"lǒu lōu":["搂","摟"],"chōu zǒu":["搊"],chuāi:["搋"],sūn:["搎","槂","狲","猻","荪","蓀","蕵","薞","飧","飱"],"róng náng nǎng":["搑"],"péng bàng":["搒"],cuō:["搓","瑳","磋","蹉","遳","醝"],"kē è":["搕"],"nù nuò nòu":["搙"],"lā xié xiàn":["搚"],qiǔ:["搝","糗"],"xiǎn xiān":["搟"],"jié zhé":["搩"],"pán bān pó":["搫"],bān:["搬","攽","斑","斒","班","瘢","癍","肦","螁","螌","褩","辬","頒","颁","𨭉"],"zhì nái":["搱"],"wā wǎ wà":["搲"],huá:["搳","撶","滑","猾","蕐","螖","譁","鏵","铧","驊","骅","鷨"],"qiāng qiǎng chēng":["搶"],"tián shēn":["搷"],"ná nuò":["搻"],èn:["摁"],"shè niè":["摄","攝"],bìn:["摈","擯","殡","殯","膑","臏","髌","髕","髩","鬂","鬓","鬢"],"shā sà shǎi":["摋"],"chǎn sùn":["摌"],"jiū liú liáo jiǎo náo":["摎"],"féng pěng":["摓"],shuāi:["摔"],"dì tú zhí":["摕"],"qì jì chá":["摖"],"sōu sǒng":["摗"],"liǎn liàn":["摙"],"gài xì":["摡"],"hù chū":["摢"],tàng:["摥","烫","燙","鐋"],"nái zhì":["摨"],"mó mā":["摩"],"jiāng qiàng":["摪"],"áo qiáo":["摮"],"niè chè":["摰"],"mán màn":["摱"],"chàn cán":["摲"],"sè mí sù":["摵"],"biāo biào":["摽"],"juē jué":["撅"],piē:["撆","暼","氕","瞥"],"piě piē":["撇"],"zǎn zān zēn qián":["撍"],"sā sǎ":["撒"],hòng:["撔","訌","讧","闀","鬨"],"héng guàng":["撗"],niǎn:["撚","撵","攆","涊","焾","碾","簐","蹍","蹨","躎","輦","辇"],"chéng zhěng":["撜"],"huī wéi":["撝"],cāo:["撡","操","糙"],"xiāo sōu":["撨"],"liáo liāo":["撩"],"cuō zuǒ":["撮"],"wěi tuǒ":["撱"],cuān:["撺","攛","汆","蹿","躥","鑹","镩"],"qiào yāo jī":["撽"],"zhuā wō":["撾"],"lèi léi":["擂"],nǎng:["擃","攮","曩","灢"],"qíng jǐng":["擏"],kuǎi:["擓","蒯","㧟"],"pǐ bò":["擗"],"bò bāi":["擘"],"jù jǐ":["據"],mēng:["擝"],"sǒu sòu":["擞"],xǐng:["擤","箵","醒"],cā:["擦"],"níng nǐng nìng":["擰"],"zhì jié":["擳"],"là liè":["擸","爉"],"sòu sǒu":["擻"],"lì luò yuè":["擽"],"tī zhāi zhì":["擿"],pān:["攀","潘","眅","萠"],lèi:["攂","泪","涙","淚","禷","类","纇","蘱","酹","銇","錑","頛","頪","類","颣"],"cā sǎ":["攃"],"jùn pèi":["攈"],"lì luò":["攊","躒"],"là lài":["攋","櫴"],"lú luó":["攎"],"zǎn cuán":["攒"],"xiān jiān":["攕"],"mí mǐ mó":["攠"],"zǎn cuán zàn zuān":["攢"],zuàn:["攥"],"lì shài":["攦"],"lì luǒ":["攭"],"guǐ guì":["攱"],"jī qī yǐ":["攲"],fàng:["放"],"wù móu":["敄"],"chù shōu":["敊"],"gé guó è":["敋"],"duó duì":["敓","敚"],"duō què":["敠","敪"],"sàn sǎn":["散"],"dūn duì":["敦","镦"],"qī yǐ jī":["敧"],"xiào xué":["敩"],"shù shǔ shuò":["数","數"],"ái zhú":["敱","敳"],"xiòng xuàn":["敻"],"zhuó zhú":["斀"],"yì dù":["斁"],"lí tái":["斄"],"fěi fēi":["斐"],"yǔ zhōng":["斔"],"dòu dǒu":["斗"],"wò guǎn":["斡"],"tǒu tiǎo":["斢"],dòu:["斣","梪","浢","痘","窦","竇","脰","荳","豆","逗","郖","酘","閗","闘","餖","饾","鬥","鬦","鬪","鬬","鬭"],"yín zhì":["斦"],"chǎn jiè":["斺"],"wū yū yú":["於"],"yóu liú":["斿"],"páng bàng":["旁"],"máo mào":["旄"],"pī bì":["旇"],"xuán xuàn":["旋"],"wú mó":["无"],zǎo:["早","枣","栆","棗","澡","璪","薻","藻","蚤"],gā:["旮"],"gàn hàn":["旰"],"tái yīng":["旲"],"xū xù":["旴"],"tūn zhùn":["旽"],"wù wǔ":["旿"],"pò pèi":["昢"],zòng:["昮","猔","疭","瘲","粽","糉","糭","縦"],ǎi:["昹","毐","矮","蔼","藹","譪","躷","霭","靄"],"huàng huǎng":["晃"],xuǎn:["晅","癣","癬","选","選"],"xù kuā":["晇"],hǒng:["晎"],shài:["晒","曬"],"yūn yùn":["晕","煴"],"shèng chéng":["晟","椉","盛"],"jǐng yǐng":["景"],shǎn:["晱","熌","睒","覢","閃","闪","陕","陝"],"qǐ dù":["晵"],"ǎn àn yǎn":["晻"],"wǎng wàng":["暀"],zàn:["暂","暫","瓉","瓒","瓚","禶","襸","讃","讚","賛","贊","赞","蹔","鄼","錾","鏨","饡"],"yùn yūn":["暈"],"mín mǐn":["暋"],"dǔ shǔ":["暏"],shǔ:["暑","曙","潻","癙","糬","署","薥","薯","藷","蜀","蠴","襡","襩","鱪","鱰","黍","鼠","鼡"],"jiǎn lán":["暕"],nuǎn:["暖","煗","餪"],"bào pù":["暴"],"xī xǐ":["暿"],"pù bào":["曝","瀑"],"qū qǔ":["紶"],"qǔ qū":["曲"],"gèng gēng":["更"],"hū hù":["曶","雽"],"zēng céng":["曽","橧"],"céng zēng":["曾","竲"],"cǎn qián jiàn":["朁"],"qiè hé":["朅"],"bì pí":["朇","禆","笓","裨"],"yǒu yòu":["有"],"bān fén":["朌","鳻"],"fú fù":["服","洑"],"fěi kū":["朏","胐"],"qú xù chǔn":["朐"],"juān zuī":["朘"],"huāng máng wáng":["朚"],"qī jī":["期"],"tóng chuáng":["朣","橦"],zhá:["札","牐","箚","蚻","譗","鍘","铡","閘","闸"],"zhú shù shú":["朮"],"shù shú zhú":["术"],"zhū shú":["朱"],"pǔ pò pō piáo":["朴"],"dāo tiáo mù":["朷"],"guǐ qiú":["朹"],xiǔ:["朽","滫","潃","糔"],"chéng chēng":["朾"],zá:["杂","沯","砸","襍","雑","雜","雥","韴"],"yú wū":["杅"],"gān gǎn":["杆"],"chā chà":["杈"],"shān shā":["杉"],cūn:["村","皴","竴","膥","踆","邨"],"rèn ér":["杒","梕"],"sháo biāo":["杓"],"dì duò":["杕","枤"],"gū gài":["杚"],"yí zhì lí duò":["杝"],"gàng gāng":["杠"],"tiáo tiāo":["条","條"],"mà mǎ":["杩"],"sì zhǐ xǐ":["杫"],"yuán wán":["杬","蚖"],"bèi fèi":["杮"],"shū duì":["杸"],"niǔ chǒu":["杻"],"wò yuè":["枂","臒"],máo:["枆","毛","氂","渵","牦","矛","罞","茅","茆","蝥","蟊","軞","酕","鉾","錨","锚","髦","鶜"],"pī mì":["枈"],àng:["枊","盎","醠"],"fāng bìng":["枋"],"hù dǐ":["枑"],xín:["枔","襑","鐔","鬵"],"yāo yǎo":["枖"],"ě è":["枙"],"zhī qí":["枝"],"cōng zōng":["枞","樅"],"xiān zhēn":["枮"],"tái sì":["枱"],"gǒu jǔ gōu":["枸"],"bāo fú":["枹"],"yì xiè":["枻","栧"],"tuó duò":["柁","馱","駄","驮"],"yí duò lí":["柂"],"nǐ chì":["柅"],"pán bàn":["柈","跘"],"yǎng yàng yāng yīng":["柍"],"fù fū fǔ":["柎"],"bǎi bó bò":["柏"],mǒu:["某"],"sháo shào":["柖"],zhè:["柘","樜","浙","淛","蔗","蟅","這","鷓","鹧","䗪"],"yòu yóu":["柚","櫾"],"guì jǔ":["柜"],"zhà zuò":["柞"],"dié zhì":["柣","眰"],"zhā zǔ zū":["柤"],"chá zhā":["查","査"],"āo ào":["柪","軪"],"bā fú pèi bó biē":["柭"],"duò zuó wù":["柮"],"bì bié":["柲"],"zhù chù":["柷"],"bēi pēi":["柸"],"shì fèi":["柹"],"shān zhà shi cè":["栅"],"lì yuè":["栎","櫟"],"qì qiè":["栔","砌"],"qī xī":["栖","蹊"],"guā kuò":["栝"],"bīng bēn":["栟"],"xiào jiào":["校"],"jiàn zùn":["栫","袸"],"yǒu yù":["栯"],"hé hú":["核"],gēn:["根","跟"],"zhī yì":["栺"],"gé gē":["格"],"héng háng":["桁"],"guàng guāng":["桄"],"yí tí":["桋","荑"],sāng:["桑","桒","槡"],"jú jié":["桔"],"yú móu":["桙"],"ráo náo":["桡","橈"],"guì huì":["桧","檜"],"chén zhèn":["桭"],"tīng yíng":["桯"],"bó po":["桲"],"bèn fàn":["桳"],"fēng fèng":["桻","葑"],"sù yìn":["梀"],"tǐng tìng":["梃"],"xuān juān xié":["梋"],"tú chá":["梌"],"āo yòu":["梎"],kuǎn:["梡","欵","款","歀"],"shāo sào":["梢"],"qín chén cén":["梣"],"lí sì qǐ":["梩"],"chān yán":["梴"],"bīn bīng":["梹","槟","檳"],"táo chóu dào":["梼"],"cōng sōng":["棇"],"gùn hùn":["棍"],"dé zhé":["棏"],"pái bèi pèi":["棑"],"bàng pǒu bèi bēi":["棓"],"dì dài tì":["棣"],sēn:["森","椮","槮","襂"],"rěn shěn":["棯"],"léng lēng líng":["棱"],"fú sù":["棴"],"zōu sǒu":["棷"],zōu:["棸","箃","緅","諏","诹","邹","郰","鄒","鄹","陬","騶","驺","鯫","鲰","黀","齱","齺"],"zhào zhuō":["棹"],"chēn shēn":["棽"],"jiē qiè":["椄"],"yǐ yī":["椅"],"chóu zhòu diāo":["椆"],"qiāng kōng":["椌"],"zhuī chuí":["椎"],"bēi pí":["椑"],mēn:["椚"],"quān juàn quán":["椦"],"duǒ chuán":["椯"],"wěi huī":["椲"],"jiǎ jiā":["椵"],"hán jiān":["椷"],"shèn zhēn":["椹"],"yàn yà":["椻"],"zhā chá":["楂"],"guō kuǎ":["楇"],"jí zhì":["楖"],"kǔ hù":["楛"],"yóu yǒu":["楢"],"sǒng cōng":["楤"],"yuán xuàn":["楥"],"yǎng yàng yīng":["楧"],pián:["楩","胼","腁","賆","蹁","駢","騈","骈","骿","㛹"],"dié yè":["楪"],"dùn shǔn":["楯"],"còu zòu":["楱"],"dì dǐ shì":["楴"],"kǎi jiē":["楷"],"róu ròu":["楺"],"lè yuè":["楽"],"wēn yùn":["榅","鞰"],lǘ:["榈","櫚","氀","膢","藘","閭","闾","驢","驴"],shén:["榊","神","鉮","鰰","𬬹"],"bī pi":["榌"],"zhǎn niǎn zhèn":["榐"],"fú fù bó":["榑"],"jiàn jìn":["榗"],"bǎng bàng":["榜"],"shā xiè":["榝","樧"],nòu:["槈","耨","鎒","鐞"],"qiǎn lián xiàn":["槏"],gàng:["槓","焵","焹","筻","鿍"],gāo:["槔","槹","橰","櫜","睾","篙","糕","羔","臯","韟","餻","高","髙","鷎","鷱","鼛"],"diān zhěn zhēn":["槙"],"kǎn jiàn":["槛"],"xí dié":["槢"],"jī guī":["槣"],"róng yōng":["槦"],"tuán shuàn quán":["槫"],"qì sè":["槭"],"cuī zhǐ":["槯"],"yǒu chǎo":["槱"],"màn wàn":["槾"],"lí chī":["樆"],"léi lěi":["樏","櫑","礌"],"cháo jiǎo chāo":["樔"],"chēng táng":["樘"],"jiū liáo":["樛"],"mó mú":["模"],"niǎo mù":["樢"],"héng hèng":["横","橫"],xuě:["樰","膤","艝","轌","雪","鱈","鳕"],"fá fèi":["橃"],rùn:["橍","润","潤","膶","閏","閠","闰"],"zhǎn jiǎn":["橏"],shùn:["橓","瞚","瞬","舜","蕣","順","顺","鬊"],"tuí dūn":["橔"],"táng chēng":["橖"],"sù qiū":["橚"],"tán diàn":["橝"],"fén fèn fèi":["橨"],"rǎn yān":["橪"],"cū chu":["橻"],"shū qiāo":["橾"],"píng bò":["檘"],"zhái shì tú":["檡"],"biǎo biāo":["檦"],"qiān lián":["檶"],"nǐ mí":["檷"],"jiàn kǎn":["檻"],"nòu ruǎn rú":["檽"],"jī jì":["櫅","禨"],"huǎng guǒ gǔ":["櫎"],"lǜ chū":["櫖"],"miè mèi":["櫗"],ōu:["櫙","欧","歐","殴","毆","瓯","甌","膒","藲","謳","讴","鏂","鴎","鷗","鸥"],"zhù zhuó":["櫡"],"jué jì":["櫭"],"huái guī":["櫰"],"chán zhàn":["欃"],"wéi zuì":["欈"],cáng:["欌","鑶"],"yù yì":["欥"],"chù qù xì":["欪"],"kài ài":["欬"],"yì yīn":["欭"],"xì kài":["欯"],"shuò sòu":["欶"],"ǎi ēi éi ěi èi ê̄ ế ê̌ ề":["欸"],"qī yī":["欹"],"chuā xū":["欻"],"chǐ chuài":["欼"],"kǎn qiàn":["欿"],"kǎn kè":["歁"],"chuǎn chuán":["歂"],"yīn yān":["歅"],"jìn qūn":["歏"],pēn:["歕"],"xū chuā":["歘"],"xī shè":["歙"],"liǎn hān":["歛"],"zhì chí":["歭"],"sè shà":["歰"],sǐ:["死"],"wěn mò":["歾"],piǎo:["殍","皫","瞟","醥","顠"],"qíng jìng":["殑"],"fǒu bó":["殕"],"zhí shi":["殖"],"yè yān yàn":["殗"],"hūn mèi":["殙"],chòu:["殠","臰","遚"],"kuì huì":["殨","溃","潰"],cuàn:["殩","熶","爨","窜","竄","篡","簒"],"yīn yān yǐn":["殷"],"qìng kēng shēng":["殸"],"yáo xiáo xiào":["殽"],"gū gǔ":["毂","蛄"],"guàn wān":["毌"],"dú dài":["毒"],"xún xùn":["毥"],mú:["毪","氁"],"dòu nuò":["毭"],"sāi suī":["毸"],lu:["氇"],sào:["氉","瘙","矂","髞"],"shì zhī":["氏"],"dī dǐ":["氐"],"máng méng":["氓"],"yáng rì":["氜"],shuǐ:["水","氵","氺","閖"],"zhěng chéng zhèng":["氶"],tǔn:["氽"],"fán fàn":["氾"],"guǐ jiǔ":["氿"],"bīn pà pā":["汃"],"zhuó què":["汋"],"dà tài":["汏"],pìn:["汖","牝","聘"],"hàn hán":["汗","馯"],tu:["汢"],"tāng shāng":["汤","湯"],"zhī jì":["汥"],"gàn hán cén":["汵"],"wèn mén":["汶"],"fāng pāng":["汸"],"hǔ huǎng":["汻"],"niú yóu":["汼"],hàng:["沆"],"shěn chén":["沈"],"dùn zhuàn":["沌"],"nǜ niǔ":["沑"],"méi mò":["沒","没"],"tà dá":["沓"],"mì wù":["沕"],"hóng pāng":["沗"],"shā shà":["沙"],"zhuǐ zǐ":["沝"],"ōu òu":["沤","漚"],"jǔ jù":["沮"],"tuō duó":["沰"],"mǐ lì":["沵"],"yí chí":["沶"],"xiè yì":["泄"],"bó pō":["泊"],"mì bì":["泌","秘"],"chù shè":["泏"],"yōu yòu āo":["泑"],"pēng píng":["泙","硑"],"pào pāo":["泡"],"ní nì":["泥","秜"],"yuè sà":["泧"],"jué xuè":["泬","疦"],"lóng shuāng":["泷","瀧"],"luò pō":["泺","濼"],"zé shì":["泽","澤"],"sǎ xǐ":["洒"],"sè qì zì":["洓"],"xǐ xiǎn":["洗"],"kǎo kào":["洘"],"àn yàn è":["洝"],"lěi lèi":["洡"],"qiè jié":["洯"],"qiǎn jiān":["浅"],"jì jǐ":["济","済","濟","纪"],"hǔ xǔ":["浒","滸"],"jùn xùn":["浚","濬"],"yǐng chéng yíng":["浧"],"liàn lì":["浰"],"féng hóng":["浲","溄"],"jiǒng jiōng":["浻"],"suī něi":["浽"],"yǒng chōng":["涌"],"tūn yūn":["涒"],"wō guō":["涡","渦"],hēng:["涥","脝"],"zhǎng zhàng":["涨","漲"],"shòu tāo":["涭"],shuàn:["涮","腨"],"kōng náng":["涳"],"wò wǎn yuān":["涴"],"tuō tuò":["涶"],wō:["涹","猧","窝","窩","莴","萵","蜗","蝸","踒"],"qiè jí":["淁"],"guǒ guàn":["淉"],"lín lìn":["淋","獜","疄"],"tǎng chǎng":["淌"],"nào chuò zhuō":["淖"],"péng píng":["淜"],féi:["淝","肥","腓","蜰"],"pì pèi":["淠"],"niǎn shěn":["淰"],"biāo hǔ":["淲"],"chún zhūn":["淳"],"hùn hún":["混"],qiǎn:["淺","繾","缱","肷","膁","蜸","譴","谴","遣","鑓"],"wèn mín":["渂"],"rè ruò luò":["渃"],"dú dòu":["渎","瀆","读"],"jiàn jiān":["渐","溅","漸","濺"],"miǎn shéng":["渑","澠"],"nuǎn nuán":["渜"],"qiú wù":["渞"],"tíng tīng":["渟"],"dì tí dī":["渧"],"gǎng jiǎng":["港"],"hōng qìng":["渹"],tuān:["湍","煓"],"huì mǐn xū":["湏"],"xǔ xù":["湑"],pén:["湓","瓫","盆","葐"],"mǐn hūn":["湣"],"tuàn nuǎn":["湪"],"qiū jiǎo":["湫","湬"],"yān yīn":["湮"],"bàn pán":["湴"],"zhuāng hún":["湷"],"yàn guì":["溎"],"lián liǎn nián xián xiàn":["溓"],"dá tǎ":["溚","鿎"],"liū liù":["溜","澑","蹓"],lùn:["溣"],mǎ:["溤","犸","獁","玛","瑪","码","碼","遤","鎷","馬","马","鰢","鷌"],"zhēn qín":["溱"],"nì niào":["溺"],"chù xù":["滀","畜"],"wěng wēng":["滃"],"hào xuè":["滈"],"qì xì xiē":["滊"],"xíng yíng":["滎"],"zé hào":["滜"],"piāo piào piǎo":["漂"],"cóng sǒng":["漎"],"féng péng":["漨"],"luò tà":["漯"],"pēng bēn":["漰"],"chóng shuāng":["漴"],"huǒ kuò huò":["漷"],"liáo liú":["漻"],"cuǐ cuī":["漼"],"cóng zǒng":["潀"],"cóng zōng":["潈"],"pì piē":["潎"],"dàng xiàng":["潒"],"huáng guāng":["潢"],"liáo lào lǎo":["潦"],"cōng zòng":["潨"],"zhí zhì":["潪"],"tān shàn":["潬"],"tú zhā":["潳"],"sàn sǎ":["潵"],hēi:["潶","黑","黒","𬭶"],"chéng dèng":["澄","瀓"],"cūn cún":["澊"],"péng pēng":["澎"],"hòng gǒng":["澒","銾"],"wàn màn":["澫"],"kuài huì":["澮"],"guō wō":["濄"],"pēn fén":["濆"],"jí shà":["濈"],"huì huò":["濊"],"dǐng tìng":["濎"],"mǐ nǐ":["濔"],"bì pì":["濞"],"cuì zuǐ":["濢"],"hù huò":["濩"],"ǎi kài kè":["濭"],"wěi duì":["濻","瀢"],"zàn cuán":["濽","灒"],"yǎng yàng":["瀁"],"wǎng wāng":["瀇"],"mò miè":["瀎","眜"],suǐ:["瀡","膸","髓"],"huái wāi":["瀤"],"zùn jiàn":["瀳"],"yīng yǐng yìng":["瀴"],"ráng ràng":["瀼"],shuàng:["灀"],"zhuó jiào zé":["灂"],sǎ:["灑","訯","靸"],"luán luàn":["灓"],"dǎng tǎng":["灙"],"xún quán quàn":["灥"],"huǒ biāo":["灬"],"zhà yù":["灹"],"fén bèn":["炃"],"jiǒng guì":["炅"],"pàng fēng":["炐"],quē:["炔","缺","缼","蒛"],biān:["炞","煸","甂","砭","笾","箯","籩","編","编","蝙","邉","邊","鍽","鞭","鯾","鯿","鳊"],"zhāo zhào":["炤"],"zhuō chù":["炪"],"pào páo bāo":["炮"],"páo fǒu":["炰"],"shǎn qián shān":["炶"],"zhà zhá":["炸"],"jiǎo yào":["烄"],quǎn:["烇","犬","犭","畎","綣","绻","虇"],"yàng yáng":["烊"],"lào luò":["烙"],"huí huǐ":["烠"],rè:["热","熱"],"fú páo":["烰"],"xiè chè":["烲","焎"],"yàn shān":["烻"],"hūn xūn":["焄"],kào:["焅","犒","銬","铐","靠","鮳","鯌","鲓","㸆"],"juān yè":["焆"],"jùn qū":["焌"],"tāo dào":["焘"],"chǎo jù":["焣"],"wò ài":["焥"],"zǒng cōng":["焧"],"xī yì":["焬"],"xìn xīn":["焮"],"chāo zhuō":["焯"],"xiǒng yīng":["焸","焽"],kuǐ:["煃","跬","蹞","頍","𫠆"],"huī yùn xūn":["煇"],"jiǎo qiāo":["煍"],"qián shǎn shān":["煔"],"xī yí":["煕"],"shà shā":["煞"],"yè zhá":["煠"],"yáng yàng":["煬"],"ēn yūn":["煾"],"yūn yǔn":["熅"],"hè xiāo":["熇"],xióng:["熊","熋","雄"],"xūn xùn":["熏","爋"],gòng:["熕","貢","贡"],liū:["熘"],"cōng zǒng":["熜"],"lù āo":["熝"],"shú shóu":["熟"],"fēng péng":["熢"],"cuǐ suī":["熣"],tēng:["熥","膯","鼟"],"yùn yù":["熨"],"áo āo":["熬"],"hàn rǎn":["熯"],"ōu ǒu":["熰"],"huáng huǎng":["熿"],"chǎn dǎn chàn":["燀"],"jiāo zhuó qiáo jué":["燋"],"yàn yān":["燕"],"tài liè":["燤"],āo:["爊"],"yàn xún":["爓"],"jué jiào":["爝","覐","覚","覺","觉"],"lǎn làn":["爦"],"zhuǎ zhǎo":["爪"],"zhǎo zhuǎ":["爫"],"fù fǔ":["父"],diē:["爹","褺","跌"],zāng:["牂","羘","臧","賍","賘","贓","贜","赃","髒"],"piàn piān":["片"],"biān miàn":["牑"],bǎng:["牓","綁","绑"],"yǒu yōng":["牗"],"chēng chèng":["牚","竀"],niú:["牛","牜"],"jiū lè":["牞"],"mù móu":["牟"],māng:["牤"],"gē qiú":["牫"],"yòu chōu":["牰"],"tè zhí":["犆"],bēn:["犇","錛","锛"],"jiān qián":["犍","玪"],má:["犘","痲","蔴","蟇","麻"],"máo lí":["犛"],"bá quǎn":["犮"],"zhuó bào":["犳"],"àn hān":["犴"],"kàng gǎng":["犺"],"pèi fèi":["犻"],"fān huān":["犿"],kuáng:["狂","狅","誑","诳","軖","軠","鵟","𫛭"],"yí quán chí":["狋"],"xīng shēng":["狌"],"tuó yí":["狏"],kǔ:["狜","苦"],"huán huān":["狟"],"hé mò":["狢"],"tà shì":["狧"],"máng dòu":["狵"],"xī shǐ":["狶"],suān:["狻","痠","酸"],"bài pí":["猈"],"jiān yàn":["猏","豣"],"yī yǐ":["猗"],"yá wèi":["猚"],cāi:["猜"],"māo máo":["猫","貓"],"chuàn chuān":["猭"],"tuān tuàn":["猯","貒"],"yà jiá qiè":["猰"],"hè xiē gé hài":["猲"],"biān piàn":["猵","獱"],"bó pò":["猼"],"háo gāo":["獋"],"fén fèn":["獖"],"yào xiāo":["獟"],"shuò xī":["獡"],"gé liè xiē":["獦"],"nòu rú":["獳"],"náo nǎo yōu":["獶"],ráng:["獽","瓤","禳","穣","穰","蘘","躟","鬤"],"náo yōu":["獿"],"lǜ shuài":["率"],"wáng wàng":["王"],"yáng chàng":["玚"],"mín wén":["玟"],"bīn fēn":["玢"],"mén yǔn":["玧"],"qiāng cāng":["玱","瑲","篬"],"án gān":["玵"],"xuán xián":["玹"],"cī cǐ":["玼","跐"],"yí tāi":["珆"],"zǔ jù":["珇"],fà:["珐","琺","蕟","髪","髮"],"yín kèn":["珢"],"huī hún":["珲"],"xuán qióng":["琁"],"fú fū":["琈"],"bǐng pín":["琕"],"cuì sè":["琗"],"yù wéi":["琟"],"tiǎn tiàn":["琠"],"zhuó zuó":["琢"],"běng pěi":["琣"],guǎn:["琯","璭","痯","筦","管","舘","輨","錧","館","馆","鳤"],"hún huī":["琿"],"xié jiē":["瑎"],"chàng dàng yáng":["瑒"],"tiàn zhèn":["瑱"],"bīn pián":["瑸","璸"],"tú shū":["瑹"],cuǐ:["璀","皠","趡"],"zǎo suǒ":["璅"],"jué qióng":["璚"],"lú fū":["璷"],"jì zī":["璾"],suí:["瓍","綏","绥","遀","随","隨","髄"],"mí xǐ":["瓕"],"qióng wěi wèi":["瓗"],"huán yè yà":["瓛"],"bó páo":["瓟"],"zhí hú":["瓡"],piáo:["瓢","闝"],"wǎ wà":["瓦"],"xiáng hóng":["瓨"],wèng:["瓮","甕","罋","蕹","齆"],"shèn shén":["甚"],ruí:["甤","緌","蕤"],yòng:["用","砽","苚","蒏","醟","㶲"],shuǎi:["甩"],béng:["甭","甮"],"yóu zhá":["甴"],"diàn tián shèng":["甸"],"tǐng dīng":["町","甼"],"zāi zī":["甾"],"bì qí":["畁"],"dá fú":["畗"],"cè jì":["畟"],"zāi zī tián":["畠"],"zhì chóu shì":["畤"],"fān pān":["畨","番"],"shē yú":["畬"],"dāng dàng dǎng":["當"],"jiāng qiáng":["疆"],"pǐ yǎ shū":["疋"],"jié qiè":["疌"],"yí nǐ":["疑"],nè:["疒","眲","訥","讷"],"gē yì":["疙"],"nüè yào":["疟","瘧"],"lì lài":["疠","癘"],"yǎ xiā":["疨"],xuē:["疶","蒆","薛","辥","辪","靴","鞾"],"dǎn da":["疸"],"fá biǎn":["疺"],"fèi féi":["疿","痱"],"shān diàn":["痁"],"téng chóng":["痋"],"tōng tóng":["痌"],"wěi yòu yù":["痏"],"tān shǐ":["痑"],"pū pù":["痡","鋪"],"bēng péng":["痭"],"má lìn":["痳"],"tiǎn diàn":["痶"],"ān yè è":["痷"],"kē ē":["痾"],"zhì chì":["瘈"],"jiǎ xiá xiā":["瘕"],"lěi huì":["瘣"],"chài cuó":["瘥"],"diān chēn":["瘨"],"da dá":["瘩"],"biě biē":["瘪"],qué:["瘸"],"dàn dān":["癉"],"guì wēi":["癐"],"nòng nóng":["癑"],"biē biě":["癟"],"bō bǒ":["癷"],bái:["白"],"jí bī":["皀"],"de dì dí dī":["的"],"pā bà":["皅"],"gāo háo":["皋"],"gāo yáo":["皐"],"lì luò bō":["皪"],"zhā cǔ":["皻"],"zhāo zhǎn dǎn":["皽"],"jiān jiàn":["监","監","鋻","间","鞬"],"gài gě hé":["盖"],"máng wàng":["盳"],yuǎn:["盶","逺","遠"],"tián xián":["盷"],"xiāng xiàng":["相"],dǔn:["盹","趸","躉"],"xì pǎn":["盻"],"shěng xǐng":["省"],"yún hùn":["眃"],"miǎn miàn":["眄"],"kàn kān":["看"],"yìng yāng yǎng":["眏"],"yǎo āo ǎo":["眑"],"jū xū kōu":["眗"],"yí chì":["眙"],"dié tì":["眣"],"bǐng fǎng":["眪"],"pàng pán":["眫"],"mī mí":["眯","瞇"],"xuàn shùn xún":["眴"],tiào:["眺","粜","糶","覜","趒"],"zhe zhuó zháo zhāo":["着"],"qiáo shào xiāo":["睄"],"cuó zhuài":["睉"],gùn:["睔","謴"],"suì zuì":["睟"],"pì bì":["睥","稫","辟"],"yì zé gāo":["睪"],"xǐng xìng":["睲"],"guì wèi kuì":["瞆"],"kòu jì":["瞉"],"qióng huán":["瞏"],"mán mén":["瞒","瞞"],"diāo dōu":["瞗"],"lou lóu lǘ":["瞜"],"shùn rún":["瞤"],"liào liǎo":["瞭","钌"],"jiàn xián":["瞯"],"wǔ mí":["瞴"],"guì kuì":["瞶"],"nǐng chēng":["矃"],"huò yuè":["矆"],"mēng méng":["矇"],"kuàng guō":["矌"],"guàn quán":["矔"],"mǎn mán":["矕"],"jīn guān qín":["矜"],"jīn qín guān":["矝"],"yù xù jué":["矞"],"jiǎo jiáo":["矫","矯"],duǎn:["短"],"shí dàn":["石"],"gāng qiāng kòng":["矼"],"huā xū":["砉"],"pīn bīn fēn":["砏"],"yán yàn":["研","硏"],"luǒ kē":["砢"],"fú fèi":["砩","笰"],"zhǔ zhù":["砫"],"lá lì lā":["砬"],"kuāng guāng":["硄"],"gè luò":["硌"],"shuò shí":["硕","碩"],"wèi wéi ái":["硙"],"què kè kù":["硞"],"mǎng bàng":["硥"],"luò lòng":["硦"],"yǒng tóng":["硧"],nüè:["硸","虐"],"kēng kěng":["硻"],"yān yǎn":["硽"],"zhuì chuí duǒ":["硾"],"kōng kòng":["硿"],"zòng cóng":["碂"],"jiān zhàn":["碊"],"lù liù":["碌","陆"],"què xī":["碏"],"lún lǔn lùn":["碖"],"náo gāng":["碙"],"jié yà":["碣"],"wèi wěi":["碨"],"tí dī":["碮"],"chá chā":["碴"],"qiāo què":["碻"],"sù xiè":["碿"],"liú liù":["磂","遛","鎦","馏"],"sī tí":["磃"],"bàng páng":["磅"],"huá kě gū":["磆"],"wěi kuǐ":["磈"],"xiá qià yà":["磍"],"lián qiān":["磏"],"wèi ái gài":["磑"],"lá lā":["磖"],"áo qiāo":["磝"],"pēng pèng":["磞","閛"],"yīn yǐn":["磤"],"lěi léi":["磥"],"mó mò":["磨"],"qì zhú":["磩"],"láo luò":["磱"],"pán bō":["磻"],"jí shé":["磼"],"hé qiāo qiào":["礉"],"kè huò":["礊"],"què hú":["礐"],"è qì":["礘"],cǎ:["礤","礸"],"xián xín":["礥"],"léi lěi lèi":["礧"],"yán yǎn":["礹"],"qí zhǐ":["祇","蚔"],"bēng fāng":["祊"],"bì mì":["祕"],suàn:["祘","笇","筭","算","蒜"],"piào piāo":["票"],"jì zhài":["祭"],"shuì lèi":["祱"],"jìn jīn":["禁"],"chán shàn":["禅"],"yáng shāng":["禓"],"zhī zhǐ tí":["禔"],"shàn chán":["禪"],"yú yù ǒu":["禺"],"zǐ zì":["秄"],"chá ná":["秅"],"zhǒng zhòng chóng":["种"],"hào mào":["秏"],"kù kū":["秙"],zū:["租","葅"],chèng:["秤","穪"],"huó kuò":["秮","秳"],"chēng chèn chèng":["称","稱"],"shì zhì":["秲","銴"],"fù pū":["秿"],"xùn zè":["稄"],"tú shǔ":["稌"],"zhùn zhǔn":["稕"],"jī qí":["稘","綨","觭"],"léng líng":["稜"],"zuì zú sū":["稡"],"xì qiè":["稧","郄"],"zhǒng zhòng":["種"],"zōng zǒng":["稯"],"xián jiān liàn":["稴"],"zī jiū":["稵"],"jī qǐ":["稽"],ròng:["穃"],"shān cǎn cēn":["穇"],"mén méi":["穈"],"jǐ jì":["穖"],"xiāo rào":["穘"],"zhuō bó":["穛"],"tóng zhǒng zhòng":["穜"],zuō:["穝"],"biāo pāo":["穮","藨"],"zhuō jué":["穱"],"cuán zàn":["穳"],"kōng kòng kǒng":["空"],"yū yǔ":["穻"],zhǎi:["窄","鉙"],báo:["窇","雹"],"kū zhú":["窋"],"jiào liáo liù":["窌"],"wā guī":["窐"],"tiǎo yáo":["窕"],"xūn yìn":["窨"],"yà yē":["窫"],"tián diān yǎn":["窴"],"chāo kē":["窼"],"kuǎn cuàn":["窽","窾"],"chù qì":["竐"],"qǔ kǒu":["竘"],"jìng zhěn":["竧"],"kǎn kàn":["竷"],"zhú dǔ":["竺"],"lè jīn":["竻"],"zhuì ruì":["笍"],"háng hàng":["笐"],"cén jìn hán":["笒"],"dā xiá nà":["笚"],"zé zuó":["笮"],"lóng lǒng":["笼","篭","籠","躘","龓"],"zhù zhú":["筑","築"],"dá dā":["答","荅"],shāi:["筛","篩","簁","籭"],"yún jūn":["筠"],"láng làng":["筤","郎","阆"],"zhì zhǐ":["筫"],o:["筽"],"póu bù fú pú":["箁"],"pái bēi":["箄"],gè:["箇","虼","鉻","铬"],"tái chí":["箈"],"guǎi dài":["箉"],"zhào dào":["箌"],"jīng qìng":["箐"],"lín lǐn":["箖"],"jùn qūn":["箘"],"shī yí":["箷","釶"],"yuē yào chuò":["箹"],"xiāo shuò qiào":["箾"],"gōng gǎn lǒng":["篢"],"páng péng":["篣"],"zhuó huò":["篧"],"jiǎn jiān":["篯"],"dí zhú":["篴"],"zān cēn cǎn":["篸"],"zhuàn suǎn zuàn":["篹"],"piǎo biāo":["篻"],"guó guì":["簂"],"cè jí":["簎"],"mì miè":["簚"],"shāi sī":["簛"],"sǔn zhuàn":["簨"],"gàn gǎn":["簳"],"bò bǒ":["簸"],"bó bù":["簿"],shi:["籂"],"zhēn jiān":["籈"],"zhuàn zuǎn":["籑"],"fān pān biān":["籓"],"sǒu shǔ":["籔"],zuǎn:["籫","繤","纂","纉","纘","缵"],nǚ:["籹","釹","钕"],"shā chǎo":["粆"],"kāng jīng":["粇"],fěn:["粉","黺"],cū:["粗","觕","麁","麄","麤"],"nián zhān":["粘"],"cè sè":["粣"],"zhōu yù":["粥"],"shēn sǎn":["糁"],"biān biǎn":["糄","萹"],miàn:["糆","面","靣","麪","麫","麵","麺"],"hú hū hù":["糊"],"gǔ gòu":["糓"],"mí méi":["糜"],"sǎn shēn":["糝","糣"],zāo:["糟","蹧","遭","醩"],"mì sī":["糸"],"jiū jiǔ":["糺"],"xì jì":["系","繫"],"zhēng zhěng":["糽"],"chà chǎ":["紁","衩"],"yuē yāo":["約","约"],"hóng gōng":["紅","红"],"hé gē":["紇","纥"],"wén wèn":["紋","纹"],fóu:["紑"],"jì jié jiè":["紒"],"pī pí bǐ":["紕","纰"],"jīn jìn":["紟"],"zhā zā":["紥","紮"],hā:["紦"],"fū fù":["紨"],"chōu chóu":["紬"],"lèi léi lěi":["累"],"bō bì":["紴"],"tiǎn zhěn":["紾"],"jiōng jiǒng":["絅"],"jié jiē":["結","结","节"],"guà kuā":["絓"],"bǎi mò":["絔"],"gēng huán":["絙"],"jié xié":["絜"],"quán shuān":["絟"],"gǎi ǎi":["絠"],"luò lào":["絡","络"],"bīng bēng pēng":["絣"],"gěi jǐ":["給","给"],"tóng tōng dòng":["絧"],"tiào diào dào":["絩"],"lěi lèi léi":["絫"],"gāi hài":["絯"],"chī zhǐ":["絺"],"wèn miǎn mán wàn":["絻"],"huán huàn wàn":["綄"],"qīn xiān":["綅"],"tì tí":["綈"],"yán xiàn":["綖"],"zōng zèng zòng":["綜"],"chēn lín":["綝"],"zhǔn zhùn":["綧"],"qiàn qīng zhēng":["綪"],"qìng qǐ":["綮"],"lún guān":["綸","纶"],"chuò chāo":["綽","绰"],"tián tǎn chān":["緂"],"lǜ lù":["緑","绿"],"ruǎn ruàn":["緛"],"jí qī":["緝"],"zhòng chóng":["緟","重"],"miáo máo":["緢"],"xiè yè":["緤"],huǎn:["緩","缓","㬊"],"gēng gèng":["緪","縆"],"tōu xū shū":["緰"],"zōng zòng":["緵","繌"],"yùn gǔn":["緷"],"guā wō":["緺"],"yùn yūn wēn":["緼","縕"],"bāng bàng":["縍"],"gǔ hú":["縎","鶻"],"cī cuò suǒ":["縒"],"cuī shuāi":["縗"],"róng rǒng ròng":["縙"],"zài zēng":["縡"],cài:["縩","菜","蔡"],"féng fèng":["縫"],"suō sù":["縮","缩"],"yǎn yǐn":["縯","酓"],"zòng zǒng":["縱","纵"],"zhuàn juàn":["縳"],"mò mù":["縸","莫"],"piǎo piāo":["縹","缥"],"fán pó":["繁"],"bēng bèng":["繃"],"móu miù miào liǎo":["繆"],"yáo yóu zhòu":["繇"],"zēng zèng":["繒","缯"],"jú jué":["繘"],"chuō chuò":["繛"],"zūn zǔn":["繜"],rào:["繞","绕","遶"],"chǎn chán":["繟"],"huì huí":["繢","缋","藱"],"qiāo sāo zǎo":["繰"],"jiǎo zhuó":["繳","缴"],"dàn tán chán":["繵"],nǒng:["繷"],"pú fú":["纀"],"yào lì":["纅"],"rǎng xiāng":["纕"],"lí sǎ xǐ lǐ":["纚"],"xiān qiàn":["纤"],"jīng jìng":["经"],"tí tì":["绨"],"bēng běng bèng":["绷"],"zōng zèng":["综"],"jī qī":["缉"],"wēn yùn yūn":["缊"],"fèng féng":["缝"],"shuāi cuī suī":["缞"],"miù móu liáo miào mù":["缪"],"qiāo sāo":["缲"],fǒu:["缶","缹","缻","雬","鴀"],"bà ba pí":["罢","罷"],"guà guǎi":["罫"],"yáng xiáng":["羊","羏"],"měi gāo":["羙"],"yì xī":["羛"],"qiǎng qiān":["羟"],"qiāng kòng":["羫"],"qián xián yán":["羬"],nóu:["羺"],"hóng gòng":["羾"],"pī bì pō":["翍"],"qú yù":["翑"],ké:["翗"],"qiào qiáo":["翘"],"zhái dí":["翟"],"dào zhōu":["翢"],"hóu qú":["翵"],shuǎ:["耍"],"ruǎn nuò":["耎"],"ér nài":["耏"],"zhuān duān":["耑"],"pá bà":["耙"],"chí sì":["耛"],"qù chú":["耝"],"lún lǔn":["耣"],"jí jiè":["耤"],"tāng tǎng":["耥"],pǎng:["耪","覫"],"zhá zé":["耫"],"yē yé":["耶"],"yún yíng":["耺"],"wà tuǐ zhuó":["聉"],"ér nǜ":["聏"],"tiē zhé":["聑"],"dǐ zhì":["聜"],qié:["聺"],"nǐ jiàn":["聻"],"lèi lē":["肋"],cào:["肏","襙","鄵","鼜"],"bó dí":["肑"],"xiào xiāo":["肖"],"dù dǔ":["肚"],chāi:["肞","釵","钗"],"hán qín hàn":["肣"],"pàng pán pàn":["肨","胖"],"zhūn chún":["肫"],āng:["肮","骯"],"yù yō":["育"],"pí bǐ bì":["肶"],"fèi bì":["胇"],"bèi bēi":["背"],"fèi zǐ":["胏"],"píng pēng":["胓","苹"],"fū fú zhǒu":["胕"],"shèng shēng":["胜"],kuà:["胯","跨","骻"],"gǎi hǎi":["胲"],"gē gé gā":["胳"],"néng nài":["能"],"guī kuì":["胿"],"mài mò":["脉"],"zāng zàng":["脏"],"jiǎo jué":["脚","角"],cuǒ:["脞"],"de te":["脦"],"zuī juān":["脧"],něi:["脮","腇","餒","馁","鮾","鯘"],"pú fǔ":["脯"],niào:["脲"],shuí:["脽"],guò:["腂","過","鐹"],"là xī":["腊"],"yān ā":["腌"],"gāo gào":["膏"],"lù biāo":["膔"],chuái:["膗"],"zhuān chuán chún zhuǎn":["膞"],chuài:["膪","踹"],"fán pán":["膰"],"wǔ hū":["膴"],"shān dàn":["膻"],tún:["臀","臋","蛌","豘","豚","軘","霕","飩","饨","魨","鲀","黗"],"bì bei":["臂"],"là gé":["臈"],"sào sāo":["臊"],nào:["臑","閙","闹","鬧"],"ní luán":["臡"],"qiān xián":["臤"],"guàng jiǒng":["臦"],"guǎng jiǒng":["臩"],"chòu xiù":["臭"],"mián biān":["臱"],"dié zhí":["臷"],"zhī jìn":["臸"],"shè shě":["舍"],pù:["舖","舗"],"bān bō pán":["般"],kuā:["舿"],"gèn gěn":["艮"],"sè shǎi":["色"],"fú bó":["艴"],"jiāo qiú":["艽"],"chāi chā":["芆"],"sháo què":["芍"],"hù xià":["芐"],"zì zǐ":["芓"],"huì hū":["芔"],"tún chūn":["芚"],"jiè gài":["芥"],"xù zhù":["芧"],"yuán yán":["芫"],"xīn xìn":["芯"],"lún huā":["芲"],"wù hū":["芴"],"gōu gǒu":["芶"],"mào máo":["芼"],"fèi fú":["芾"],"chán yín":["苂"],qiē:["苆"],"sū sù":["苏"],"tiáo sháo":["苕"],"lì jī":["苙"],"kē hē":["苛"],"jù qǔ":["苣"],"ruò rě":["若"],"zhù níng":["苧"],"pā bó":["苩"],xiú:["苬"],"zhǎ zuó":["苲"],"jū chá":["苴"],nié:["苶"],"shēng ruí":["苼"],"qié jiā":["茄"],"zǐ cí":["茈"],"qiàn xī":["茜"],chǎi:["茝"],"fá pèi":["茷"],ráo:["荛","蕘","襓","饒","饶"],"yíng xíng":["荥"],"qián xún":["荨","蕁"],"yìn yīn":["荫"],"hé hè":["荷"],"shā suō":["莎"],"péng fēng":["莑"],"shēn xīn":["莘"],"wǎn guān guǎn":["莞"],"yóu sù":["莤"],"shāo xiāo":["莦","蛸"],"làng liáng":["莨"],"piǎo fú":["莩"],"wèn wǎn miǎn":["莬"],"shì shí":["莳","蒔"],"tù tú":["莵"],"xiān liǎn":["莶","薟"],"wǎn yù":["菀"],"zōu chù":["菆"],"lù lǜ":["菉"],"jūn jùn":["菌"],"niè rěn":["菍"],"zī zì zāi":["菑"],"tú tù":["菟"],"jiē shà":["菨"],"qiáo zhǎo":["菬"],"tái zhī chí":["菭"],"fēi fěi":["菲","蜚"],"qín qīn jīn":["菳"],"zū jù":["菹","蒩"],"lǐn má":["菻"],"tián tiàn":["菾"],tiē:["萜","貼","贴"],"luò là lào luō":["落"],"zhù zhuó zhe":["著"],"shèn rèn":["葚"],"gě gé":["葛"],"jùn suǒ":["葰"],"kuì kuài":["蒉"],"rú ná":["蒘"],"méng mēng měng":["蒙"],"yuán huán":["蒝"],"xú shú":["蒣"],"xí xì":["蒵"],"mì míng":["蓂"],"sōu sǒu":["蓃"],"gài gě hé hài":["蓋"],"yǎo zhuó":["蓔"],"diào tiáo dí":["蓧"],"xū qiū fū":["蓲"],"zí jú":["蓻"],"liǎo lù":["蓼"],xu:["蓿"],"hàn hǎn":["蔊"],"màn wàn mán":["蔓"],"pó bò":["蔢"],"fān fán bō":["蕃"],"hóng hòng":["蕻"],"yù ào":["薁","隩"],"xí xiào":["薂"],"báo bó bò":["薄"],"cí zī":["薋"],"wàn luàn":["薍"],"kǎo hāo":["薧"],"yuǎn wěi":["薳"],"zhòu chóu":["薵"],"wō mái":["薶"],"xiāo hào":["藃"],"yù xù xū":["藇"],"jiè jí":["藉"],"diào zhuó":["藋"],"cáng zàng":["藏"],lǎ:["藞"],"chú zhū":["藸"],"pín píng":["蘋"],"gān hán":["虷"],"hóng jiàng":["虹"],"huī huǐ":["虺"],"xiā há":["虾"],"mǎ mà mā":["蚂"],"fāng bàng":["蚄"],"bàng bèng":["蚌"],"jué quē":["蚗"],"qín qián":["蚙"],"gōng zhōng":["蚣"],"fǔ fù":["蚥"],"dài dé":["蚮"],"gǒu qú xù":["蚼"],"bǒ pí":["蚾"],"shé yí":["蛇"],tiě:["蛈","鉄","銕","鐡","鐵","铁","驖"],"gé luò":["蛒"],"máng bàng":["蛖"],"yì xǔ":["蛡"],"há gé":["蛤"],"qiè ní":["蛪"],"é yǐ":["蛾"],"zhē zhé":["蜇"],"là zhà":["蜡"],suò:["蜶","逤"],"yóu qiú":["蝤"],"xiā hā":["蝦"],"xī qī":["螇"],"bī pí":["螕"],"nài něng":["螚"],"hé xiá":["螛"],"guì huǐ":["螝"],"mǎ mā mà":["螞"],"shì zhē":["螫"],"zhì dié":["螲"],"jiàn chán":["螹"],"ma má mò":["蟆"],"mǎng měng":["蟒"],"biē bié":["蟞"],"bēn fèi":["蟦"],"láo liáo":["蟧"],"yín xún":["蟫"],"lí lǐ":["蠡"],"xuè xiě":["血"],"xíng háng hàng héng":["行"],"shuāi cuī":["衰"],"tuó tuō":["袉"],"lǐng líng":["袊"],"bào páo pào":["袌"],"jù jiē":["袓"],"hè kè":["袔"],"yí yì":["袘","貤"],"nà jué":["袦"],"bèi pī":["被"],"chǐ nuǒ":["袲"],"chǐ qǐ duǒ nuǒ":["袳"],"jiá qiā jié":["袷"],"bó mò":["袹"],"guī guà":["袿"],"liè liě":["裂"],"chéng chěng":["裎"],"jiē gé":["裓"],"dāo chóu":["裯"],"shang cháng":["裳"],"yuān gǔn":["裷"],"yǎn ān":["裺"],"tì xī":["裼"],"fù fú":["褔"],"chǔ zhǔ":["褚"],"tuì tùn":["褪"],lǎi:["襰"],"yào yāo":["要"],"qín tán":["覃"],"jiàn xiàn":["見","见"],piǎn:["覑","諞","谝","貵","𡎚"],"piē miè":["覕"],"yíng yǐng":["覮"],"qù qū":["覰","覷","觑"],"jiàn biǎn":["覵"],"luó luǎn":["覶"],"zī zuǐ":["觜"],"huà xiè":["觟"],"jiě jiè xiè":["解","觧"],"xué hù":["觷"],"lì lù":["觻"],tǎo:["討","讨"],zhùn:["訰"],"zī zǐ":["訾"],"yí dài":["詒","诒"],xiòng:["詗","诇"],"diào tiǎo":["誂"],"yí chǐ chì":["誃"],"lǎng làng":["誏"],"ēi éi ěi èi xī":["誒","诶"],shuà:["誜"],"yǔ yù":["語","语","雨"],"shuō shuì yuè":["說","说"],"shuí shéi":["誰","谁"],"qū juè":["誳"],"chī lài":["誺"],"nì ná":["誽"],"diào tiáo":["調"],"pǐ bēi":["諀"],"jì jī":["諅"],"zé zuò zhǎ cuò":["諎"],"chù jí":["諔"],"háo xià":["諕"],"lùn lún":["論","论"],"shì dì":["諟"],"huà guā":["諣"],"xǐ shāi āi":["諰"],"nán nàn":["諵","難"],miù:["謬","谬"],zèn:["譖","谮"],"shí zhì":["識","识"],"juàn xuān":["讂"],"yí tuī":["讉"],zhán:["讝"],"xǔ hǔ":["许"],"xiáng yáng":["详"],"tiáo diào zhōu":["调"],"chén shèn":["谌"],"mí mèi":["谜"],"màn mán":["谩"],"gǔ yù":["谷"],"huō huò huá":["豁"],"zhì zhài":["豸"],"huān huán":["貆"],"kěn kūn":["貇"],"mò hé":["貈"],"mò hé háo":["貉"],"jù lóu":["貗"],"zé zhài":["責","责"],"dài tè":["貸"],"bì bēn":["賁"],"jiǎ gǔ jià":["賈"],"xiōng mín":["賯"],càng:["賶"],"zhuàn zuàn":["賺","赚"],"wàn zhuàn":["贃"],"gàn gòng zhuàng":["贛"],"yuán yùn":["贠"],"bēn bì":["贲"],"jiǎ gǔ":["贾"],zǒu:["走","赱","鯐"],"dié tú":["趃"],"jū qiè":["趄"],"qū cù":["趋","趨"],"jí jié":["趌"],"guā huó":["趏"],"què qì jí":["趞"],"tàng tāng":["趟"],"chuō zhuó":["趠"],"qù cù":["趣"],"yuè tì":["趯"],"bō bào":["趵"],"kuà wù":["趶"],"guì jué":["趹"],"fāng fàng páng":["趽"],"páo bà":["跁"],"qí qǐ":["跂"],"jiàn chén":["跈"],"pǎo páo":["跑"],"diǎn diē tiē":["跕"],"jū jù qiè":["跙"],bǒ:["跛"],"luò lì":["跞"],"dài duò duō chí":["跢"],zhuǎi:["跩"],"bèng pián":["跰"],"tiào táo":["跳"],"shū chōu":["跾"],"liàng liáng":["踉"],"tà tā":["踏"],chǎ:["蹅","鑔","镲"],"dí zhí":["蹢"],"dēng dèng":["蹬","鐙","镫"],cèng:["蹭"],"dūn cún":["蹲"],"juě jué":["蹶"],liāo:["蹽"],"xiè sǎ":["躠"],tǐ:["躰","軆","骵"],"yà zhá gá":["轧","軋"],"xìn xiàn":["軐"],"fàn guǐ":["軓"],"zhuàn zhuǎn":["転"],"zhóu zhòu":["軸","轴"],bú:["轐","醭","鳪"],"zhuǎn zhuàn zhuǎi":["转"],"zǎi zài":["载"],"niǎn zhǎn":["辗"],"biān bian":["边"],"dào biān":["辺"],"yǐ yí":["迆","迤","迱"],"guò guo guō":["过"],"wàng kuāng":["迋"],"hái huán":["还"],"zhè zhèi":["这"],"yuǎn yuàn":["远"],"zhì lì":["迣"],"zhù wǎng":["迬"],"zhuī duī":["追"],"shì kuò":["适"],tòu:["透"],"tōng tòng":["通"],guàng:["逛"],"dǎi dài":["逮"],"suì suí":["遂"],"tí dì":["遆"],"yí wèi":["遗"],"shì dí zhé":["適"],cà:["遪"],"huán hái":["還"],"lí chí":["邌"],"kàng háng":["邟"],"nà nèi nā":["那"],"xié yá yé yú xú":["邪"],"gāi hái":["郂"],"huán xún":["郇"],"chī xī":["郗"],hǎo:["郝"],"lì zhí":["郦"],"xiáo ǎo":["郩"],"dōu dū":["都"],liǎo:["曢","鄝","镽"],"zàn cuán cuó":["酂","酇"],"dīng dǐng":["酊"],"cù zuò":["酢"],"fā pō":["酦"],"shāi shī":["酾"],niàng:["酿","醸"],"qiú chōu":["醔"],"pō fā":["醗","醱"],"chǎn chěn":["醦"],"yàn liǎn xiān":["醶"],"niàng niáng":["釀"],"lǐ li":["里"],"lí xǐ xī":["釐"],"liǎo liào":["釕"],"dīng dìng":["釘","钉"],"qiǎo jiǎo":["釥"],"yú huá":["釪"],"huá wū":["釫"],"rì rèn jiàn":["釰","釼"],"dì dài":["釱"],"pī zhāo":["釽"],"yá yé":["釾"],"bǎ pá":["鈀","钯"],"tā tuó":["鉈","铊"],běi:["鉳"],"bǐng píng":["鉼"],"hā kē":["鉿","铪"],chòng:["銃","铳"],"xiǎng jiōng":["銄"],"yù sì":["銉"],"xù huì":["銊"],"rén rěn":["銋"],"shàn shuò":["銏"],"chì lì":["銐"],"xiǎn xǐ":["銑","铣"],"hóu xiàng":["銗"],"diào tiáo yáo":["銚"],"xiān kuò tiǎn guā":["銛","銽","铦"],"zhé niè":["銸"],"zhōng yōng":["銿"],"tōu tù dòu":["鋀"],"méi méng":["鋂"],"wàn jiǎn":["鋄","鎫"],"tǐng dìng":["鋌","铤"],"juān jiān cuān":["鋑"],"sī tuó":["鋖"],"juān xuān juàn":["鋗"],"wú huá wū":["鋘"],"zhuó chuò":["鋜"],"xíng xìng jīng":["鋞"],"jū jú":["鋦","锔"],"zuì niè":["鋷"],"yuān yuǎn wǎn wān":["鋺"],"gāng gàng":["鋼","钢"],zhuī:["錐","锥","騅","骓","鵻"],ā:["錒","锕"],"cuō chā":["鎈"],"suǒ sè":["鎍"],"yáo zú":["鎐"],"yè tà gé":["鎑"],"qiāng chēng":["鎗"],"gé lì":["鎘","镉","鬲"],"bī pī bì":["鎞"],"gǎo hào":["鎬"],"zú chuò":["鏃"],"xiū xiù":["鏅"],"shòu sōu":["鏉"],"dí dī":["鏑","镝"],"qiāo sǎn càn":["鏒"],"lù áo":["鏕"],"tāng táng":["鏜"],"jiàn zàn":["鏩"],"huì suì ruì":["鏸"],"qiǎng qiāng":["鏹","镪"],"sǎn xiàn sà":["鏾"],"jiǎn jiàn":["鐧","锏"],"dāng chēng":["鐺","铛"],"zuān zuàn":["鑽"],"sà xì":["钑"],"yào yuè":["钥"],"tǒu dǒu":["钭"],"zuàn zuān":["钻"],"qiān yán":["铅"],"pí pī":["铍"],"yáo diào tiáo":["铫"],"tāng tàng":["铴"],"pù pū":["铺"],"tán xiān":["锬"],"liù liú":["镏"],"hào gǎo":["镐"],"táng tāng":["镗"],"tán chán xín":["镡"],"huò shǎn":["閄"],"hàn bì":["閈","闬"],"kāng kàng":["閌","闶"],"xián jiàn jiān jiǎn":["閒"],"xiā xiǎ":["閕"],"xiǎ kě":["閜"],"biàn guān":["閞"],"hé gé":["閤","颌"],"hòng xiàng":["閧"],"sē xī":["閪"],"tíng tǐng":["閮"],"è yān":["閼","阏"],"hòng juǎn xiàng":["闂"],"bǎn pàn":["闆"],"dū shé":["闍","阇"],"què quē":["闕"],"tāng táng chāng":["闛"],"kàn hǎn":["闞","阚"],"xì sè tà":["闟"],"mēn mèn":["闷"],"quē què":["阙"],"yán diàn":["阽"],"ā ē":["阿"],"bēi pō pí":["陂"],"yàn yǎn":["隁"],"yú yáo shù":["隃"],"lóng lōng":["隆"],"duì zhuì":["隊"],"suí duò":["隋"],"gāi qí ái":["隑"],"huī duò":["隓","隳"],"wěi kuí":["隗"],"lì dài":["隸"],"zhuī cuī wéi":["隹"],"hè hú":["隺","鶮"],"jùn juàn":["隽","雋"],"nán nàn nuó":["难"],"què qiāo qiǎo":["雀"],"guàn huán":["雚"],"guī xī":["雟"],"sè xí":["雭"],án:["雸"],"wù méng":["雺"],tèng:["霯"],"lù lòu":["露"],mái:["霾"],"jìng liàng":["靚"],"gé jí":["革"],bǎ:["靶"],"yāng yàng":["鞅"],"gé tà sǎ":["鞈"],"biān yìng":["鞕"],"qiào shāo":["鞘"],"juān xuān":["鞙"],"shàng zhǎng":["鞝"],"pí bǐng bì bēi":["鞞"],la:["鞡"],"xiè dié":["鞢"],ēng:["鞥"],"móu mù":["鞪"],"bì bǐng":["鞸"],"mèi wà":["韎"],rǒu:["韖"],"shè xiè":["韘"],"yùn wēn":["韫"],"dùn dú":["頓","顿"],duǐ:["頧"],luō:["頱"],"bīn pín":["頻"],yóng:["顒","颙","鰫"],mān:["顢","颟"],"jǐng gěng":["颈"],"jié xié jiá":["颉"],"kē ké":["颏"],"pín bīn":["频"],"chàn zhàn":["颤"],"fēng fěng":["風","风"],"biāo diū":["颩"],"bá fú":["颰"],"sāo sōu":["颾"],"liù liáo":["飂"],"shí sì yì":["食"],"yǎng juàn":["飬"],"zhù tǒu":["飳"],"yí sì":["飴"],"zuò zé zhā":["飵"],tiè:["飻","餮"],"xiǎng náng":["饟"],"táng xíng":["饧"],"gē le":["饹"],"chā zha":["馇"],"náng nǎng":["馕"],"yūn wò":["馧"],"zhī shì":["馶"],"xìn jìn":["馸"],"kuài jué":["駃"],zǎng:["駔","驵"],"tái dài":["駘"],"xún xuān":["駨"],"liáng láng":["駺"],piàn:["騗","騙","骗","魸"],"dài tái":["骀"],"sāo sǎo":["骚"],"gǔ gū":["骨"],"bèi mó":["骳"],"xiāo qiāo":["骹"],"bǎng pǎng":["髈"],"bó jué":["髉"],"bì pǒ":["髲"],"máo méng":["髳"],"kuò yuè":["髺"],"bā bà":["魞","鲃"],"jì cǐ":["鮆"],"bó bà":["鮊"],"zhǎ zhà":["鮓","鲊"],"chóu dài":["鮘"],"luò gé":["鮥"],"guī xié wā kuí":["鮭"],"xiān xiǎn":["鮮","鲜"],"pū bū":["鯆"],"yì sī":["鯣"],"bà bó":["鲌"],"guī xié":["鲑"],"sāi xǐ":["鳃"],"niǎo diǎo":["鳥"],"diāo zhāo":["鳭"],"gān hàn yàn":["鳱"],"fū guī":["鳺"],"jiān qiān zhān":["鳽"],"hé jiè":["鶡"],"piān biǎn":["鶣"],"chuàn zhì":["鶨"],"cāng qiāng":["鶬"],"sǔn xùn":["鶽"],"biāo páo":["麃"],"zhù cū":["麆"],"jūn qún":["麇","麕"],chi:["麶"],"mó me":["麼"],"mó me ma":["麽"],"mí mǒ":["麿"],"dàn shèn":["黮"],"zhěn yān":["黰"],"dǎn zhǎn":["黵"],"miǎn mǐn měng":["黾"],hōu:["齁"],nàng:["齉"],"qí jì zī zhāi":["齐"],"yín kěn yǎn":["龂"],"yín kěn":["龈"],"gōng wò":["龏"],"guī jūn qiū":["龜","龟"],"kuí wā":["䖯"],lōu:["䁖"],"ōu qū":["𫭟"],"lóu lǘ":["𦝼"],"gǎ gā gá":["嘎"],"wā guà":["坬"],"zhǐ dǐ":["茋"],"gǒng hóng":["硔"],"yáo xiào":["滧"]},M=new Wn;Object.keys(vn).forEach(n=>{const i=vn[n];for(let g of i)M.set(g,n)});const rg=["zh","ch","sh","z","c","s","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","y","w",""],jg=["j","q","x"],ag=["uān","uán","uǎn","uàn","uan","uē","ué","uě","uè","ue","ūn","ún","ǔn","ùn","un","ū","ú","ǔ","ù","u"],bg={uān:"üān",uán:"üán",uǎn:"üǎn",uàn:"üàn",uan:"üan",uē:"üē",ué:"üé",uě:"üě",uè:"üè",ue:"üe",ūn:"ǖn",ún:"ǘn",ǔn:"ǚn",ùn:"ǜn",un:"ün",ū:"ǖ",ú:"ǘ",ǔ:"ǚ",ù:"ǜ",u:"ü"},xg=["ia","ian","iang","iao","ie","iu","iong","ua","uai","uan","uang","ue","ui","uo","üan","üe","van","ve"],Pn={一:"yì",二:"èr",三:"sān",四:"sì",五:"wǔ",六:"liù",七:"qī",八:"bā",九:"jiǔ",十:"shí",百:"bǎi",千:"qiān",万:"wàn",亿:"yì",单:"dān",两:"liǎng",双:"shuāng",多:"duō",几:"jǐ",十一:"shí yī",零一:"líng yī",第一:"dì yī",一十:"yī shí",一十一:"yī shí yī"},Sn={重:"chóng",行:"háng",斗:"dǒu",更:"gēng"};function mg(){const n={零一:"líng yī","〇一":"líng yī",十一:"shí yī",一十:"yī shí",第一:"dì yī",一十一:"yī shí yī"};for(let i in Pn)for(let g in Sn){const u=`${i}${g}`,h=`${Pn[i]} ${Sn[g]}`;n[u]=h}return n}const Tn=mg(),fg=Object.keys(Tn).map(n=>({zh:n,pinyin:Tn[n],probability:1e-12,length:S(n),priority:v.Normal,dict:Symbol("rule")})),$n={不:{bú:[4]},一:{yí:[4],yì:[1,2,3]}},wg={不:["的","而","之","后","也","还","地"],一:["的","而","之","后","也","还","是"]},qg=Object.keys($n);function pg(n,i,g){if(qg.indexOf(n)===-1)return W(n);if(i===g&&i&&W(i)!==i)return G(W(n));if(g&&!wg[n].includes(g)){const u=W(g);if(u!==g){const h=J(u),s=$n[n];for(let o in s)if(s[o].indexOf(Number(h))!==-1)return o}}}function kg(n,i){if(n==="了"&&(!i||!M.get(i)))return"liǎo"}function vg(n,i){if(n==="々")return!i||!M.get(i)?"tóng":M.get(i).split(" ")[0]}function Cn(n,i,g){return vg(n,i)||kg(n,i)||pg(n,i,g)||W(n)}const en={南宫:"nán gōng",第五:"dì wǔ",万俟:"mò qí",司马:"sī mǎ",上官:"shàng guān",欧阳:"ōu yáng",夏侯:"xià hóu",诸葛:"zhū gě",闻人:"wén rén",东方:"dōng fāng",赫连:"hè lián",皇甫:"huáng fǔ",尉迟:"yù chí",公羊:"gōng yáng",澹台:"tán tái",公冶:"gōng yě",宗政:"zōng zhèng",濮阳:"pú yáng",淳于:"chún yú",太叔:"tài shū",申屠:"shēn tú",公孙:"gōng sūn",仲孙:"zhòng sūn",轩辕:"xuān yuán",令狐:"líng hú",钟离:"zhōng lí",宇文:"yǔ wén",长孙:"zhǎng sūn",慕容:"mù róng",鲜于:"xiān yú",闾丘:"lǘ qiū",司徒:"sī tú",司空:"sī kōng",亓官:"qí guān",司寇:"sī kòu",仉督:"zhǎng dū",子车:"zǐ jū",颛孙:"zhuān sūn",端木:"duān mù",巫马:"wū mǎ",公西:"gōng xī",漆雕:"qī diāo",乐正:"yuè zhèng",壤驷:"rǎng sì",公良:"gōng liáng",拓跋:"tuò bá",夹谷:"jiá gǔ",宰父:"zǎi fǔ",榖梁:"gǔ liáng",段干:"duàn gān",百里:"bǎi lǐ",东郭:"dōng guō",南门:"nán mén",呼延:"hū yán",羊舌:"yáng shé",梁丘:"liáng qiū",左丘:"zuǒ qiū",东门:"dōng mén",西门:"xī mén",句龙:"gōu lóng",毌丘:"guàn qiū",赵:"zhào",钱:"qián",孙:"sūn",李:"lǐ",周:"zhōu",吴:"wú",郑:"zhèng",王:"wáng",冯:"féng",陈:"chén",褚:"chǔ",卫:"wèi",蒋:"jiǎng",沈:"shěn",韩:"hán",杨:"yáng",朱:"zhū",秦:"qín",尤:"yóu",许:"xǔ",何:"hé",吕:"lǚ",施:"shī",张:"zhāng",孔:"kǒng",曹:"cáo",严:"yán",华:"huà",金:"jīn",魏:"wèi",陶:"táo",姜:"jiāng",戚:"qī",谢:"xiè",邹:"zōu",喻:"yù",柏:"bǎi",水:"shuǐ",窦:"dòu",章:"zhāng",云:"yún",苏:"sū",潘:"pān",葛:"gě",奚:"xī",范:"fàn",彭:"péng",郎:"láng",鲁:"lǔ",韦:"wéi",昌:"chāng",马:"mǎ",苗:"miáo",凤:"fèng",花:"huā",方:"fāng",俞:"yú",任:"rén",袁:"yuán",柳:"liǔ",酆:"fēng",鲍:"bào",史:"shǐ",唐:"táng",费:"fèi",廉:"lián",岑:"cén",薛:"xuē",雷:"léi",贺:"hè",倪:"ní",汤:"tāng",滕:"téng",殷:"yīn",罗:"luó",毕:"bì",郝:"hǎo",邬:"wū",安:"ān",常:"cháng",乐:"yuè",于:"yú",时:"shí",傅:"fù",皮:"pí",卞:"biàn",齐:"qí",康:"kāng",伍:"wǔ",余:"yú",元:"yuán",卜:"bǔ",顾:"gù",孟:"mèng",平:"píng",黄:"huáng",和:"hé",穆:"mù",萧:"xiāo",尹:"yǐn",姚:"yáo",邵:"shào",湛:"zhàn",汪:"wāng",祁:"qí",毛:"máo",禹:"yǔ",狄:"dí",米:"mǐ",贝:"bèi",明:"míng",臧:"zāng",计:"jì",伏:"fú",成:"chéng",戴:"dài",谈:"tán",宋:"sòng",茅:"máo",庞:"páng",熊:"xióng",纪:"jǐ",舒:"shū",屈:"qū",项:"xiàng",祝:"zhù",董:"dǒng",梁:"liáng",杜:"dù",阮:"ruǎn",蓝:"lán",闵:"mǐn",席:"xí",季:"jì",麻:"má",强:"qiáng",贾:"jiǎ",路:"lù",娄:"lóu",危:"wēi",江:"jiāng",童:"tóng",颜:"yán",郭:"guō",梅:"méi",盛:"shèng",林:"lín",刁:"diāo",钟:"zhōng",徐:"xú",邱:"qiū",骆:"luò",高:"gāo",夏:"xià",蔡:"cài",田:"tián",樊:"fán",胡:"hú",凌:"líng",霍:"huò",虞:"yú",万:"wàn",支:"zhī",柯:"kē",昝:"zǎn",管:"guǎn",卢:"lú",莫:"mò",经:"jīng",房:"fáng",裘:"qiú",缪:"miào",干:"gān",解:"xiè",应:"yīng",宗:"zōng",丁:"dīng",宣:"xuān",贲:"bēn",邓:"dèng",郁:"yù",单:"shàn",杭:"háng",洪:"hóng",包:"bāo",诸:"zhū",左:"zuǒ",石:"shí",崔:"cuī",吉:"jí",钮:"niǔ",龚:"gōng",程:"chéng",嵇:"jī",邢:"xíng",滑:"huá",裴:"péi",陆:"lù",荣:"róng",翁:"wēng",荀:"xún",羊:"yáng",於:"yū",惠:"huì",甄:"zhēn",曲:"qū",家:"jiā",封:"fēng",芮:"ruì",羿:"yì",储:"chǔ",靳:"jìn",汲:"jí",邴:"bǐng",糜:"mí",松:"sōng",井:"jǐng",段:"duàn",富:"fù",巫:"wū",乌:"wū",焦:"jiāo",巴:"bā",弓:"gōng",牧:"mù",隗:"wěi",山:"shān",谷:"gǔ",车:"chē",侯:"hóu",宓:"mì",蓬:"péng",全:"quán",郗:"xī",班:"bān",仰:"yǎng",秋:"qiū",仲:"zhòng",伊:"yī",宫:"gōng",宁:"nìng",仇:"qiú",栾:"luán",暴:"bào",甘:"gān",钭:"tǒu",厉:"lì",戎:"róng",祖:"zǔ",武:"wǔ",符:"fú",刘:"liú",景:"jǐng",詹:"zhān",束:"shù",龙:"lóng",叶:"yè",幸:"xìng",司:"sī",韶:"sháo",郜:"gào",黎:"lí",蓟:"jì",薄:"bó",印:"yìn",宿:"sù",白:"bái",怀:"huái",蒲:"pú",邰:"tái",从:"cóng",鄂:"è",索:"suǒ",咸:"xián",籍:"jí",赖:"lài",卓:"zhuó",蔺:"lìn",屠:"tú",蒙:"méng",池:"chí",乔:"qiáo",阴:"yīn",鬱:"yù",胥:"xū",能:"nài",苍:"cāng",双:"shuāng",闻:"wén",莘:"shēn",党:"dǎng",翟:"zhái",谭:"tán",贡:"gòng",劳:"láo",逄:"páng",姬:"jī",申:"shēn",扶:"fú",堵:"dǔ",冉:"rǎn",宰:"zǎi",郦:"lì",雍:"yōng",郤:"xì",璩:"qú",桑:"sāng",桂:"guì",濮:"pú",牛:"niú",寿:"shòu",通:"tōng",边:"biān",扈:"hù",燕:"yān",冀:"jì",郏:"jiá",浦:"pǔ",尚:"shàng",农:"nóng",温:"wēn",别:"bié",庄:"zhuāng",晏:"yàn",柴:"chái",瞿:"qú",阎:"yán",充:"chōng",慕:"mù",连:"lián",茹:"rú",习:"xí",宦:"huàn",艾:"ài",鱼:"yú",容:"róng",向:"xiàng",古:"gǔ",易:"yì",慎:"shèn",戈:"gē",廖:"liào",庾:"yǔ",终:"zhōng",暨:"jì",居:"jū",衡:"héng",步:"bù",都:"dū",耿:"gěng",满:"mǎn",弘:"hóng",匡:"kuāng",国:"guó",文:"wén",寇:"kòu",广:"guǎng",禄:"lù",阙:"quē",东:"dōng",欧:"ōu",殳:"shū",沃:"wò",利:"lì",蔚:"wèi",越:"yuè",夔:"kuí",隆:"lóng",师:"shī",巩:"gǒng",厍:"shè",聂:"niè",晁:"cháo",勾:"gōu",敖:"áo",融:"róng",冷:"lěng",訾:"zī",辛:"xīn",阚:"kàn",那:"nā",简:"jiǎn",饶:"ráo",空:"kōng",曾:"zēng",母:"mǔ",沙:"shā",乜:"niè",养:"yǎng",鞠:"jū",须:"xū",丰:"fēng",巢:"cháo",关:"guān",蒯:"kuǎi",相:"xiàng",查:"zhā",后:"hòu",荆:"jīng",红:"hóng",游:"yóu",竺:"zhú",权:"quán",逯:"lù",盖:"gě",益:"yì",桓:"huán",公:"gōng",牟:"móu",哈:"hǎ",言:"yán",福:"fú",肖:"xiāo",区:"ōu",覃:"qín",朴:"piáo",繁:"pó",员:"yùn",句:"gōu",要:"yāo",过:"guō",钻:"zuān",谌:"chén",折:"shé",召:"shào",郄:"qiè",撒:"sǎ",甯:"nìng",六:"lù",啜:"chuài",行:"xíng"},Pg=Object.keys(en).map(n=>({zh:n,pinyin:en[n],probability:1+S(n),length:S(n),priority:v.Surname,dict:Symbol("surname")})),Dn={这个:"zhè ge",成为:"chéng wéi",认为:"rèn wéi",作为:"zuò wéi",部分:"bù fen",要求:"yāo qiú",应该:"yīng gāi",增长:"zēng zhǎng",提供:"tí gōng",觉得:"jué de",任务:"rèn wu",那个:"nà ge",称为:"chēng wéi",为主:"wéi zhǔ",了解:"liǎo jiě",处理:"chǔ lǐ",皇上:"huáng shang",只要:"zhǐ yào",大量:"dà liàng",力量:"lì liàng",几乎:"jī hū",干部:"gàn bù",目的:"mù dì",行为:"xíng wéi",只见:"zhǐ jiàn",认识:"rèn shi",市长:"shì zhǎng",师父:"shī fu",调查:"diào chá",重新:"chóng xīn",分为:"fēn wéi",知识:"zhī shi",导弹:"dǎo dàn",质量:"zhì liàng",行款:"háng kuǎn",行列:"háng liè",行话:"háng huà",行业:"háng yè",隔行:"gé háng",在行:"zài háng",行家:"háng jia",内行:"nèi háng",外行:"wài háng",同行:"tóng háng",本行:"běn háng",行伍:"háng wǔ",洋行:"yáng háng",银行:"yín háng",商行:"shāng háng",支行:"zhī háng",总行:"zǒng háng",行情:"háng qíng",懂行:"dǒng háng",行规:"háng guī",行当:"háng dang",行货:"háng huò",太行:"tài háng",入行:"rù háng",中行:"zhōng háng",农行:"nóng háng",工行:"gōng háng",建行:"jiàn háng",各行:"gè háng",行号:"háng hào",行高:"háng gāo",行首:"háng shǒu",行尾:"háng wěi",行末:"háng mò",行长:"háng cháng",行距:"háng jù",换行:"huàn háng",行会:"háng huì",行辈:"háng bèi",行道:"háng dào",道行:"dào heng",参与:"cān yù",充分:"chōng fèn",尽管:"jǐn guǎn",生长:"shēng zhǎng",数量:"shù liàng",应当:"yīng dāng",院长:"yuàn zhǎng",强调:"qiáng diào",只能:"zhǐ néng",音乐:"yīn yuè",以为:"yǐ wéi",处于:"chǔ yú",部长:"bù zhǎng",蒙古:"měng gǔ",只有:"zhǐ yǒu",适当:"shì dàng",只好:"zhǐ hǎo",成长:"chéng zhǎng",高兴:"gāo xìng",不了:"bù liǎo",产量:"chǎn liàng",胖子:"pàng zi",显得:"xiǎn de",只是:"zhǐ shì",似的:"shì de",率领:"shuài lǐng",改为:"gǎi wéi",不禁:"bù jīn",成分:"chéng fèn",答应:"dā ying",少年:"shào nián",兴趣:"xìng qù",太监:"tài jian",休息:"xiū xi",校长:"xiào zhǎng",更新:"gēng xīn",合同:"hé tong",喝道:"hè dào",重庆:"chóng qìng",重建:"chóng jiàn",使得:"shǐ de",审查:"shěn chá",累计:"lěi jì",给予:"jǐ yǔ",极为:"jí wéi",冠军:"guàn jūn",仿佛:"fǎng fú",头发:"tóu fa",投降:"tóu xiáng",家长:"jiā zhǎng",仔细:"zǐ xì",要是:"yào shi",将领:"jiàng lǐng",含量:"hán liàng",更为:"gèng wéi",积累:"jī lěi",地处:"dì chǔ",县长:"xiàn zhǎng",少女:"shào nǚ",路上:"lù shang",只怕:"zhǐ pà",能量:"néng liàng",储量:"chǔ liàng",供应:"gōng yìng",挑战:"tiǎo zhàn",西藏:"xī zàng",记得:"jì de",总量:"zǒng liàng",当真:"dàng zhēn",将士:"jiàng shì",差别:"chā bié",较为:"jiào wéi",长老:"zhǎng lǎo",大夫:"dài fu",差异:"chā yì",懂得:"dǒng de",尽量:"jǐn liàng",模样:"mú yàng",的确:"dí què",为首:"wéi shǒu",便宜:"pián yi",更名:"gēng míng",石头:"shí tou",州长:"zhōu zhǎng",为止:"wéi zhǐ",漂亮:"piào liang",炮弹:"pào dàn",藏族:"zàng zú",角色:"jué sè",当作:"dàng zuò",尽快:"jǐn kuài",人为:"rén wéi",重复:"chóng fù",胡同:"hú tòng",差距:"chā jù",弟兄:"dì xiong",大将:"dà jiàng",睡觉:"shuì jiào",一觉:"yí jiào",团长:"tuán zhǎng",队长:"duì zhǎng",区长:"qū zhǎng",难得:"nán dé",丫头:"yā tou",会长:"huì zhǎng",弟弟:"dì di",王爷:"wáng ye",重量:"zhòng liàng",誉为:"yù wéi",家伙:"jiā huo",华山:"huà shān",椅子:"yǐ zi",流量:"liú liàng",长大:"zhǎng dà",勉强:"miǎn qiǎng",会计:"kuài jì",过分:"guò fèn",济南:"jǐ nán",调动:"diào dòng",燕京:"yān jīng",少将:"shào jiàng",中毒:"zhòng dú",晓得:"xiǎo de",变更:"biàn gēng",打更:"dǎ gēng",认得:"rèn de",苹果:"píng guǒ",念头:"niàn tou",挣扎:"zhēng zhá",三藏:"sān zàng",剥削:"bō xuē",丞相:"chéng xiàng",少量:"shǎo liàng",寻思:"xún si",夺得:"duó dé",干线:"gàn xiàn",呼吁:"hū yù",处罚:"chǔ fá",长官:"zhǎng guān",柏林:"bó lín",亲戚:"qīn qi",身分:"shēn fèn",胳膊:"gē bo",着手:"zhuó shǒu",炸弹:"zhà dàn",咳嗽:"ké sou",叶子:"yè zi",外长:"wài zhǎng",供给:"gōng jǐ",师长:"shī zhǎng",变量:"biàn liàng",应有:"yīng yǒu",下载:"xià zài",乐器:"yuè qì",间接:"jiàn jiē",底下:"dǐ xià",打扮:"dǎ bàn",子弹:"zǐ dàn",弹药:"dàn yào",热量:"rè liàng",削弱:"xuē ruò",骨干:"gǔ gàn",容量:"róng liàng",模糊:"mó hu",转动:"zhuàn dòng",称呼:"chēng hu",科长:"kē zhǎng",处置:"chǔ zhì",着重:"zhuó zhòng",着急:"zháo jí",强迫:"qiǎng pò",庭长:"tíng zhǎng",首相:"shǒu xiàng",喇嘛:"lǎ ma",镇长:"zhèn zhǎng",只管:"zhǐ guǎn",重重:"chóng chóng",免得:"miǎn de",着实:"zhuó shí",度假:"dù jià",真相:"zhēn xiàng",相貌:"xiàng mào",处分:"chǔ fèn",委屈:"wěi qu",为期:"wéi qī",伯伯:"bó bo",伯子:"bǎi zi",圈子:"quān zi",见识:"jiàn shi",笼罩:"lǒng zhào",与会:"yù huì",都督:"dū du",都市:"dū shì",成都:"chéng dū",首都:"shǒu dū",帝都:"dì dū",王都:"wáng dū",东都:"dōng dū",都护:"dū hù",都城:"dū chéng",建都:"jiàn dū",迁都:"qiān dū",故都:"gù dū",定都:"dìng dū",中都:"zhōng dū",六安:"lù ān",宰相:"zǎi xiàng",较量:"jiào liàng",对称:"duì chèn",总长:"zǒng zhǎng",相公:"xiàng gong",空白:"kòng bái",打量:"dǎ liang",水分:"shuǐ fèn",舌头:"shé tou",没收:"mò shōu",行李:"xíng li",判处:"pàn chǔ",散文:"sǎn wén",处境:"chǔ jìng",孙子:"sūn zi",拳头:"quán tou",打发:"dǎ fā",组长:"zǔ zhǎng",骨头:"gǔ tou",宁可:"nìng kě",更换:"gēng huàn",薄弱:"bó ruò",还原:"huán yuán",重修:"chóng xiū",重来:"chóng lái",只顾:"zhǐ gù",爱好:"ài hào",馒头:"mán tou",军长:"jūn zhǎng",首长:"shǒu zhǎng",厂长:"chǎng zhǎng",司长:"sī zhǎng",长子:"zhǎng zǐ",强劲:"qiáng jìng",恰当:"qià dàng",头儿:"tóu er",站长:"zhàn zhǎng",折腾:"zhē teng",相处:"xiāng chǔ",统率:"tǒng shuài",中将:"zhōng jiàng",命中:"mìng zhòng",名将:"míng jiàng",木头:"mù tou",动弹:"dòng tan",地壳:"dì qiào",干活:"gàn huó",少爷:"shào ye",水量:"shuǐ liàng",补给:"bǔ jǐ",尾巴:"wěi ba",来得:"lái de",好奇:"hào qí",钥匙:"yào shi",当做:"dàng zuò",沉着:"chén zhuó",哑巴:"yǎ ba",车子:"chē zi",上将:"shàng jiàng",恶心:"ě xīn",担子:"dàn zi",应届:"yīng jiè",主角:"zhǔ jué",运转:"yùn zhuǎn",兄长:"xiōng zhǎng",格式:"gé shì",正月:"zhēng yuè",营长:"yíng zhǎng",当成:"dàng chéng",女婿:"nǚ xu",咽喉:"yān hóu",重阳:"chóng yáng",化为:"huà wéi",吐蕃:"tǔ bō",钻进:"zuān jìn",乐队:"yuè duì",亮相:"liàng xiàng",被子:"bèi zi",舍得:"shě de",杉木:"shā mù",击中:"jī zhòng",排长:"pái zhǎng",假期:"jià qī",分量:"fèn liàng",数次:"shù cì",提防:"dī fáng",吆喝:"yāo he",查处:"chá chǔ",量子:"liàng zǐ",里头:"lǐ tou",调研:"diào yán",伺候:"cì hou",重申:"chóng shēn",枕头:"zhěn tou",拚命:"pīn mìng",社长:"shè zhǎng",归还:"guī huán",批量:"pī liàng",畜牧:"xù mù",点着:"diǎn zháo",甚为:"shèn wéi",小将:"xiǎo jiàng",着眼:"zhuó yǎn",处死:"chǔ sǐ",厌恶:"yàn wù",鼓乐:"gǔ yuè",树干:"shù gàn",秘鲁:"bì lǔ",大方:"dà fāng",外头:"wài tou",班长:"bān zhǎng",星宿:"xīng xiù",宁愿:"nìng yuàn",钦差:"qīn chāi",为数:"wéi shù",勾当:"gòu dàng",削减:"xuē jiǎn",间谍:"jiàn dié",埋怨:"mán yuàn",结实:"jiē shi",计量:"jì liáng",淹没:"yān mò",村长:"cūn zhǎng",连长:"lián zhǎng",自给:"zì jǐ",武将:"wǔ jiàng",温差:"wēn chā",直奔:"zhí bèn",供求:"gōng qiú",剂量:"jì liàng",道长:"dào zhǎng",泄露:"xiè lòu",王八:"wáng ba",切割:"qiē gē",间隔:"jiàn gé",一晃:"yì huǎng",长假:"cháng jià",令狐:"líng hú",为害:"wéi hài",句子:"jù zi",偿还:"cháng huán",疙瘩:"gē da",燕山:"yān shān",堵塞:"dǔ sè",夺冠:"duó guàn",扎实:"zhā shi",电荷:"diàn hè",看守:"kān shǒu",复辟:"fù bì",郁闷:"yù mèn",尽早:"jǐn zǎo",切断:"qiē duàn",指头:"zhǐ tou",为生:"wéi shēng",畜生:"chù sheng",切除:"qiē chú",着力:"zhuó lì",着想:"zhuó xiǎng",级差:"jí chā",投奔:"tóu bèn",棍子:"gùn zi",含糊:"hán hu",少妇:"shào fù",兴致:"xìng zhì",纳闷:"nà mèn",干流:"gàn liú",卷起:"juǎn qǐ",扇子:"shàn zi",更改:"gēng gǎi",笼络:"lǒng luò",喇叭:"lǎ ba",载荷:"zài hè",妥当:"tuǒ dàng",为难:"wéi nán",着陆:"zhuó lù",燕子:"yàn zi",干吗:"gàn má",白发:"bái fà",总得:"zǒng děi",夹击:"jiā jī",曝光:"bào guāng",曲调:"qǔ diào",相机:"xiàng jī",叫化:"jiào huà",角逐:"jué zhú",啊哟:"ā yō",载重:"zài zhòng",长辈:"zhǎng bèi",出差:"chū chāi",垛口:"duǒ kǒu",撇开:"piē kāi",厅长:"tīng zhǎng",组分:"zǔ fèn",误差:"wù chā",家当:"jiā dàng",传记:"zhuàn jì",个子:"gè zi",铺设:"pū shè",干事:"gàn shì",杆菌:"gǎn jūn",定量:"dìng liàng",运载:"yùn zài",会儿:"huì er",酋长:"qiú zhǎng",重返:"chóng fǎn",差额:"chā é",露面:"lòu miàn",钻研:"zuān yán",大城:"dài chéng",上当:"shàng dàng",销量:"xiāo liàng",作坊:"zuō fang",照相:"zhào xiàng",哎呀:"āi yā",调集:"diào jí",看中:"kàn zhòng",议长:"yì zhǎng",风筝:"fēng zheng",辟邪:"bì xié",空隙:"kòng xì",更迭:"gēng dié",偏差:"piān chā",声调:"shēng diào",适量:"shì liàng",屯子:"tún zi",无量:"wú liàng",空地:"kòng dì",调度:"diào dù",散射:"sǎn shè",创伤:"chuāng shāng",海参:"hǎi shēn",满载:"mǎn zài",重叠:"chóng dié",落差:"luò chā",单调:"dān diào",老将:"lǎo jiàng",人参:"rén shēn",间断:"jiàn duàn",重现:"chóng xiàn",夹杂:"jiā zá",调用:"diào yòng",萝卜:"luó bo",附着:"fù zhuó",应声:"yìng shēng",主将:"zhǔ jiàng",罪过:"zuì guo",咀嚼:"jǔ jué",为政:"wéi zhèng",过量:"guò liàng",乐曲:"yuè qǔ",负荷:"fù hè",枪弹:"qiāng dàn",悄然:"qiǎo rán",处方:"chǔ fāng",悄声:"qiǎo shēng",曲子:"qǔ zi",情调:"qíng diào",挑衅:"tiǎo xìn",代为:"dài wéi",了结:"liǎo jié",打中:"dǎ zhòng",酒吧:"jiǔ bā",懒得:"lǎn de",增量:"zēng liàng",衣着:"yī zhuó",部将:"bù jiàng",要塞:"yào sài",茶几:"chá jī",杠杆:"gàng gǎn",出没:"chū mò",鲜有:"xiǎn yǒu",间隙:"jiàn xì",重担:"zhòng dàn",重演:"chóng yǎn",重试:"chóng shì",应酬:"yìng chou",只当:"zhǐ dāng",毋宁:"wú nìng",包扎:"bāo zā",前头:"qián tou",卷烟:"juǎn yān",非得:"fēi děi",弹道:"dàn dào",杆子:"gān zi",门将:"mén jiàng",后头:"hòu tou",喝彩:"hè cǎi",暖和:"nuǎn huo",累积:"lěi jī",调遣:"diào qiǎn",倔强:"jué jiàng",宝藏:"bǎo zàng",丧事:"sāng shì",约莫:"yuē mo",纤夫:"qiàn fū",更替:"gēng tì",装载:"zhuāng zài",背包:"bēi bāo",帖子:"tiě zi",松散:"sōng sǎn",呼喝:"hū hè",可恶:"kě wù",自转:"zì zhuàn",供电:"gōng diàn",反省:"fǎn xǐng",坦率:"tǎn shuài",苏打:"sū dá",本分:"běn fèn",落得:"luò de",鄙薄:"bǐ bó",相间:"xiāng jiàn",单薄:"dān bó",混蛋:"hún dàn",贞观:"zhēn guān",附和:"fù hè",能耐:"néng nài",吓唬:"xià hu",未了:"wèi liǎo",引着:"yǐn zháo",抽调:"chōu diào",沙子:"shā zi",席卷:"xí juǎn",标的:"biāo dì",别扭:"biè niu",思量:"sī liang",喝采:"hè cǎi",论语:"lún yǔ",盖子:"gài zi",分外:"fèn wài",弄堂:"lòng táng",乐舞:"yuè wǔ",雨量:"yǔ liàng",毛发:"máo fà",差遣:"chāi qiǎn",背负:"bēi fù",转速:"zhuàn sù",声乐:"shēng yuè",夹攻:"jiā gōng",供水:"gōng shuǐ",主干:"zhǔ gàn",惩处:"chéng chǔ",长相:"zhǎng xiàng",公差:"gōng chāi",榴弹:"liú dàn",省得:"shěng de",条子:"tiáo zi",重围:"chóng wéi",阻塞:"zǔ sè",劲风:"jìng fēng",纠葛:"jiū gé",颠簸:"diān bǒ",点中:"diǎn zhòng",重创:"zhòng chuāng",姥姥:"lǎo lao",迷糊:"mí hu",公家:"gōng jia",几率:"jī lǜ",苦闷:"kǔ mèn",度量:"dù liàng",差错:"chā cuò",暑假:"shǔ jià",参差:"cēn cī",搭载:"dā zài",助长:"zhù zhǎng",相称:"xiāng chèn",红晕:"hóng yùn",舍命:"shě mìng",喜好:"xǐ hào",列传:"liè zhuàn",劲敌:"jìng dí",蛤蟆:"há ma",请假:"qǐng jià",钉子:"dīng zi",沉没:"chén mò",高丽:"gāo lí",休假:"xiū jià",无为:"wú wéi",巴结:"bā jie",了得:"liǎo dé",变相:"biàn xiàng",核弹:"hé dàn",亲家:"qìng jia",承载:"chéng zài",喝问:"hè wèn",还击:"huán jī",交还:"jiāo huán",将令:"jiàng lìng",单于:"chán yú",空缺:"kòng quē",绿林:"lù lín",胆量:"dǎn liàng",执着:"zhí zhuó",低调:"dī diào",闭塞:"bì sè",轻薄:"qīng bó",得当:"dé dàng",占卜:"zhān bǔ",扫帚:"sào zhou",龟兹:"qiū cí",年长:"nián zhǎng",外传:"wài zhuàn",头子:"tóu zi",裁缝:"cái feng",礼乐:"lǐ yuè",血泊:"xuè pō",散乱:"sǎn luàn",动量:"dòng liàng",倒腾:"dǎo teng",取舍:"qǔ shě",咱家:"zán jiā",长发:"cháng fà",爪哇:"zhǎo wā",弹壳:"dàn ké",省悟:"xǐng wù",嚷嚷:"rāng rang",连累:"lián lèi",应得:"yīng dé",族长:"zú zhǎng",柜子:"guì zi",擂鼓:"léi gǔ",眩晕:"xuàn yùn",调配:"tiáo pèi",躯干:"qū gàn",差役:"chāi yì",坎坷:"kǎn kě",少儿:"shào ér",乐团:"yuè tuán",养分:"yǎng fèn",退还:"tuì huán",格调:"gé diào",语调:"yǔ diào",音调:"yīn diào",乐府:"yuè fǔ",古朴:"gǔ pǔ",打点:"dǎ diǎn",差使:"chāi shǐ",匀称:"yún chèn",瘦削:"shòu xuē",膏药:"gāo yao",吞没:"tūn mò",调任:"diào rèn",散居:"sǎn jū",上头:"shàng tóu",风靡:"fēng mǐ",放假:"fàng jià",估量:"gū liang",失当:"shī dàng",中弹:"zhòng dàn",妄为:"wàng wéi",长者:"zhǎng zhě",起哄:"qǐ hòng",末了:"mò liǎo",相声:"xiàng sheng",校正:"jiào zhèng",劝降:"quàn xiáng",矢量:"shǐ liàng",沉闷:"chén mèn",给与:"jǐ yǔ",解法:"jiě fǎ",塞外:"sài wài",将校:"jiàng xiào",嗜好:"shì hào",没落:"mò luò",朴刀:"pō dāo",片子:"piān zi",切削:"qiē xiāo",弹丸:"dàn wán",稀薄:"xī bó",亏得:"kuī dé",间歇:"jiàn xiē",翘首:"qiáo shǒu",色调:"sè diào",处决:"chǔ jué",表率:"biǎo shuài",尺子:"chǐ zi",招降:"zhāo xiáng",称职:"chèn zhí",斗篷:"dǒu peng",铺子:"pù zi",底子:"dǐ zi",负载:"fù zài",干警:"gàn jǐng",倒数:"dào shǔ",将官:"jiàng guān",锄头:"chú tou",归降:"guī xiáng",疟疾:"nüè ji",唠叨:"láo dao",限量:"xiàn liàng",屏息:"bǐng xī",重逢:"chóng féng",器乐:"qì yuè",氢弹:"qīng dàn",脖颈:"bó gěng",妃子:"fēi zi",处事:"chǔ shì",参量:"cān liàng",轻率:"qīng shuài",缥缈:"piāo miǎo",中奖:"zhòng jiǎng",才干:"cái gàn",施舍:"shī shě",卷子:"juàn zi",游说:"yóu shuì",巷子:"xiàng zi",膀胱:"páng guāng",切勿:"qiè wù",看管:"kān guǎn",风头:"fēng tou",精干:"jīng gàn",高差:"gāo chā",恐吓:"kǒng hè",扁担:"biǎn dàn",给养:"jǐ yǎng",格子:"gé zi",供需:"gōng xū",反差:"fǎn chā",飞弹:"fēi dàn",微薄:"wēi bó",发型:"fà xíng",即兴:"jí xìng",攒动:"cuán dòng",间或:"jiàn huò",浅薄:"qiǎn bó",乐章:"yuè zhāng",顺差:"shùn chā",调子:"diào zi",相位:"xiàng wèi",转子:"zhuàn zǐ",劲旅:"jìng lǚ",咔嚓:"kā chā",了事:"liǎo shì",转悠:"zhuàn you",当铺:"dàng pù",爪子:"zhuǎ zi",单子:"dān zi",好战:"hào zhàn",燕麦:"yàn mài",只许:"zhǐ xǔ",干练:"gàn liàn",女将:"nǚ jiàng",酒量:"jiǔ liàng",划船:"huá chuán",伎俩:"jì liǎng",挑拨:"tiǎo bō",少校:"shào xiào",着落:"zhuó luò",憎恶:"zēng wù",刻薄:"kè bó",要挟:"yāo xié",用处:"yòng chu",还手:"huán shǒu",模具:"mú jù",执著:"zhí zhuó",喝令:"hè lìng",保长:"bǎo zhǎng",吸着:"xī zhe",症结:"zhēng jié",公转:"gōng zhuàn",校勘:"jiào kān",重提:"chóng tí",扫兴:"sǎo xìng",铺盖:"pū gài",长史:"zhǎng shǐ",差价:"chā jià",压根:"yà gēn",怔住:"zhèng zhù",应允:"yīng yǔn",切入:"qiē rù",战将:"zhàn jiàng",年少:"nián shào",舍身:"shě shēn",执拗:"zhí niù",处世:"chǔ shì",中风:"zhòng fēng",等量:"děng liàng",放量:"fàng liàng",腔调:"qiāng diào",老少:"lǎo shào",没入:"mò rù",瓜葛:"guā gé",将帅:"jiàng shuài",车载:"chē zài",窝囊:"wō nang",长进:"zhǎng jìn",可汗:"kè hán",并州:"bīng zhōu",供销:"gōng xiāo",切片:"qiē piàn",差事:"chāi shì",知会:"zhī hui",鹰爪:"yīng zhǎo",处女:"chǔ nǚ",切磋:"qiē cuō",日头:"rì tou",押解:"yā jiè",滋长:"zī zhǎng",道观:"dào guàn",脚色:"jué sè",当量:"dāng liàng",婆家:"pó jia",缘分:"yuán fèn",空闲:"kòng xián",好色:"hào sè",怒喝:"nù hè",笼统:"lǒng tǒng",边塞:"biān sài",何曾:"hé céng",重合:"chóng hé",零散:"líng sǎn",轰隆:"hōng lōng",化子:"huà zi",内蒙:"nèi měng",数落:"shǔ luò",逆差:"nì chā",牟利:"móu lì",栅栏:"zhà lan",中标:"zhòng biāo",调档:"diào dàng",佝偻:"gōu lóu",场子:"chǎng zi",甲壳:"jiǎ qiào",重温:"chóng wēn",炮制:"páo zhì",返还:"fǎn huán",自传:"zì zhuàn",高调:"gāo diào",殷红:"yān hóng",固着:"gù zhuó",强求:"qiǎng qiú",本相:"běn xiàng",骄横:"jiāo hèng",草率:"cǎo shuài",气闷:"qì mèn",着色:"zhuó sè",宁肯:"nìng kěn",兴头:"xìng tou",拘泥:"jū nì",夹角:"jiā jiǎo",发髻:"fà jì",猛将:"měng jiàng",约摸:"yuē mo",拖累:"tuō lěi",呢绒:"ní róng",钻探:"zuān tàn",夹层:"jiā céng",落魄:"luò pò",巷道:"hàng dào",运量:"yùn liàng",解闷:"jiě mèn",空儿:"kòng er",估摸:"gū mo",好客:"hào kè",钻孔:"zuān kǒng",糊弄:"hù nòng",荥阳:"xíng yáng",烦闷:"fán mèn",仓卒:"cāng cù",分叉:"fēn chà",厂子:"chǎng zi",小调:"xiǎo diào",少阳:"shào yáng",受降:"shòu xiáng",染坊:"rǎn fáng",胳臂:"gē bei",将门:"jiàng mén",模板:"mú bǎn",配给:"pèi jǐ",为伍:"wéi wǔ",跟头:"gēn tou",划算:"huá suàn",累赘:"léi zhui",哄笑:"hōng xiào",晕眩:"yūn xuàn",干掉:"gàn diào",缝制:"féng zhì",难处:"nán chù",着意:"zhuó yì",蛮横:"mán hèng",奇数:"jī shù",短发:"duǎn fà",生还:"shēng huán",还清:"huán qīng",看护:"kān hù",直率:"zhí shuài",奏乐:"zòu yuè",载客:"zài kè",专横:"zhuān hèng",湮没:"yān mò",空格:"kòng gé",铺垫:"pū diàn",良将:"liáng jiàng",哗啦:"huā lā",散漫:"sǎn màn",脱发:"tuō fà",送还:"sòng huán",埋没:"mái mò",累及:"lěi jí",薄雾:"bó wù",调离:"diào lí",舌苔:"shé tāi",机长:"jī zhǎng",栓塞:"shuān sè",配角:"pèi jué",切口:"qiē kǒu",创口:"chuāng kǒu",哈欠:"hā qian",实弹:"shí dàn",铺平:"pū píng",哈达:"hǎ dá",懒散:"lǎn sǎn",实干:"shí gàn",填空:"tián kòng",刁钻:"diāo zuān",乐师:"yuè shī",量变:"liàng biàn",诱降:"yòu xiáng",搪塞:"táng sè",征调:"zhēng diào",夹道:"jiā dào",干咳:"gān ké",止咳:"zhǐ ké",乐工:"yuè gōng",划过:"huá guò",着火:"zháo huǒ",更正:"gēng zhèng",给付:"jǐ fù",空子:"kòng zi",哪吒:"né zhā",正着:"zhèng zháo",刷子:"shuā zi",丧葬:"sāng zàng",夹带:"jiā dài",安分:"ān fèn",中意:"zhòng yì",长孙:"zhǎng sūn",校订:"jiào dìng",卷曲:"juǎn qū",载运:"zài yùn",投弹:"tóu dàn",柞蚕:"zuò cán",份量:"fèn liàng",调换:"diào huàn",了然:"liǎo rán",咧嘴:"liě zuǐ",典当:"diǎn dàng",寒假:"hán jià",长兄:"zhǎng xiōng",给水:"jǐ shuǐ",须发:"xū fà",枝干:"zhī gàn",属相:"shǔ xiàng",哄抢:"hōng qiǎng",刻划:"kè huà",塞子:"sāi zi",单干:"dān gàn",还乡:"huán xiāng",兆头:"zhào tou",寺观:"sì guàn",督率:"dū shuài",啊哈:"ā ha",割舍:"gē shě",抹布:"mā bù",好恶:"hào wù",下处:"xià chǔ",消长:"xiāo zhǎng",离间:"lí jiàn",准头:"zhǔn tou",校对:"jiào duì",什物:"shí wù",番禺:"pān yú",佛爷:"fó ye",吗啡:"mǎ fēi",盐分:"yán fèn",虎将:"hǔ jiàng",薄荷:"bò he",独处:"dú chǔ",空位:"kòng wèi",铺路:"pū lù",乌拉:"wū lā",调回:"diào huí",来头:"lái tou",闲散:"xián sǎn",胶卷:"jiāo juǎn",冒失:"mào shi",干劲:"gàn jìn",弦乐:"xián yuè",相国:"xiàng guó",丹参:"dān shēn",助兴:"zhù xìng",铺开:"pū kāi",次长:"cì zhǎng",发卡:"fà qiǎ",拮据:"jié jū",刹车:"shā chē",生发:"shēng fà",重播:"chóng bō",缝合:"féng hé",音量:"yīn liàng",少尉:"shào wèi",冲压:"chòng yā",苍劲:"cāng jìng",厚薄:"hòu báo",威吓:"wēi hè",外相:"wài xiàng",呼号:"hū háo",着迷:"zháo mí",挑担:"tiāo dàn",纹路:"wén lù",还俗:"huán sú",强横:"qiáng hèng",着数:"zhāo shù",降顺:"xiáng shùn",挑明:"tiǎo míng",眯缝:"mī feng",分内:"fèn nèi",更衣:"gēng yī",软和:"ruǎn huo",尽兴:"jìn xìng",号子:"hào zi",爪牙:"zhǎo yá",败将:"bài jiàng",猜中:"cāi zhòng",结扎:"jié zā",没空:"méi kòng",夹缝:"jiā fèng",拾掇:"shí duo",掺和:"chān huo",簸箕:"bò ji",电量:"diàn liàng",荷载:"hè zǎi",调式:"diào shì",处身:"chǔ shēn",打手:"dǎ shǒu",弹弓:"dàn gōng",横蛮:"hèng mán",能干:"néng gàn",校点:"jiào diǎn",加载:"jiā zài",干校:"gàn xiào",哄传:"hōng chuán",校注:"jiào zhù",淤塞:"yū sè",马扎:"mǎ zhá",月氏:"yuè zhī",高干:"gāo gàn",经传:"jīng zhuàn",曾孙:"zēng sūn",好斗:"hào dòu",关卡:"guān qiǎ",逃奔:"táo bèn",磨蹭:"mó ceng",牟取:"móu qǔ",颤栗:"zhàn lì",蚂蚱:"mà zha",撮合:"cuō he",趔趄:"liè qie",摔打:"shuāi dǎ",台子:"tái zi",分得:"fēn de",粘着:"nián zhuó",采邑:"cài yì",散装:"sǎn zhuāng",婀娜:"ē nuó",兴味:"xìng wèi",行头:"xíng tou",气量:"qì liàng",调运:"diào yùn",处治:"chǔ zhì",乐音:"yuè yīn",充塞:"chōng sè",恫吓:"dòng hè",论调:"lùn diào",相中:"xiāng zhòng",民乐:"mín yuè",炮仗:"pào zhang",丧服:"sāng fú",骁将:"xiāo jiàng",量刑:"liàng xíng",缝补:"féng bǔ",财会:"cái kuài",大干:"dà gàn",历数:"lì shǔ",校场:"jiào chǎng",塞北:"sài běi",识相:"shí xiàng",辱没:"rǔ mò",鲜亮:"xiān liàng",语塞:"yǔ sè",露脸:"lòu liǎn",凉快:"liáng kuai",腰杆:"yāo gǎn",溜达:"liū da",嘎嘎:"gā gā",公干:"gōng gàn",桔梗:"jié gěng",挑逗:"tiǎo dòu",看门:"kān mén",乐歌:"yuè gē",拓片:"tà piàn",挑动:"tiǎo dòng",准将:"zhǔn jiàng",遒劲:"qiú jìng",磨坊:"mò fáng",逶迤:"wēi yí",搅和:"jiǎo huo",摩挲:"mó suō",作弄:"zuò nòng",苗头:"miáo tou",打颤:"dǎ zhàn",大藏:"dà zàng",畜牲:"chù shēng",勾搭:"gōu da",树荫:"shù yīn",树杈:"shù chà",铁杆:"tiě gǎn",将相:"jiàng xiàng",份子:"fèn zi",视差:"shì chā",绿荫:"lǜ yīn",枪杆:"qiāng gǎn",缝纫:"féng rèn",愁闷:"chóu mèn",点将:"diǎn jiàng",华佗:"huà tuó",劲射:"jìng shè",箱笼:"xiāng lǒng",终了:"zhōng liǎo",鬓发:"bìn fà",结巴:"jiē ba",苦干:"kǔ gàn",看家:"kān jiā",正旦:"zhēng dàn",中肯:"zhòng kěn",厦门:"xià mén",东莞:"dōng guǎn",食量:"shí liàng",宫调:"gōng diào",间作:"jiàn zuò",弹片:"dàn piàn",差池:"chā chí",漂白:"piǎo bái",杠子:"gàng zi",调处:"tiáo chǔ",好动:"hào dòng",转炉:"zhuàn lú",屏气:"bǐng qì",夹板:"jiā bǎn",哀乐:"āi yuè",干道:"gàn dào",苦处:"kǔ chù",劈柴:"pǐ chái",长势:"zhǎng shì",天华:"tiān huá",共处:"gòng chǔ",校验:"jiào yàn",出塞:"chū sài",磨盘:"mò pán",萎靡:"wěi mǐ",奔丧:"bēn sāng",唱和:"chàng hè",大调:"dà diào",非分:"fēi fèn",钻营:"zuān yíng",夹子:"jiā zi",超载:"chāo zài",更始:"gēng shǐ",铃铛:"líng dang",披散:"pī sàn",发还:"fā huán",转轮:"zhuàn lún",横财:"hèng cái",泡桐:"pāo tóng",抛撒:"pāo sǎ",天呀:"tiān yā",糊糊:"hū hu",躯壳:"qū qiào",通量:"tōng liàng",奉还:"fèng huán",午觉:"wǔ jiào",闷棍:"mèn gùn",浪头:"làng tou",砚台:"yàn tái",油坊:"yóu fáng",学长:"xué zhǎng",过载:"guò zài",笔调:"bǐ diào",衣被:"yī bèi",畜产:"xù chǎn",调阅:"diào yuè",蛮干:"mán gàn",曾祖:"zēng zǔ",提干:"tí gàn",变调:"biàn diào",覆没:"fù mò",模子:"mú zi",乐律:"yuè lǜ",称心:"chèn xīn",木杆:"mù gān",重印:"chóng yìn",自省:"zì xǐng",提调:"tí diào",看相:"kàn xiàng",芋头:"yù tou",下切:"xià qiē",塞上:"sài shàng",铺张:"pū zhāng",藤蔓:"téng wàn",薄幸:"bó xìng",解数:"xiè shù",褪去:"tuì qù",霰弹:"xiàn dàn",柚木:"yóu mù",痕量:"hén liàng",雅乐:"yǎ yuè",号哭:"háo kū",诈降:"zhà xiáng",猪圈:"zhū juàn",咋舌:"zé shé",铣床:"xǐ chuáng",防弹:"fáng dàn",健将:"jiàn jiàng",丽水:"lí shuǐ",削发:"xuē fà",空当:"kòng dāng",多相:"duō xiàng",鲜见:"xiǎn jiàn",划桨:"huá jiǎng",载波:"zài bō",跳蚤:"tiào zao",俏皮:"qiào pí",吧嗒:"bā dā",结发:"jié fà",了断:"liǎo duàn",同调:"tóng diào",石磨:"shí mò",时差:"shí chā",鼻塞:"bí sè",挑子:"tiāo zi",推磨:"tuī mò",武侯:"wǔ hóu",抹煞:"mǒ shā",调转:"diào zhuǎn",籍没:"jí mò",还债:"huán zhài",调演:"diào yǎn",分划:"fēn huá",奇偶:"jī ǒu",断喝:"duàn hè",闷雷:"mèn léi",狼藉:"láng jí",饭量:"fàn liàng",还礼:"huán lǐ",转调:"zhuǎn diào",星相:"xīng xiàng",手相:"shǒu xiàng",配乐:"pèi yuè",盖头:"gài tou",连杆:"lián gǎn",簿记:"bù jì",刀把:"dāo bà",量词:"liàng cí",名角:"míng jué",步调:"bù diào",校本:"jiào běn",账簿:"zhàng bù",隽永:"juàn yǒng",稍为:"shāo wéi",易传:"yì zhuàn",乐谱:"yuè pǔ",牵累:"qiān lěi",答理:"dā li",喝斥:"hè chì",吟哦:"yín é",干渠:"gàn qú",海量:"hǎi liàng",精当:"jīng dàng",着床:"zhuó chuáng",月相:"yuè xiàng",庶几:"shù jī",宫观:"gōng guàn",论处:"lùn chǔ",征辟:"zhēng bì",厚朴:"hòu pò",介壳:"jiè qiào",吭哧:"kēng chī",咯血:"kǎ xiě",铺陈:"pū chén",重生:"chóng shēng",乐理:"yuè lǐ",哀号:"āi háo",藏历:"zàng lì",刚劲:"gāng jìng",削平:"xuē píng",浓荫:"nóng yīn",城垛:"chéng duǒ",当差:"dāng chāi",正传:"zhèng zhuàn",并处:"bìng chǔ",创面:"chuāng miàn",旦角:"dàn jué",薄礼:"bó lǐ",晃荡:"huàng dang",臊子:"sào zi",家什:"jiā shí",闷头:"mēn tóu",美发:"měi fà",度数:"dù shu",着凉:"zháo liáng",闯将:"chuǎng jiàng",几案:"jī àn",姘头:"pīn tou",差数:"chā shù",散碎:"sǎn suì",壅塞:"yōng sè",寒颤:"hán zhàn",牵强:"qiān qiǎng",无间:"wú jiàn",轮转:"lún zhuàn",号叫:"háo jiào",铺排:"pū pái",降伏:"xiáng fú",轧钢:"zhá gāng",东阿:"dōng ē",病假:"bìng jià",累加:"lěi jiā",梗塞:"gěng sè",弹夹:"dàn jiā",钻心:"zuān xīn",晃眼:"huǎng yǎn",魔爪:"mó zhǎo",标量:"biāo liàng",憋闷:"biē mèn",猜度:"cāi duó",处士:"chǔ shì",官差:"guān chāi",讨还:"tǎo huán",长门:"cháng mén",馏分:"liú fēn",里弄:"lǐ lòng",色相:"sè xiàng",雅兴:"yǎ xìng",角力:"jué lì",弹坑:"dàn kēng",枝杈:"zhī chà",夹具:"jiā jù",处刑:"chǔ xíng",悍将:"hàn jiàng",好学:"hào xué",好好:"hǎo hǎo",银发:"yín fà",扫把:"sào bǎ",法相:"fǎ xiàng",贵干:"guì gàn",供气:"gōng qì",空余:"kòng yú",捆扎:"kǔn zā",瘠薄:"jí bó",浆糊:"jiàng hu",嘎吱:"gā zhī",调令:"diào lìng",法帖:"fǎ tiè",淋病:"lìn bìng",调派:"diào pài",转盘:"zhuàn pán",供稿:"gōng gǎo",差官:"chāi guān",忧闷:"yōu mèn",教长:"jiào zhǎng",重唱:"chóng chàng",酒兴:"jiǔ xìng",乐坛:"yuè tán",花呢:"huā ní",叱喝:"chì hè",膀臂:"bǎng bì",得空:"dé kòng",转圈:"zhuàn quān",横暴:"hèng bào",哄抬:"hōng tái",引吭:"yǐn háng",载货:"zài huò",中计:"zhòng jì",官长:"guān zhǎng",相面:"xiàng miàn",看头:"kàn tou",盼头:"pàn tou",意兴:"yì xìng",军乐:"jūn yuè",累次:"lěi cì",骨嘟:"gǔ dū",燕赵:"yān zhào",报丧:"bào sāng",弥撒:"mí sa",挨斗:"ái dòu",扁舟:"piān zhōu",丑角:"chǒu jué",吊丧:"diào sāng",强将:"qiáng jiàng",重奏:"chóng zòu",发辫:"fà biàn",着魔:"zháo mó",着法:"zhāo fǎ",盛放:"shèng fàng",填塞:"tián sè",凶横:"xiōng hèng",稽首:"qǐ shǒu",碑帖:"bēi tiè",冲量:"chōng liàng",发菜:"fà cài",假发:"jiǎ fà",翻卷:"fān juǎn",小量:"xiǎo liàng",胶着:"jiāo zhuó",里子:"lǐ zi",调调:"diào diao",散兵:"sǎn bīng",高挑:"gāo tiǎo",播撒:"bō sǎ",夹心:"jiā xīn",扇动:"shān dòng",叨扰:"tāo rǎo",霓裳:"ní cháng",捻子:"niǎn zi",弥缝:"mí féng",撒布:"sǎ bù",场院:"cháng yuàn",省亲:"xǐng qīn",提拉:"tí lā",惯量:"guàn liàng",强逼:"qiáng bī",强征:"qiáng zhēng",晕车:"yùn chē",数道:"shù dào",带累:"dài lèi",拓本:"tà běn",嫌恶:"xián wù",宿将:"sù jiàng",龟裂:"jūn liè",缠夹:"chán jiā",发式:"fà shì",隔扇:"gé shàn",天分:"tiān fèn",癖好:"pǐ hào",四通:"sì tōng",白术:"bái zhú",划伤:"huá shāng",角斗:"jué dòu",听差:"tīng chāi",岁差:"suì chā",丧礼:"sāng lǐ",脉脉:"mò mò",削瘦:"xuē shòu",撒播:"sǎ bō",莎草:"suō cǎo",犍为:"qián wéi",调头:"diào tóu",龙卷:"lóng juǎn",外调:"wài diào",字帖:"zì tiè",卷发:"juǎn fà",揣度:"chuǎi duó",洋相:"yáng xiàng",散光:"sǎn guāng",骨碌:"gū lu",薄命:"bó mìng",笼头:"lóng tóu",咽炎:"yān yán",碌碡:"liù zhou",片儿:"piàn er",纤手:"qiàn shǒu",散体:"sǎn tǐ",内省:"nèi xǐng",强留:"qiáng liú",解送:"jiè sòng",反间:"fǎn jiàn",少壮:"shào zhuàng",留空:"liú kōng",告假:"gào jià",咳血:"ké xuè",薄暮:"bó mù",铺轨:"pū guǐ",磨削:"mó xuē",治丧:"zhì sāng",叉子:"chā zi",哄动:"hōng dòng",蛾子:"é zi",出落:"chū luò",股长:"gǔ zhǎng",贵处:"guì chù",还魂:"huán hún",例假:"lì jià",刹住:"shā zhù",身量:"shēn liàng",同好:"tóng hào",模量:"mó liàng",更生:"gēng shēng",服丧:"fú sāng",率直:"shuài zhí",字模:"zì mú",散架:"sǎn jià",答腔:"dā qiāng",交恶:"jiāo wù",薄情:"bó qíng",眼泡:"yǎn pāo",袅娜:"niǎo nuó",草垛:"cǎo duò",冲劲:"chòng jìn",呢喃:"ní nán",切中:"qiè zhòng",挑灯:"tiǎo dēng",还愿:"huán yuàn",激将:"jī jiàng",更鼓:"gēng gǔ",没药:"mò yào",败兴:"bài xìng",切面:"qiē miàn",散户:"sǎn hù",累进:"lěi jìn",背带:"bēi dài",秤杆:"chèng gǎn",碾坊:"niǎn fáng",簿子:"bù zi",扳手:"bān shǒu",铅山:"yán shān",儒将:"rú jiàng",重光:"chóng guāng",剪发:"jiǎn fà",长上:"zhǎng shàng",小传:"xiǎo zhuàn",压轴:"yā zhòu",弱冠:"ruò guàn",花卷:"huā juǎn",横祸:"hèng huò",夹克:"jiā kè",光晕:"guāng yùn",披靡:"pī mǐ",对调:"duì diào",夹持:"jiā chí",空额:"kòng é",平调:"píng diào",铺床:"pū chuáng",丧钟:"sāng zhōng",作乐:"zuò lè",少府:"shào fǔ",数数:"shuò shuò",奔头:"bèn tou",进给:"jìn jǐ",率性:"shuài xìng",乐子:"lè zi",绑扎:"bǎng zā",挑唆:"tiǎo suō",漂洗:"piǎo xǐ",夹墙:"jiā qiáng",咳喘:"ké chuǎn",乜斜:"miē xie",错处:"cuò chù",闷酒:"mèn jiǔ",时调:"shí diào",重孙:"chóng sūn",经幢:"jīng chuáng",圩场:"xū chǎng",调门:"diào mén",花头:"huā tóu",划拉:"huá la",套色:"tào shǎi",粗率:"cū shuài",相率:"xiāng shuài",款识:"kuǎn zhì",吁请:"yù qǐng",荫蔽:"yīn bì",文蛤:"wén gé",嘀嗒:"dī dā",调取:"diào qǔ",交差:"jiāo chāi",落子:"luò zǐ",相册:"xiàng cè",絮叨:"xù dao",落发:"luò fà",异相:"yì xiàng",浸没:"jìn mò",角抵:"jué dǐ",卸载:"xiè zài",春卷:"chūn juǎn",扎挣:"zhá zheng",畜养:"xù yǎng",吡咯:"bǐ luò",垛子:"duò zi",恶少:"è shào",发际:"fà jì",红苕:"hóng sháo",糨糊:"jiàng hu",哭丧:"kū sāng",稍息:"shào xī",晕船:"yùn chuán",校样:"jiào yàng",外差:"wài chā",脚爪:"jiǎo zhǎo",铺展:"pū zhǎn",芫荽:"yán sui",夹紧:"jiā jǐn",尿泡:"suī pào",丧乱:"sāng luàn",凶相:"xiōng xiàng",华发:"huá fà",打场:"dǎ cháng",云量:"yún liàng",正切:"zhèng qiē",划拳:"huá quán",划艇:"huá tǐng",评传:"píng zhuàn",拉纤:"lā qiàn",句读:"jù dòu",散剂:"sǎn jì",骨殖:"gǔ shi",塞音:"sè yīn",铺叙:"pū xù",阏氏:"yān zhī",冷颤:"lěng zhàn",煞住:"shā zhù",少男:"shào nán",管乐:"guǎn yuè",号啕:"háo táo",纳降:"nà xiáng",拥塞:"yōng sè",万乘:"wàn shèng",杆儿:"gǎn ér",葛藤:"gé téng",簿籍:"bù jí",皮夹:"pí jiā",校准:"jiào zhǔn",允当:"yǔn dàng",器量:"qì liàng",选调:"xuǎn diào",扮相:"bàn xiàng",干才:"gàn cái",基干:"jī gàn",割切:"gē qiē",国乐:"guó yuè",卡壳:"qiǎ ké",辟谷:"bì gǔ",磨房:"mò fáng",咿呀:"yī yā",芥末:"jiè mo",薄技:"bó jì",产假:"chǎn jià",诗兴:"shī xìng",重出:"chóng chū",转椅:"zhuàn yǐ",酌量:"zhuó liang",簿册:"bù cè",藏青:"zàng qīng",的士:"dī shì",调人:"diào rén",解元:"jiè yuán",茎干:"jīng gàn",巨量:"jù liàng",榔头:"láng tou",率真:"shuài zhēn",喷香:"pèn xiāng",锁钥:"suǒ yuè",虾蟆:"há má",相图:"xiàng tú",兴会:"xìng huì",灶头:"zào tóu",重婚:"chóng hūn",钻洞:"zuān dòng",忖度:"cǔn duó",党参:"dǎng shēn",调温:"diào wēn",杆塔:"gān tǎ",葛布:"gé bù",拱券:"gǒng xuàn",夹生:"jiā shēng",露馅:"lòu xiàn",恰切:"qià qiè",散见:"sǎn jiàn",哨卡:"shào qiǎ",烫发:"tàng fà",体量:"tǐ liàng",挺括:"tǐng kuò",系带:"jì dài",相士:"xiàng shì",羊圈:"yáng juàn",转矩:"zhuàn jǔ",吧台:"bā tái",苍术:"cāng zhú",菲薄:"fěi bó",蛤蚧:"gé jiè",蛤蜊:"gé lí",瓜蔓:"guā wàn",怪相:"guài xiàng",临帖:"lín tiè",女红:"nǚ gōng",刨床:"bào chuáng",翘楚:"qiáo chǔ",数九:"shǔ jiǔ",谈兴:"tán xìng",雄劲:"xióng jìng",扎染:"zā rǎn",遮荫:"zhē yīn",周正:"zhōu zhèng",赚头:"zhuàn tou",扒手:"pá shǒu",搀和:"chān huo",诚朴:"chéng pǔ",肚量:"dù liàng",干结:"gān jié",工尺:"gōng chě",家累:"jiā lěi",曲水:"qū shuǐ",沙参:"shā shēn",挑花:"tiǎo huā",阿门:"ā mén",背篓:"bēi lǒu",瘪三:"biē sān",裁处:"cái chǔ",创痛:"chuāng tòng",福相:"fú xiàng",更动:"gēng dòng",豪兴:"háo xìng",还阳:"huán yáng",还嘴:"huán zuǐ",借调:"jiè diào",卷云:"juǎn yún",流弹:"liú dàn",想头:"xiǎng tou",削价:"xuē jià",校阅:"jiào yuè",雅量:"yǎ liàng",别传:"bié zhuàn",薄酒:"bó jiǔ",春假:"chūn jià",发妻:"fà qī",哗哗:"huā huā",宽绰:"kuān chuo",了悟:"liǎo wù",切花:"qiē huā",审度:"shěn duó",应许:"yīng xǔ",转台:"zhuàn tái",仔猪:"zǐ zhū",裁量:"cái liáng",藏戏:"zàng xì",乘兴:"chéng xìng",绸缪:"chóu móu",摧折:"cuī zhé",调经:"tiáo jīng",调职:"diào zhí",缝缀:"féng zhuì",骨朵:"gū duǒ",核儿:"hú er",恒量:"héng liàng",还价:"huán jià",浑朴:"hún pǔ",苦差:"kǔ chāi",面糊:"miàn hù",煞车:"shā chē",省视:"xǐng shì",什锦:"shí jǐn",信差:"xìn chāi",余切:"yú qiē",攒眉:"cuán méi",炸糕:"zhá gāo",钻杆:"zuàn gǎn",扒灰:"pá huī",拌和:"bàn huò",长调:"cháng diào",大溜:"dà liù",抖搂:"dǒu lōu",飞转:"fēi zhuàn",干仗:"gàn zhàng",好胜:"hào shèng",画片:"huà piàn",搅混:"jiǎo hún",螺杆:"luó gǎn",木模:"mù mú",怒号:"nù háo",频数:"pín shù",无宁:"wú níng",遗少:"yí shào",邮差:"yóu chāi",占卦:"zhān guà",占星:"zhān xīng",重审:"chóng shěn",自量:"zì liàng",调防:"diào fáng",发廊:"fà láng",反调:"fǎn diào",缝子:"fèng zi",更夫:"gēng fū",骨子:"gǔ zi",光杆:"guāng gǎn",夹棍:"jiā gùn",居丧:"jū sāng",巨贾:"jù gǔ",看押:"kān yā",空转:"kōng zhuàn",量力:"liàng lì",炮烙:"páo luò",赔还:"péi huán",扑扇:"pū shān",散记:"sǎn jì",散件:"sǎn jiàn",删削:"shān xuē",射干:"shè gàn",条几:"tiáo jī",偷空:"tōu kòng",削壁:"xuē bì",校核:"jiào hé",阴干:"yīn gān",择菜:"zhái cài",重九:"chóng jiǔ",主调:"zhǔ diào",自禁:"zì jīn",吧唧:"bā jī",便溺:"biàn niào",词调:"cí diào",叨咕:"dáo gu",落枕:"lào zhěn",铺砌:"pū qì",刷白:"shuà bái",委靡:"wěi mǐ",系泊:"xì bó",相马:"xiàng mǎ",熨帖:"yù tiē",转筋:"zhuàn jīn",棒喝:"bàng hè",傧相:"bīn xiàng",镐头:"gǎo tóu",间苗:"jiàn miáo",乐池:"yuè chí",卖相:"mài xiàng",屏弃:"bǐng qì",铅弹:"qiān dàn",切变:"qiē biàn",请调:"qǐng diào",群氓:"qún méng",散板:"sǎn bǎn",省察:"xǐng chá",事假:"shì jià",纤绳:"qiàn shéng",重影:"chóng yǐng",耕种:"gēng zhòng",种地:"zhòng dì",种菜:"zhòng cài",栽种:"zāi zhòng",接种:"jiē zhòng",垦种:"kěn zhòng",种殖:"zhòng zhí",种瓜:"zhòng guā",种豆:"zhòng dòu",种树:"zhòng shù",睡着:"shuì zháo",笼子:"lóng zi",重启:"chóng qǐ",重整:"chóng zhěng",重弹:"chóng tán",重足:"chóng zú",重山:"chóng shān",重游:"chóng yóu",重峦:"chóng luán",爷爷:"yé ye",奶奶:"nǎi nai",姥爷:"lǎo ye",爸爸:"bà ba",妈妈:"mā ma",婶婶:"shěn shen",舅舅:"jiù jiu",姑姑:"gū gu",叔叔:"shū shu",姨夫:"yí fu",舅母:"jiù mu",姑父:"gū fu",姐夫:"jiě fu",婆婆:"pó po",公公:"gōng gong",舅子:"jiù zi",姐姐:"jiě jie",哥哥:"gē ge",妹妹:"mèi mei",妹夫:"mèi fu",姨子:"yí zi",宝宝:"bǎo bao",娃娃:"wá wa",孩子:"hái zi",日子:"rì zi",样子:"yàng zi",狮子:"shī zi",身子:"shēn zi",架子:"jià zi",嫂子:"sǎo zi",鼻子:"bí zi",亭子:"tíng zi",折子:"zhé zi",面子:"miàn zi",脖子:"bó zi",辈子:"bèi zi",帽子:"mào zi",拍子:"pāi zi",柱子:"zhù zi",辫子:"biàn zi",鸽子:"gē zi",房子:"fáng zi",丸子:"wán zi",摊子:"tān zi",牌子:"pái zi",胡子:"hú zi",鬼子:"guǐ zi",矮子:"ǎi zi",鸭子:"yā zi",小子:"xiǎo zi",影子:"yǐng zi",屋子:"wū zi",对子:"duì zi",点子:"diǎn zi",本子:"běn zi",种子:"zhǒng zi",儿子:"ér zi",兔子:"tù zi",骗子:"piàn zi",院子:"yuàn zi",猴子:"hóu zi",嗓子:"sǎng zi",侄子:"zhí zi",柿子:"shì zi",钳子:"qián zi",虱子:"shī zi",瓶子:"píng zi",豹子:"bào zi",筷子:"kuài zi",篮子:"lán zi",绳子:"shéng zi",嘴巴:"zuǐ ba",耳朵:"ěr duo",茄子:"qié zi",蚌埠:"bèng bù",崆峒:"kōng tóng",琵琶:"pí pa",蘑菇:"mó gu",葫芦:"hú lu",狐狸:"hú li",桔子:"jú zi",盒子:"hé zi",桌子:"zhuō zi",竹子:"zhú zi",师傅:"shī fu",衣服:"yī fu",袜子:"wà zi",杯子:"bēi zi",刺猬:"cì wei",麦子:"mài zi",队伍:"duì wu",知了:"zhī liǎo",鱼儿:"yú er",馄饨:"hún tun",灯笼:"dēng long",庄稼:"zhuāng jia",聪明:"cōng ming",镜子:"jìng zi",银子:"yín zi",盘子:"pán zi",了却:"liǎo què",力气:"lì qi",席子:"xí zi",林子:"lín zi",朝霞:"zhāo xiá",朝夕:"zhāo xī",朝气:"zhāo qì",翅膀:"chì bǎng",省长:"shěng zhǎng",臧否:"zāng pǐ",否泰:"pǐ tài",变得:"biàn de",丈夫:"zhàng fu",豆腐:"dòu fu",笔杆:"bǐ gǎn",枞阳:"zōng yáng",行人:"xíng rén",打着:"dǎ zhe",第一:"dì yī",万一:"wàn yī",之一:"zhī yī",得之:"dé zhī",统一:"tǒng yī",唯一:"wéi yī",专一:"zhuān yī",单一:"dān yī",如一:"rú yī",其一:"qí yī",合一:"hé yī",逐一:"zhú yī",周一:"zhōu yī",初一:"chū yī",研一:"yán yī",归一:"guī yī",假一:"jiǎ yī",闻一:"wén yī",了了:"liǎo liǎo",公了:"gōng liǎo",私了:"sī liǎo",一月:"yī yuè",一号:"yī hào",一级:"yī jí",一等:"yī děng",一哥:"yī gē",月一:"yuè yī",一一:"yī yī",二一:"èr yī",三一:"sān yī",四一:"sì yī",五一:"wǔ yī",六一:"liù yī",七一:"qī yī",八一:"bā yī",九一:"jiǔ yī","一〇":"yī líng",一零:"yī líng",一二:"yī èr",一三:"yī sān",一四:"yī sì",一五:"yī wǔ",一六:"yī liù",一七:"yī qī",一八:"yī bā",一九:"yī jiǔ",一又:"yī yòu",一饼:"yī bǐng",一楼:"yī lóu",为例:"wéi lì",为准:"wéi zhǔn",沧海:"cāng hǎi",难为:"nán wéi",责难:"zé nàn",患难:"huàn nàn",磨难:"mó nàn",大难:"dà nàn",刁难:"diāo nàn",殉难:"xùn nàn",落难:"luò nàn",罹难:"lí nàn",灾难:"zāi nàn",难民:"nàn mín",苦难:"kǔ nàn",危难:"wēi nàn",发难:"fā nàn",逃难:"táo nàn",避难:"bì nàn",遇难:"yù nàn",阻难:"zǔ nàn",厄难:"è nàn",徇难:"xùn nàn",空难:"kōng nàn",喜欢:"xǐ huan",朝朝:"zhāo zhāo",不行:"bù xíng",轧轧:"yà yà",弯曲:"wān qū",扭曲:"niǔ qū",曲直:"qū zhí",委曲:"wěi qū",酒曲:"jiǔ qū",曲径:"qū jìng",曲解:"qū jiě",歪曲:"wāi qū",曲线:"qū xiàn",曲阜:"qū fù",九曲:"jiǔ qū",曲折:"qū zhé",曲肱:"qū gōng",曲意:"qū yì",仡佬:"gē lǎo"},Sg=Object.keys(Dn).map(n=>({zh:n,pinyin:Dn[n],probability:2e-8,length:2,priority:v.Normal,dict:Symbol("dict2")})),Mn={为什么:"wèi shén me",实际上:"shí jì shang",检察长:"jiǎn chá zhǎng",干什么:"gàn shén me",这会儿:"zhè huì er",尽可能:"jǐn kě néng",董事长:"dǒng shì zhǎng",了不起:"liǎo bù qǐ",参谋长:"cān móu zhǎng",朝鲜族:"cháo xiǎn zú",海内外:"hǎi nèi wài",禁不住:"jīn bú zhù",柏拉图:"bó lā tú",不在乎:"bú zài hu",洛杉矶:"luò shān jī",有点儿:"yǒu diǎn er",迫击炮:"pǎi jī pào",不得了:"bù dé liǎo",马尾松:"mǎ wěi sōng",运输量:"yùn shū liàng",发脾气:"fā pí qi",士大夫:"shì dà fū",鸭绿江:"yā lù jiāng",压根儿:"yà gēn er",对得起:"duì de qǐ",那会儿:"nà huì er",自个儿:"zì gě er",物理量:"wù lǐ liàng",怎么着:"zěn me zhāo",明晃晃:"míng huǎng huǎng",节假日:"jié jià rì",心里话:"xīn lǐ huà",发行量:"fā xíng liàng",兴冲冲:"xìng chōng chōng",分子量:"fēn zǐ liàng",国子监:"guó zǐ jiàn",老大难:"lǎo dà nán",党内外:"dǎng nèi wài",这么着:"zhè me zhāo",少奶奶:"shào nǎi nai",暗地里:"àn dì lǐ",更年期:"gēng nián qī",工作量:"gōng zuò liàng",背地里:"bèi dì lǐ",山里红:"shān li hóng",好好儿:"hǎo hāo er",交响乐:"jiāo xiǎng yuè",好意思:"hǎo yì si",吐谷浑:"tǔ yù hún",没意思:"méi yì si",理发师:"lǐ fà shī",塔什干:"tǎ shí gān",充其量:"chōng qí liàng",靠得住:"kào de zhù",车行道:"chē xíng dào",人行道:"rén xíng dào",中郎将:"zhōng láng jiàng",照明弹:"zhào míng dàn",烟幕弹:"yān mù dàn",没奈何:"mò nài hé",乱哄哄:"luàn hōng hōng",惠更斯:"huì gēng sī",载重量:"zài zhòng liàng",瞧得起:"qiáo de qǐ",纪传体:"jì zhuàn tǐ",阿房宫:"ē páng gōng",卷心菜:"juǎn xīn cài",戏班子:"xì bān zi",过得去:"guò de qù",花岗石:"huā gāng shí",外甥女:"wài sheng nǚ",团团转:"tuán tuán zhuàn",大堡礁:"dà bǎo jiāo",燃烧弹:"rán shāo dàn",劳什子:"láo shí zi",摇滚乐:"yáo gǔn yuè",夹竹桃:"jiā zhú táo",闹哄哄:"nào hōng hōng",三连冠:"sān lián guàn",重头戏:"zhòng tóu xì",二人转:"èr rén zhuàn",节骨眼:"jiē gǔ yǎn",知识面:"zhī shi miàn",护士长:"hù shi zhǎng",信号弹:"xìn hào dàn",干电池:"gān diàn chí",枪杆子:"qiāng gǎn zi",哭丧棒:"kū sāng bàng",鼻咽癌:"bí yān ái",瓦岗军:"wǎ gāng jūn",买得起:"mǎi de qǐ",癞蛤蟆:"lài há ma",脊梁骨:"jǐ liang gǔ",子母弹:"zǐ mǔ dàn",开小差:"kāi xiǎo chāi",女强人:"nǚ qiáng rén",英雄传:"yīng xióng zhuàn",爵士乐:"jué shì yuè",说笑话:"shuō xiào hua",碰头会:"pèng tóu huì",玻璃钢:"bō li gāng",曳光弹:"yè guāng dàn",少林拳:"shào lín quán",咏叹调:"yǒng tàn diào",少先队:"shào xiān duì",灵长目:"líng zhǎng mù",对着干:"duì zhe gàn",蒙蒙亮:"méng méng liàng",软骨头:"ruǎn gǔ tou",铺盖卷:"pū gài juǎn",和稀泥:"huò xī ní",背黑锅:"bēi hēi guō",红彤彤:"hóng tōng tōng",武侯祠:"wǔ hóu cí",打哆嗦:"dǎ duō suo",户口簿:"hù kǒu bù",马尾藻:"mǎ wěi zǎo",夜猫子:"yè māo zi",打手势:"dǎ shǒu shì",龙王爷:"lóng wáng yé",气头上:"qì tóu shang",糊涂虫:"hú tu chóng",笔杆子:"bǐ gǎn zi",占便宜:"zhàn pián yi",打主意:"dǎ zhǔ yì",多弹头:"duō dàn tóu",露一手:"lòu yì shǒu",堰塞湖:"yàn sè hú",保得住:"bǎo de zhù",趵突泉:"bào tū quán",奥得河:"ào de hé",司务长:"sī wù zhǎng",禁不起:"jīn bù qǐ",什刹海:"shí chà hǎi",莲花落:"lián huā lào",见世面:"jiàn shì miàn",豁出去:"huō chū qù",电位差:"diàn wèi chā",挨个儿:"āi gè er",那阵儿:"nà zhèn er",肺活量:"fèi huó liàng",大师傅:"dà shī fu",掷弹筒:"zhì dàn tǒng",打呼噜:"dǎ hū lu",广渠门:"ān qú mén",未见得:"wèi jiàn dé",大婶儿:"dà shěn er",谈得来:"tán de lái",脚丫子:"jiǎo yā zi",空包弹:"kōng bāo dàn",窝里斗:"wō li dòu",弹着点:"dàn zhuó diǎn",个头儿:"gè tóu er",看得起:"kàn de qǐ",糊涂账:"hú tu zhàng",大猩猩:"dà xīng xing",禁得起:"jīn de qǐ",法相宗:"fǎ xiàng zōng",可怜相:"kě lián xiàng",吃得下:"chī de xià",汉堡包:"hàn bǎo bāo",闹嚷嚷:"nào rāng rāng",数来宝:"shǔ lái bǎo",合得来:"hé de lái",干性油:"gān xìng yóu",闷葫芦:"mèn hú lu",呱呱叫:"guā guā jiào",西洋参:"xī yáng shēn",林荫道:"lín yīn dào",拉家常:"lā jiā cháng",卷铺盖:"juǎn pū gài",过得硬:"guò de yìng",飞将军:"fēi jiāng jūn",挑大梁:"tiǎo dà liáng",哈巴狗:"hǎ ba gǒu",过家家:"guò jiā jiā",催泪弹:"cuī lèi dàn",雨夹雪:"yǔ jiā xuě",敲竹杠:"qiāo zhú gàng",列车长:"liè chē zhǎng",华达呢:"huá dá ní",犯得着:"fàn de zháo",土疙瘩:"tǔ gē da",煞风景:"shā fēng jǐng",轻量级:"qīng liàng jí",羞答答:"xiū dā dā",石子儿:"shí zǐ er",达姆弹:"dá mǔ dàn",科教片:"kē jiào piān",侃大山:"kǎn dà shān",丁点儿:"dīng diǎn er",吃得消:"chī de xiāo",捋虎须:"luō hǔ xū",高丽参:"gāo lí shēn",众生相:"zhòng shēng xiàng",咽峡炎:"yān xiá yán",禁得住:"jīn de zhù",吃得开:"chī de kāi",柞丝绸:"zuò sī chóu",应声虫:"yìng shēng chóng",数得着:"shǔ de zháo",傻劲儿:"shǎ jìn er",铅玻璃:"qiān bō li",可的松:"kě dì sōng",划得来:"huá de lái",晕乎乎:"yūn hū hū",屎壳郎:"shǐ ke làng",尥蹶子:"liào juě zi",藏红花:"zàng hóng huā",闷罐车:"mèn guàn chē",卡脖子:"qiǎ bó zi",红澄澄:"hóng deng deng",赶得及:"gǎn de jí",当间儿:"dāng jiàn er",露马脚:"lòu mǎ jiǎo",鸡内金:"jī nèi jīn",犯得上:"fàn de shàng",钉齿耙:"dīng chǐ bà",饱和点:"bǎo hé diǎn",龙爪槐:"lóng zhǎo huái",喝倒彩:"hè dào cǎi",定冠词:"dìng guàn cí",担担面:"dàn dan miàn",吃得住:"chī de zhù",爪尖儿:"zhuǎ jiān er",支着儿:"zhī zhāo er",折跟头:"zhē gēn tou",阴着儿:"yīn zhāo er",烟卷儿:"yān juǎn er",宣传弹:"xuān chuán dàn",信皮儿:"xìn pí er",弦切角:"xián qiē jiǎo",缩砂密:"sù shā mì",说得来:"shuō de lái",水漂儿:"shuǐ piāo er",耍笔杆:"shuǎ bǐ gǎn",数得上:"shǔ de shàng",数不着:"shǔ bù zháo",数不清:"shǔ bù qīng",什件儿:"shí jiàn er",生死簿:"shēng sǐ bù",扇风机:"shān fēng jī",撒呓挣:"sā yì zheng",日记簿:"rì jì bù",热得快:"rè de kuài",亲家公:"qìng jia gōng",奇函数:"jī hán shù",拍纸簿:"pāi zhǐ bù",努劲儿:"nǔ jìn er",泥娃娃:"ní wá wa",内切圆:"nèi qiē yuán",哪会儿:"nǎ huì er",闷头儿:"mēn tóu er",没谱儿:"méi pǔ er",铆劲儿:"mǎo jìn er",溜肩膀:"liū jiān bǎng",了望台:"liào wàng tái",老来少:"lǎo lái shào",坤角儿:"kūn jué er",考勤簿:"kǎo qín bù",卷笔刀:"juǎn bǐ dāo",进给量:"jìn jǐ liàng",划不来:"huá bù lái",汗褂儿:"hàn guà er",鼓囊囊:"gǔ nāng nāng",够劲儿:"gòu jìn er",公切线:"gōng qiē xiàn",搁得住:"gé de zhù",赶浪头:"gǎn làng tóu",赶得上:"gǎn de shàng",干酵母:"gān jiào mǔ",嘎渣儿:"gā zhā er",嘎嘣脆:"gā bēng cuì",对得住:"duì de zhù",逗闷子:"dòu mèn zi",顶呱呱:"dǐng guā guā",滴溜儿:"dī liù er",大轴子:"dà zhòu zi",打板子:"dǎ bǎn zi",寸劲儿:"cùn jìn er",醋劲儿:"cù jìn er",揣手儿:"chuāi shǒu er",冲劲儿:"chòng jìn er",吃得来:"chī de lái",不更事:"bù gēng shì",奔头儿:"bèn tou er",百夫长:"bǎi fū zhǎng",娃娃亲:"wá wa qīn",死劲儿:"sǐ jìn er",骨朵儿:"gū duǒ er",功劳簿:"gōng láo bù",都江堰:"dū jiāng yàn",一担水:"yí dàn shuǐ",否极泰:"pǐ jí tài",泰来否:"tài lái pǐ",咳特灵:"ké tè líng",开户行:"kāi hù háng",郦食其:"lì yì jī",花事了:"huā shì liǎo",一更更:"yì gēng gēng",一重山:"yì chóng shān",风一更:"fēng yì gēng",雪一更:"xuě yì gēng",归一码:"guī yì mǎ",星期一:"xīng qī yī",礼拜一:"lǐ bài yī",一季度:"yī jì dù",一月一:"yī yuè yī",一字马:"yī zì mǎ",一是一:"yī shì yī",一次方:"yī cì fāng",一阳指:"yī yáng zhǐ",一字决:"yī zì jué",一年级:"yī nián jí",一不做:"yī bú zuò",屈戌儿:"qū qu ér",难为水:"nán wéi shuǐ",难为情:"nán wéi qíng",行一行:"xíng yì háng",别别的:"biè bié de",干哪行:"gàn nǎ háng",干一行:"gàn yì háng",曲别针:"qū bié zhēn"},Tg=Object.keys(Mn).map(n=>({zh:n,pinyin:Mn[n],probability:2e-8,length:3,priority:v.Normal,dict:Symbol("dict3")})),En={成吉思汗:"chéng jí sī hán",四通八达:"sì tōng bā dá",一模一样:"yì mú yí yàng",青藏高原:"qīng zàng gāo yuán",阿弥陀佛:"ē mí tuó fó",解放思想:"jiè fàng sī xiǎng",所作所为:"suǒ zuò suǒ wéi",迷迷糊糊:"mí mí hu hū",荷枪实弹:"hè qiāng shí dàn",兴高采烈:"xìng gāo cǎi liè",无能为力:"wú néng wéi lì",布鲁塞尔:"bù lǔ sài ěr",为所欲为:"wéi suǒ yù wéi",克什米尔:"kè shí mǐ ěr",没完没了:"méi wán méi liǎo",不为人知:"bù wéi rén zhī",结结巴巴:"jiē jiē bā bā",前仆后继:"qián pū hòu jì",铺天盖地:"pū tiān gài dì",直截了当:"zhí jié liǎo dàng",供不应求:"gōng bú yìng qiú",御史大夫:"yù shǐ dà fū",不为瓦全:"bù wéi wǎ quán",不可收拾:"bù kě shōu shi",胡作非为:"hú zuò fēi wéi",分毫不差:"fēn háo bú chà",模模糊糊:"mó mó hu hū",不足为奇:"bù zú wéi qí",悄无声息:"qiǎo wú shēng xī",了如指掌:"liǎo rú zhǐ zhǎng",深恶痛绝:"shēn wù tòng jué",高高兴兴:"gāo gāo xìng xìng",唉声叹气:"āi shēng tàn qì",汉藏语系:"hàn zàng yǔ xì",处心积虑:"chǔ xīn jī lǜ",泣不成声:"qì bù chéng shēng",半夜三更:"bàn yè sān gēng",失魂落魄:"shī hún luò pò",二十八宿:"èr shí bā xiù",转来转去:"zhuàn lái zhuàn qù",数以万计:"shǔ yǐ wàn jì",相依为命:"xiāng yī wéi mìng",恋恋不舍:"liàn liàn bù shě",屈指可数:"qū zhǐ kě shǔ",神出鬼没:"shén chū guǐ mò",结结实实:"jiē jiē shí shí",有的放矢:"yǒu dì fàng shǐ",叽哩咕噜:"jī lǐ gū lū",调兵遣将:"diào bīng qiǎn jiàng",载歌载舞:"zài gē zài wǔ",转危为安:"zhuǎn wēi wéi ān",踏踏实实:"tā tā shi shí",桑给巴尔:"sāng jǐ bā ěr",装模作样:"zhuāng mú zuò yàng",见义勇为:"jiàn yì yǒng wéi",相差无几:"xiāng chā wú jǐ",叹为观止:"tàn wéi guān zhǐ",闷闷不乐:"mèn mèn bú lè",喜怒哀乐:"xǐ nù āi lè",鲜为人知:"xiǎn wéi rén zhī",张牙舞爪:"zhāng yá wǔ zhǎo",为非作歹:"wéi fēi zuò dǎi",含糊其辞:"hán hú qí cí",疲于奔命:"pí yú bēn mìng",勉为其难:"miǎn wéi qí nán",依依不舍:"yī yī bù shě",顶头上司:"dǐng tóu shàng si",不着边际:"bù zhuó biān jì",大模大样:"dà mú dà yàng",寻欢作乐:"xún huān zuò lè",一走了之:"yì zǒu liǎo zhī",字里行间:"zì lǐ háng jiān",含含糊糊:"hán hán hu hū",恰如其分:"qià rú qí fèn",破涕为笑:"pò tì wéi xiào",深更半夜:"shēn gēng bàn yè",千差万别:"qiān chā wàn bié",数不胜数:"shǔ bú shèng shǔ",据为己有:"jù wéi jǐ yǒu",天旋地转:"tiān xuán dì zhuàn",养尊处优:"yǎng zūn chǔ yōu",玻璃纤维:"bō li xiān wéi",吵吵闹闹:"chāo chao nào nào",晕头转向:"yūn tóu zhuàn xiàng",土生土长:"tǔ shēng tǔ zhǎng",宁死不屈:"nìng sǐ bù qū",不省人事:"bù xǐng rén shì",尽力而为:"jìn lì ér wéi",精明强干:"jīng míng qiáng gàn",唠唠叨叨:"láo lao dāo dāo",叽叽喳喳:"jī ji zhā zhā",功不可没:"gōng bù kě mò",锲而不舍:"qiè ér bù shě",排忧解难:"pái yōu jiě nàn",稀里糊涂:"xī li hú tú",各有所长:"gè yǒu suǒ cháng",的的确确:"dí dí què què",哄堂大笑:"hōng táng dà xiào",听而不闻:"tīng ér bù wén",刀耕火种:"dāo gēng huǒ zhòng",内分泌腺:"nèi fèn mì xiàn",化险为夷:"huà xiǎn wéi yí",百发百中:"bǎi fā bǎi zhòng",重见天日:"chóng jiàn tiān rì",反败为胜:"fǎn bài wéi shèng",一了百了:"yì liǎo bǎi liǎo",大大咧咧:"dà da liē liē",心急火燎:"xīn jí huǒ liǎo",粗心大意:"cū xīn dà yi",鸡皮疙瘩:"jī pí gē da",夷为平地:"yí wéi píng dì",日积月累:"rì jī yuè lěi",设身处地:"shè shēn chǔ dì",投其所好:"tóu qí suǒ hào",间不容发:"jiān bù róng fà",人满为患:"rén mǎn wéi huàn",穷追不舍:"qióng zhuī bù shě",为时已晚:"wéi shí yǐ wǎn",如数家珍:"rú shǔ jiā zhēn",心里有数:"xīn lǐ yǒu shù",以牙还牙:"yǐ yá huán yá",神不守舍:"shén bù shǒu shě",孟什维克:"mèng shí wéi kè",各自为战:"gè zì wéi zhàn",怨声载道:"yuàn shēng zài dào",救苦救难:"jiù kǔ jiù nàn",好好先生:"hǎo hǎo xiān sheng",怪模怪样:"guài mú guài yàng",抛头露面:"pāo tóu lù miàn",游手好闲:"yóu shǒu hào xián",无所不为:"wú suǒ bù wéi",调虎离山:"diào hǔ lí shān",步步为营:"bù bù wéi yíng",好大喜功:"hào dà xǐ gōng",众矢之的:"zhòng shǐ zhī dì",长生不死:"cháng shēng bù sǐ",蔚为壮观:"wèi wéi zhuàng guān",不可胜数:"bù kě shèng shǔ",鬼使神差:"guǐ shǐ shén chāi",洁身自好:"jié shēn zì hào",敢作敢为:"gǎn zuò gǎn wéi",茅塞顿开:"máo sè dùn kāi",走马换将:"zǒu mǎ huàn jiàng",为时过早:"wéi shí guò zǎo",为人师表:"wéi rén shī biǎo",阴差阳错:"yīn chā yáng cuò",油腔滑调:"yóu qiāng huá diào",重蹈覆辙:"chóng dǎo fù zhé",骂骂咧咧:"mà ma liē liē",絮絮叨叨:"xù xù dāo dāo",如履薄冰:"rú lǚ bó bīng",损兵折将:"sǔn bīng zhé jiàng",拐弯抹角:"guǎi wān mò jiǎo",像模像样:"xiàng mú xiàng yàng",供过于求:"gōng guò yú qiú",开花结果:"kāi huā jiē guǒ",仔仔细细:"zǐ zǐ xì xì",川藏公路:"chuān zàng gōng lù",河北梆子:"hé běi bāng zi",长年累月:"cháng nián lěi yuè",正儿八经:"zhèng er bā jīng",不识抬举:"bù shí tái ju",重振旗鼓:"chóng zhèn qí gǔ",气息奄奄:"qì xī yān yān",紧追不舍:"jǐn zhuī bù shě",服服帖帖:"fú fu tiē tiē",强词夺理:"qiǎng cí duó lǐ",噼里啪啦:"pī li pā lā",人才济济:"rén cái jǐ jǐ",发人深省:"fā rén shēn xǐng",不足为凭:"bù zú wéi píng",为富不仁:"wéi fù bù rén",连篇累牍:"lián piān lěi dú",呼天抢地:"hū tiān qiāng dì",落落大方:"luò luò dà fāng",自吹自擂:"zì chuī zì léi",乐善好施:"lè shàn hào shī",以攻为守:"yǐ gōng wéi shǒu",磨磨蹭蹭:"mó mó cèng cèng",削铁如泥:"xuē tiě rú ní",助纣为虐:"zhù zhòu wéi nüè",以退为进:"yǐ tuì wéi jìn",嘁嘁喳喳:"qī qī chā chā",枪林弹雨:"qiāng lín dàn yǔ",令人发指:"lìng rén fà zhǐ",转败为胜:"zhuǎn bài wéi shèng",转弯抹角:"zhuǎn wān mò jiǎo",在劫难逃:"zài jié nán táo",正当防卫:"zhèng dàng fáng wèi",不足为怪:"bù zú wéi guài",难兄难弟:"nàn xiōng nàn dì",咿咿呀呀:"yī yī yā yā",弹尽粮绝:"dàn jìn liáng jué",阿谀奉承:"ē yú fèng chéng",稀里哗啦:"xī li huā lā",返老还童:"fǎn lǎo huán tóng",好高骛远:"hào gāo wù yuǎn",鹿死谁手:"lù sǐ shéi shǒu",差强人意:"chā qiáng rén yì",大吹大擂:"dà chuī dà léi",成家立业:"chéng jiā lì yè",自怨自艾:"zì yuàn zì yì",负债累累:"fù zhài lěi lěi",古为今用:"gǔ wéi jīn yòng",入土为安:"rù tǔ wéi ān",下不为例:"xià bù wéi lì",一哄而上:"yì hōng ér shàng",没头苍蝇:"méi tóu cāng ying",天差地远:"tiān chā dì yuǎn",风卷残云:"fēng juǎn cán yún",多灾多难:"duō zāi duō nàn",乳臭未干:"rǔ xiù wèi gān",行家里手:"háng jiā lǐ shǒu",狼狈为奸:"láng bèi wéi jiān",处变不惊:"chǔ biàn bù jīng",一唱一和:"yí chàng yí hè",一念之差:"yí niàn zhī chā",金蝉脱壳:"jīn chán tuō qiào",滴滴答答:"dī dī dā dā",硕果累累:"shuò guǒ léi léi",好整以暇:"hào zhěng yǐ xiá",红得发紫:"hóng de fā zǐ",传为美谈:"chuán wéi měi tán",富商大贾:"fù shāng dà gǔ",四海为家:"sì hǎi wéi jiā",了若指掌:"liǎo ruò zhǐ zhǎng",大有可为:"dà yǒu kě wéi",出头露面:"chū tóu lù miàn",鼓鼓囊囊:"gǔ gu nāng nāng",窗明几净:"chuāng míng jī jìng",泰然处之:"tài rán chǔ zhī",怒发冲冠:"nù fà chōng guān",有机玻璃:"yǒu jī bō li",骨头架子:"gǔ tou jià zi",义薄云天:"yì bó yún tiān",一丁点儿:"yī dīng diǎn er",时来运转:"shí lái yùn zhuǎn",陈词滥调:"chén cí làn diào",化整为零:"huà zhěng wéi líng",火烧火燎:"huǒ shāo huǒ liǎo",干脆利索:"gàn cuì lì suǒ",吊儿郎当:"diào er láng dāng",广种薄收:"guǎng zhòng bó shōu",种瓜得瓜:"zhòng guā dé guā",种豆得豆:"zhòng dòu dé dòu",难舍难分:"nán shě nán fēn",歃血为盟:"shà xuè wéi méng",奋发有为:"fèn fā yǒu wéi",阴错阳差:"yīn cuò yáng chā",东躲西藏:"dōng duǒ xī cáng",烟熏火燎:"yān xūn huǒ liǎo",钻牛角尖:"zuān niú jiǎo jiān",乔装打扮:"qiáo zhuāng dǎ bàn",改弦更张:"gǎi xián gēng zhāng",河南梆子:"hé nán bāng zi",好吃懒做:"hào chī lǎn zuò",何乐不为:"hé lè bù wéi",大出风头:"dà chū fēng tóu",攻城掠地:"gōng chéng lüè dì",漂漂亮亮:"piào piào liang liang",折衷主义:"zhé zhōng zhǔ yì",大马哈鱼:"dà mǎ hǎ yú",绿树成荫:"lǜ shù chéng yīn",率先垂范:"shuài xiān chuí fàn",家长里短:"jiā cháng lǐ duǎn",宽大为怀:"kuān dà wéi huái",左膀右臂:"zuǒ bǎng yòu bì",一笑了之:"yí xiào liǎo zhī",天下为公:"tiān xià wéi gōng",还我河山:"huán wǒ hé shān",何足为奇:"hé zú wéi qí",好自为之:"hǎo zì wéi zhī",风姿绰约:"fēng zī chuò yuē",大雨滂沱:"dà yǔ pāng tuó",传为佳话:"chuán wéi jiā huà",吃里扒外:"chī lǐ pá wài",重操旧业:"chóng cāo jiù yè",小家子气:"xiǎo jiā zi qì",少不更事:"shào bù gēng shì",难分难舍:"nán fēn nán shě",添砖加瓦:"tiān zhuān jiā wǎ",是非分明:"shì fēi fēn míng",舍我其谁:"shě wǒ qí shuí",偏听偏信:"piān tīng piān xìn",量入为出:"liàng rù wéi chū",降龙伏虎:"xiáng lóng fú hǔ",钢化玻璃:"gāng huà bō li",正中下怀:"zhèng zhòng xià huái",以身许国:"yǐ shēn xǔ guó",一语中的:"yì yǔ zhòng dì",丧魂落魄:"sàng hún luò pò",三座大山:"sān zuò dà shān",济济一堂:"jǐ jǐ yì táng",好事之徒:"hào shì zhī tú",干净利索:"gàn jìng lì suǒ",出将入相:"chū jiàng rù xiàng",袅袅娜娜:"niǎo niǎo nuó nuó",狐狸尾巴:"hú li wěi ba",好逸恶劳:"hào yì wù láo",大而无当:"dà ér wú dàng",打马虎眼:"dǎ mǎ hu yǎn",板上钉钉:"bǎn shàng dìng dīng",吆五喝六:"yāo wǔ hè liù",虾兵蟹将:"xiā bīng xiè jiàng",水调歌头:"shuǐ diào gē tóu",数典忘祖:"shǔ diǎn wàng zǔ",人事不省:"rén shì bù xǐng",曲高和寡:"qǔ gāo hè guǎ",屡教不改:"lǚ jiào bù gǎi",互为因果:"hù wéi yīn guǒ",互为表里:"hù wéi biǎo lǐ",厚此薄彼:"hòu cǐ bó bǐ",过关斩将:"guò guān zhǎn jiàng",疙疙瘩瘩:"gē ge dā dā",大腹便便:"dà fù pián pián",走为上策:"zǒu wéi shàng cè",冤家对头:"yuān jia duì tóu",有隙可乘:"yǒu xì kě chèng",一鳞半爪:"yì lín bàn zhǎo",片言只语:"piàn yán zhǐ yǔ",开花结实:"kāi huā jié shí",经年累月:"jīng nián lěi yuè",含糊其词:"hán hú qí cí",寡廉鲜耻:"guǎ lián xiǎn chǐ",成年累月:"chéng nián lěi yuè",不徇私情:"bú xùn sī qíng",不当人子:"bù dāng rén zǐ",膀大腰圆:"bǎng dà yāo yuán",指腹为婚:"zhǐ fù wéi hūn",这么点儿:"zhè me diǎn er",意兴索然:"yì xīng suǒ rán",绣花枕头:"xiù huā zhěn tou",无的放矢:"wú dì fàng shǐ",望闻问切:"wàng wén wèn qiè",舍己为人:"shě jǐ wèi rén",穷年累月:"qióng nián lěi yuè",排难解纷:"pái nàn jiě fēn",处之泰然:"chǔ zhī tài rán",指鹿为马:"zhǐ lù wéi mǎ",危如累卵:"wēi rú lěi luǎn",天兵天将:"tiān bīng tiān jiàng",舍近求远:"shě jìn qiú yuǎn",南腔北调:"nán qiāng běi diào",苦中作乐:"kǔ zhōng zuò lè",厚积薄发:"hòu jī bó fā",臭味相投:"xiù wèi xiāng tóu",长幼有序:"zhǎng yòu yǒu xù",逼良为娼:"bī liáng wéi chāng",悲悲切切:"bēi bēi qiè qiē",败军之将:"bài jūn zhī jiàng",欺行霸市:"qī háng bà shì",削足适履:"xuē zú shì lǚ",先睹为快:"xiān dǔ wéi kuài",啼饥号寒:"tí jī háo hán",疏不间亲:"shū bú jiàn qīn",神差鬼使:"shén chāi guǐ shǐ",敲敲打打:"qiāo qiāo dǎ dǎ",平铺直叙:"píng pū zhí xù",没头没尾:"méi tóu mò wěi",寥寥可数:"liáo liáo kě shǔ",哼哈二将:"hēng hā èr jiàng",鹤发童颜:"hè fà tóng yán",各奔前程:"gè bèn qián chéng",弹无虚发:"dàn wú xū fā",大人先生:"dà rén xiān sheng",与民更始:"yǔ mín gēng shǐ",树碑立传:"shù bēi lì zhuàn",是非得失:"shì fēi dé shī",实逼处此:"shí bī chǔ cǐ",塞翁失马:"sài wēng shī mǎ",日薄西山:"rì bó xī shān",切身体会:"qiè shēn tǐ huì",片言只字:"piàn yán zhǐ zì",跑马卖解:"pǎo mǎ mài xiè",宁折不弯:"nìng zhé bù wān",零零散散:"líng líng sǎn sǎn",量体裁衣:"liàng tǐ cái yī",连中三元:"lián zhòng sān yuán",礼崩乐坏:"lǐ bēng yuè huài",不为已甚:"bù wéi yǐ shèn",转悲为喜:"zhuǎn bēi wéi xǐ",以眼还眼:"yǐ yǎn huán yǎn",蔚为大观:"wèi wéi dà guān",未为不可:"wèi wéi bù kě",童颜鹤发:"tóng yán hè fà",朋比为奸:"péng bǐ wéi jiān",莫此为甚:"mò cǐ wéi shèn",夹枪带棒:"jiā qiāng dài bàng",富商巨贾:"fù shāng jù jiǎ",淡然处之:"dàn rán chǔ zhī",箪食壶浆:"dān shí hú jiāng",创巨痛深:"chuāng jù tòng shēn",草长莺飞:"cǎo zhǎng yīng fēi",坐视不救:"zuò shī bú jiù",以己度人:"yǐ jǐ duó rén",随行就市:"suí háng jiù shì",文以载道:"wén yǐ zài dào",文不对题:"wén bú duì tí",铁板钉钉:"tiě bǎn dìng dīng",身体发肤:"shēn tǐ fà fū",缺吃少穿:"quē chī shǎo chuān",目无尊长:"mù wú zūn zhǎng",吉人天相:"jí rén tiān xiàng",毁家纾难:"huǐ jiā shū nàn",钢筋铁骨:"gāng jīn tiě gǔ",丢卒保车:"diū zú bǎo jū",丢三落四:"diū sān là sì",闭目塞听:"bì mù sè tīng",削尖脑袋:"xuē jiān nǎo dài",为非作恶:"wéi fēi zuò è",人才难得:"rén cái nán dé",情非得已:"qíng fēi dé yǐ",切中要害:"qiè zhòng yào hài",火急火燎:"huǒ jí huǒ liǎo",画地为牢:"huà dì wéi láo",好酒贪杯:"hào jiǔ tān bēi",长歌当哭:"cháng gē dàng kū",载沉载浮:"zài chén zài fú",遇难呈祥:"yù nàn chéng xiáng",榆木疙瘩:"yú mù gē da",以邻为壑:"yǐ lín wéi hè",洋为中用:"yáng wéi zhōng yòng",言为心声:"yán wéi xīn shēng",言必有中:"yán bì yǒu zhòng",图穷匕见:"tú qióng bǐ xiàn",滂沱大雨:"páng tuó dà yǔ",目不暇给:"mù bù xiá jǐ",量才录用:"liàng cái lù yòng",教学相长:"jiào xué xiāng zhǎng",悔不当初:"huǐ bù dāng chū",呼幺喝六:"hū yāo hè liù",不足为训:"bù zú wéi xùn",不拘形迹:"bù jū xíng jī",傍若无人:"páng ruò wú rén",罪责难逃:"zuì zé nán táo",自我吹嘘:"zì wǒ chuī xū",转祸为福:"zhuǎn huò wéi fú",勇冠三军:"yǒng guàn sān jūn",易地而处:"yì dì ér chǔ",卸磨杀驴:"xiè mò shā lǘ",玩儿不转:"wán ér bú zhuàn",天道好还:"tiān dào hǎo huán",身单力薄:"shēn dān lì bó",撒豆成兵:"sǎ dòu chéng bīng",片纸只字:"piàn zhǐ zhī zì",宁缺毋滥:"nìng quē wú làn",没没无闻:"mò mò wú wén",量力而为:"liàng lì ér wéi",历历可数:"lì lì kě shǔ",口碑载道:"kǒu bēi zài dào",君子好逑:"jūn zǐ hǎo qiú",好为人师:"hào wéi rén shī",豪商巨贾:"háo shāng jù jiǎ",各有所好:"gè yǒu suǒ hào",度德量力:"duó dé liàng lì",指天为誓:"zhǐ tiān wéi shì",逸兴遄飞:"yì xìng chuán fēi",心宽体胖:"xīn kuān tǐ pán",为德不卒:"wéi dé bù zú",天下为家:"tiān xià wéi jiā",视为畏途:"shì wéi wèi tú",三灾八难:"sān zāi bā nàn",沐猴而冠:"mù hóu ér guàn",哩哩啦啦:"lī li lā lā",见缝就钻:"jiàn fèng jiù zuān",夹层玻璃:"jiā céng bō li",急公好义:"jí gōng hào yì",积年累月:"jī nián lěi yuè",划地为牢:"huá dì wéi láo",更名改姓:"gēng míng gǎi xìng",奉为圭臬:"fèng wéi guī niè",多难兴邦:"duō nàn xīng bāng",不破不立:"bú pò bú lì",坐地自划:"zuò dì zì huá",坐不重席:"zuò bù chóng xí",坐不窥堂:"zuò bù kuī táng",作嫁衣裳:"zuò jià yī shang",左枝右梧:"zuǒ zhī yòu wú",左宜右有:"zuǒ yí yòu yǒu",钻头觅缝:"zuān tóu mì fèng",钻天打洞:"zuān tiān dǎ dòng",钻皮出羽:"zuān pí chū yǔ",钻火得冰:"zuān huǒ dé bīng",钻洞觅缝:"zuàn dòng mì féng",钻冰求火:"zuān bīng qiú huǒ",子为父隐:"zǐ wéi fù yǐn",擢发难数:"zhuó fà nán shǔ",着人先鞭:"zhuó rén xiān biān",斫雕为朴:"zhuó diāo wéi pǔ",锥处囊中:"zhuī chǔ náng zhōng",椎心饮泣:"chuí xīn yǐn qì",椎心泣血:"chuí xīn qì xuè",椎牛飨士:"chuí niú xiǎng shì",椎牛歃血:"chuí niú shà xuè",椎牛发冢:"chuí niú fà zhǒng",椎埋屠狗:"chuí mái tú gǒu",椎埋狗窃:"chuí mái gǒu qiè",壮发冲冠:"zhuàng fā chōng guàn",庄严宝相:"zhuāng yán bǎo xiàng",转愁为喜:"zhuǎn chóu wéi xǐ",转嗔为喜:"zhuǎn chēn wéi xǐ",拽巷啰街:"zhuài xiàng luó jiē",拽耙扶犁:"zhuāi pá fú lí",拽布拖麻:"zhuài bù tuō má",箸长碗短:"zhù cháng wǎn duǎn",铸剑为犁:"zhù jiàn wéi lí",杼柚其空:"zhù yòu qí kōng",杼柚空虚:"zhù yòu kōng xū",助天为虐:"zhù tiān wéi nüè",属垣有耳:"zhǔ yuán yǒu ěr",属毛离里:"zhǔ máo lí lǐ",属辞比事:"zhǔ cí bǐ shì",逐物不还:"zhú wù bù huán",铢量寸度:"zhū liáng cùn duó",铢两悉称:"zhū liǎng xī chèn",侏儒观戏:"zhū rú guān xì",朱轓皁盖:"zhū fān zào gài",昼度夜思:"zhòu duó yè sī",诪张为幻:"zhōu zhāng wéi huàn",重明继焰:"chóng míng jì yàn",众啄同音:"zhòng zhuó tóng yīn",众毛攒裘:"zhòng máo cuán qiú",众好众恶:"zhòng hào zhòng wù",擿埴索涂:"zhāi zhí suǒ tú",稚齿婑媠:"zhì chǐ wǒ tuó",至当不易:"zhì dàng bú yì",指皂为白:"zhǐ zào wéi bái",指雁为羹:"zhǐ yàn wéi gēng",指树为姓:"zhǐ shù wéi xìng",指山说磨:"zhǐ shān shuō mò",止戈为武:"zhǐ gē wéi wǔ",枝干相持:"zhī gàn xiāng chí",枝大于本:"zh dà yú běn",支吾其词:"zhī wú qí cí",正身率下:"zhèng shēn shuài xià",正冠李下:"zhèng guàn lǐ xià",整冠纳履:"zhěng guān nà lǚ",整躬率物:"zhěng gōng shuài wù",整顿干坤:"zhěng dùn gàn kūn",针头削铁:"zhēn tóu xuē tiě",贞松劲柏:"zhēn sōng jìng bǎi",赭衣塞路:"zhě yī sè lù",折箭为誓:"shé jiàn wéi shì",折而族之:"zhé ér zú zhī",昭德塞违:"zhāo dé sè wéi",章句小儒:"zhāng jù xiǎo rú",湛恩汪濊:"zhàn ēn wāng huì",占风望气:"zhān fēng wàng qì",斩将搴旗:"zhǎn jiàng qiān qí",曾母投杼:"zēng mǔ tóu zhù",曾参杀人:"zēng shēn shā rén",造谣中伤:"zào yáo zhòng shāng",早占勿药:"zǎo zhān wù yào",凿龟数策:"záo guī shǔ cè",攒三聚五:"cuán sān jù wǔ",攒眉蹙额:"cuán mei cù é",攒零合整:"cuán líng hé zhěng",攒锋聚镝:"cuán fēng jù dí",载笑载言:"zài xiào zài yán",载酒问字:"zài jiǔ wèn zì",殒身不恤:"yǔn shēn bú xù",云舒霞卷:"yún shū xiá juǎn",月中折桂:"yuè zhōng shé guì",月落参横:"yuè luò shēn héng",鬻驽窃价:"yù nú qiè jià",鬻鸡为凤:"yù jī wéi fèng",遇难成祥:"yù nàn chéng xiáng",郁郁累累:"yù yù lěi lěi",玉卮无当:"yù zhī wú dàng",语笑喧阗:"yǔ xiào xuān tián",与世沉浮:"yǔ shì chén fú",与时消息:"yǔ shí xiāo xi",逾墙钻隙:"yú qiáng zuān xì",渔夺侵牟:"yú duó qīn móu",杅穿皮蠹:"yú chuān pí dù",余勇可贾:"yú yǒng kě gǔ",予智予雄:"yú zhì yú xióng",予取予求:"yú qǔ yú qiú",于家为国:"yú jiā wéi guó",有借无还:"yǒu jiè wú huán",有加无已:"yǒu jiā wú yǐ",有国难投:"yǒu guó nán tóu",游必有方:"yóu bì yǒu fāng",油干灯尽:"yóu gàn dēng jìn",尤云殢雨:"yóu yún tì yǔ",庸中皦皦:"yōng zhōng jiǎo jiǎo",郢书燕说:"yǐng shū yān shuō",营蝇斐锦:"yíng yíng fēi jǐn",鹰心雁爪:"yīng xīn yàn zhǎo",莺吟燕儛:"yīng yín yàn wǔ",应天顺时:"yīng tiān shùn shí",印累绶若:"yìn léi shòu ruò",隐占身体:"yǐn zhàn shēn tǐ",饮犊上流:"yìn dú shàng liú",引绳切墨:"yǐn shéng qiē mò",龈齿弹舌:"yín chǐ dàn shé",因缘为市:"yīn yuán wéi shì",因树为屋:"yīn shù wéi wū",溢美溢恶:"yì měi yì wù",抑塞磊落:"yì sè lěi luò",倚闾望切:"yǐ lǘ wàng qiē",以意为之:"yǐ yì wéi zhī",以言为讳:"yǐ yán wéi huì",以疏间亲:"yǐ shū jiàn qīn",以水济水:"yǐ shuǐ jǐ shuǐ",以书为御:"yǐ shū wéi yù",以守为攻:"yǐ shǒu wéi gōng",以升量石:"yǐ shēng liáng dàn",以慎为键:"yǐ shèn wéi jiàn",以筌为鱼:"yǐ quán wéi yú",以利累形:"yǐ lì lěi xíng",以毁为罚:"yǐ huǐ wéi fá",以黑为白:"yǐ hēi wéi bái",以规为瑱:"yǐ guī wéi tiàn",以古为鉴:"yǐ gǔ wéi jiàn",以宫笑角:"yǐ gōng xiào jué",以法为教:"yǐ fǎ wéi jiào",以大恶细:"yǐ dà wù xì",遗世忘累:"yí shì wàng lěi",遗寝载怀:"yí qǐn zài huái",移的就箭:"yí dì jiù jiàn",依头缕当:"yī tóu lǚ dàng",衣租食税:"yì zū shí shuì",衣轻乘肥:"yì qīng chéng féi",衣裳之会:"yī shang zhī huì",衣单食薄:"yī dān shí bó",一还一报:"yì huán yí bào",叶公好龙:"yè gōng hào lóng",野调无腔:"yě diào wú qiāng",瑶池女使:"yáo chí nǚ shǐ",幺麽小丑:"yāo mó xiǎo chǒu",养精畜锐:"yǎng jīng xù ruì",卬首信眉:"áng shǒu shēn méi",洋洋纚纚:"yáng yáng sǎ sǎ",羊羔美酒:"yáng gāo měi jiǔ",扬风扢雅:"yáng fēng jié yǎ",燕昭市骏:"yān zhāo shì jùn",燕昭好马:"yān zhāo hǎo mǎ",燕石妄珍:"yān shí wàng zhēn",燕骏千金:"yān jùn qiān jīn",燕金募秀:"yān jīn mù xiù",燕驾越毂:"yān jià yuè gǔ",燕歌赵舞:"yān gē zhào wǔ",燕岱之石:"yān dài zhī shí",燕处危巢:"yàn chǔ wēi cháo",掞藻飞声:"shàn zǎo fēi shēng",偃革为轩:"yǎn gé wéi xuān",妍蚩好恶:"yán chī hǎo è",压良为贱:"yā liáng wéi jiàn",搀行夺市:"chān háng duó shì",泣数行下:"qì shù háng xià",当行出色:"dāng háng chū sè",秀出班行:"xiù chū bān háng",儿女成行:"ér nǚ chéng háng",大行大市:"dà háng dà shì",寻行数墨:"xún háng shǔ mò",埙篪相和:"xūn chí xiāng hè",血债累累:"xuè zhài lěi lěi",炫玉贾石:"xuàn yù gǔ shí",炫石为玉:"xuàn shí wéi yù",悬石程书:"xuán dàn chéng shū",悬狟素飡:"xuán huán sù cān",悬龟系鱼:"xuán guī xì yú",揎拳捋袖:"xuān quán luō xiù",轩鹤冠猴:"xuān hè guàn hóu",畜妻养子:"xù qī yǎng zǐ",羞人答答:"xiū rén dā dā",修鳞养爪:"xiū lín yǎng zhǎo",熊据虎跱:"xióng jù hǔ zhì",兄死弟及:"xiōng sǐ dì jí",腥闻在上:"xīng wén zài shàng",兴文匽武:"xīng wén yǎn wǔ",兴观群怨:"xìng guān qún yuàn",兴高彩烈:"xìng gāo cǎi liè",心手相应:"xīn shǒu xiāng yìng",心口相应:"xīn kǒu xiāng yīng",挟势弄权:"xié shì nòng quán",胁肩累足:"xié jiān lěi zú",校短量长:"jiào duǎn liáng cháng",小眼薄皮:"xiǎo yǎn bó pí",硝云弹雨:"xiāo yún dàn yǔ",鸮鸣鼠暴:"xiāo míng shǔ bào",削株掘根:"xuē zhū jué gēn",削铁无声:"xuē tiě wú shēng",削职为民:"xuē zhí wéi mín",削木为吏:"xuē mù wéi lì",想望风褱:"xiǎng wàng fēng huái",香培玉琢:"xiang pei yu zhuó",相鼠有皮:"xiàng shǔ yǒu pí",相时而动:"xiàng shí ér dòng",相切相磋:"xiāng qiē xiāng cuō",相女配夫:"xiàng nǚ pèi fū",相门有相:"xiàng mén yǒu xiàng",挦章撦句:"xián zhāng chě jù",先我着鞭:"xiān wǒ zhuó biān",习焉不察:"xí yān bù chá",歙漆阿胶:"shè qī ē jiāo",晰毛辨发:"xī máo biàn fà",悉索薄赋:"xī suǒ bó fù",雾鳞云爪:"wù lín yún zhǎo",物稀为贵:"wù xī wéi guì",碔砆混玉:"wǔ fū hùn yù",武断专横:"wǔ duàn zhuān héng",五石六鹢:"wǔ shí liù yì",五色相宣:"wǔ sè xiāng xuān",五侯七贵:"wǔ hóu qī guì",五侯蜡烛:"wǔ hòu là zhú",五羖大夫:"wǔ gǔ dà fū",吾自有处:"wú zì yǒu chǔ",无下箸处:"wú xià zhù chǔ",无伤无臭:"wú shāng wú xiù",无能为役:"wú néng wéi yì",无寇暴死:"wú kòu bào sǐ",无孔不钻:"wú kǒng bú zuàn",无间可乘:"wú jiān kě chéng",无间冬夏:"wú jiān dōng xià",无恶不为:"wú è bù wéi",无动为大:"wú dòng wéi dà",诬良为盗:"wū liáng wéi dào",握拳透爪:"wò quán tòu zhǎo",文武差事:"wén wǔ chāi shì",委委佗佗:"wēi wēi tuó tuó",惟日为岁:"wéi rì wéi suì",帷薄不修:"wéi bó bù xiū",为善最乐:"wéi shàn zuì lè",为山止篑:"wéi shān zhǐ kuì",为仁不富:"wéi rén bú fù",为裘为箕:"wéi qiú wéi jī",为民父母:"wéi mín fù mǔ",为虺弗摧:"wéi huǐ fú cuī",为好成歉:"wéi hǎo chéng qiàn",为鬼为蜮:"wéi guǐ wéi yù",望风响应:"wàng fēng xiǎng yīng",望尘僄声:"wàng chén piào shēng",往渚还汀:"wǎng zhǔ huán tīng",王贡弹冠:"wáng gòng dàn guàn",亡国大夫:"wáng guó dà fū",万贯家私:"wàn guàn jiā sī",晚食当肉:"wǎn shí dàng ròu",晚节不保:"wǎn jié bù bǎo",玩岁愒时:"wán suì kài shí",蛙蟆胜负:"wā má shèng fù",吞言咽理:"tūn yán yàn lǐ",颓垣断堑:"tuí yuán duàn qiàn",推干就湿:"tuī gàn jiù shī",剸繁决剧:"tuán fán jué jù",团头聚面:"tuán tóu jù miàn",兔丝燕麦:"tù sī yàn mài",兔头麞脑:"tù tóu zhāng nǎo",兔葵燕麦:"tù kuí yàn mài",吐哺握发:"tǔ bǔ wò fà",投传而去:"tóu zhuàn ér qù",头没杯案:"tóu mò bēi àn",头昏脑闷:"tóu hūn nǎo mèn",头会箕敛:"tóu kuài jī liǎn",头出头没:"tóu chū tóu mò",痛自创艾:"tòng zì chuāng yì",同恶相助:"tóng wù xiāng zhù",同恶相恤:"tóng wù xiāng xù",痌瘝在抱:"tōng guān zài bào",通文调武:"tōng wén diào wǔ",停留长智:"tíng liú zhǎng zhì",铁树开华:"tiě shù kāi huā",条贯部分:"tiáo guàn bù fēn",挑牙料唇:"tiǎo yá liào chún",挑么挑六:"tiāo yāo tiāo liù",挑唇料嘴:"tiǎo chún liào zuǐ",恬不为意:"tián bù wéi yì",恬不为怪:"tián bù wéi guài",天下为笼:"tiān xià wéi lóng",天台路迷:"tiān tái lù mí",天年不遂:"tiān nián bú suì",探囊胠箧:"tàn náng qū qiè",谭言微中:"tán yán wēi zhòng",谈言微中:"tán yán wēi zhòng",狧穅及米:"shì kāng jí mǐ",随物应机:"suí wù yīng jī",搜岩采干:"sōu yán cǎi gàn",宋斤鲁削:"sòng jīn lǔ xuē",松筠之节:"sōng yún zhī jié",四亭八当:"sì tíng bā dàng",四马攒蹄:"sì mǎ cuán tí",四不拗六:"sì bú niù liù",思所逐之:"sī suǒ zhú zhī",丝恩发怨:"sī ēn fà yuàn",硕望宿德:"shuò wàng xiǔ dé",铄古切今:"shuò gǔ qiē jīn",顺风而呼:"shùn fēng ér hū",顺风吹火:"shùn fēng chuī huǒ",水中著盐:"shuǐ zhōng zhuó yán",双柑斗酒:"shuāng gān dǒu jiǔ",数米而炊:"shǔ mǐ ér chuī",数米量柴:"shǔ mǐ liáng chái",数理逻辑:"shù lǐ luó ji",数黑论黄:"shǔ hēi lùn huáng",数白论黄:"shǔ bái lùn huáng",束缊还妇:"shù yūn huán fù",束蒲为脯:"shù pú wéi pú",束椽为柱:"shù chuán wéi zhù",书缺有间:"shū quē yǒu jiàn",手足重茧:"shǒu zú chóng jiǎn",手足异处:"shǒu zú yì chǔ",手脚干净:"shǒu jiǎo gàn jìng",手不应心:"shǒu bù yīng xīn",螫手解腕:"shì shǒu jiě wàn",释知遗形:"shì zhī yí xíng",适时应务:"shì shí yīng wù",适情率意:"shì qíng shuài yì",适当其冲:"shì dāng qí chōng",视为知己:"shì wéi zhī jǐ",使羊将狼:"shǐ yáng jiàng láng",食为民天:"shí wéi mín tiān",拾掇无遗:"shí duō wú yí",实与有力:"shí yù yǒu lì",石英玻璃:"shí yīng bō li",石室金匮:"shí shì jīn guì",什袭珍藏:"shí xí zhēn cáng",什伍东西:"shí wǔ dōng xī",什围伍攻:"shí wéi wǔ gōng",十魔九难:"shí mó jiǔ nàn",诗书发冢:"shī shū fà zhǒng",虱处裈中:"shī chǔ kūn zhōng",师直为壮:"shī zhí wéi zhuàng",尸居龙见:"shī jū lóng xiàn",圣经贤传:"shèng jīng xián zhuàn",圣君贤相:"shèng jūn xián xiàng",生拖死拽:"shēng tuō sǐ zhuài",审己度人:"shěn jǐ duó rén",神武挂冠:"shén wǔ guà guàn",神龙失埶:"shén lóng shī shì",深文曲折:"shēn wén qǔ shé",深厉浅揭:"shēn lì qiǎn qì",深谷为陵:"shēn gǔ wéi líng",深恶痛疾:"shēn wù tòng jí",深仇宿怨:"shēn chóu xiǔ yuàn",舍己为公:"shě jǐ wèi gōng",舍短取长:"shě duǎn qǔ cháng",舍策追羊:"shě cè zhuī yáng",蛇蝎为心:"shé xiē wéi xīn",少成若性:"shào chéng ruò xìng",上当学乖:"shàng dàng xué guāi",赏不当功:"shǎng bù dāng gōng",善自为谋:"shàn zì wéi móu",善为说辞:"shàn wéi shuō cí",善善恶恶:"shàn shàn wù è",善财难舍:"shàn cái nán shě",苫眼铺眉:"shān yǎn pū méi",讪牙闲嗑:"shàn yá xián kē",山阴乘兴:"shān yīn chéng xīng",山殽野湋:"shān yáo yě wéi",山溜穿石:"shān liù chuān shí",山节藻棁:"shān jié zǎo zhuō",杀鸡为黍:"shā jī wéi shǔ",色厉胆薄:"sè lì dǎn bó",桑荫未移:"sāng yīn wèi yí",桑荫不徙:"sāng yīn bù xǐ",桑土绸缪:"sāng tǔ chóu miù",桑户棬枢:"sāng hù juàn shū",三战三北:"sān zhàn sān běi",三瓦两舍:"sān wǎ liǎng shě",三人为众:"sān rén wèi zhòng",三差两错:"sān chā liǎng cuò",塞井焚舍:"sāi jǐng fén shě",洒心更始:"sǎ xīn gèng shǐ",洒扫应对:"sǎ sǎo yìng duì",软红香土:"ruǎn hóng xiāng tǔ",入吾彀中:"rù wú gòu zhōng",入铁主簿:"rù tiě zhǔ bù",入理切情:"rù lǐ qiē qíng",汝成人耶:"rǔ chéng rén yé",如水投石:"rú shuǐ tóu shí",如切如磋:"rú qiē rú cuō",如登春台:"rú dēng chūn tái",肉薄骨并:"ròu bó gǔ bìng",柔情绰态:"róu qíng chuò tài",戎马劻勷:"róng mǎ kuāng ráng",日中为市:"rì zhōng wéi shì",日月参辰:"rì yuè shēn chén",日省月修:"rì xǐng yuè xiū",日削月割:"rì xuē yuè gē",日省月试:"rì xǐng yuè shì",任达不拘:"rèn dá bù jū",人言藉藉:"rén yán jí jí",人模狗样:"rén mú gǒu yàng",人莫予毒:"rén mò yú dú",热熬翻饼:"rè áo fān bǐng",圈牢养物:"juàn láo yǎng wù",取予有节:"qǔ yǔ yǒu jié",诎要桡腘:"qū yāo ráo guó",穷形尽相:"qióng xíng jìn xiàng",情凄意切:"qíng qī yì qiè",情见势屈:"qíng xiàn shì qū",情见乎辞:"qíng xiàn hū cí",清都绛阙:"qīng dōu jiàng què",倾肠倒肚:"qīng cháng dào dǔ",青紫被体:"qīng zǐ pī tǐ",青林黑塞:"qīng lín hēi sài",螓首蛾眉:"qín shǒu é méi",琴瑟之好:"qín sè zhī hào",且住为佳:"qiě zhù wéi jiā",切树倒根:"qiē shù dǎo gēn",切理餍心:"qiē lǐ yàn xīn",切近的当:"qiē jìn de dāng",翘足引领:"qiáo zú yǐn lǐng",巧发奇中:"qiǎo fā qí zhòng",强嘴拗舌:"jiàng zuǐ niù shé",强直自遂:"qiáng zhí zì suí",强死强活:"qiǎng sǐ qiǎng huó",强食自爱:"qiǎng shí zì ài",强食靡角:"qiǎng shí mí jiǎo",强弓劲弩:"qiáng gōng jìng nǔ",强聒不舍:"qiǎng guō bù shě",强凫变鹤:"qiáng fú biàn hè",强而后可:"qiǎng ér hòu kě",强得易贫:"qiǎng dé yì pín",遣兴陶情:"qiǎn xìng táo qíng",牵羊担酒:"qiān yáng dān jiǔ",千了百当:"qiān liǎo bǎi dàng",泣下如雨:"qì xià rú yǔ",起偃为竖:"qǐ yǎn wéi shù",岂弟君子:"kǎi tì jūn zǐ",綦溪利跂:"qí xī lì qí",棋输先著:"qí shū xiān zhuó",齐王舍牛:"qí wáng shě niú",欺天诳地:"qī tiān kuáng dì",普天率土:"pǔ tiān shuài tǔ",铺胸纳地:"pū xiōng nà dì",铺锦列绣:"pū jǐn liè xiù",破家为国:"pò jiā wèi guó",破觚为圜:"pò gū wéi yuán",萍飘蓬转:"píng piāo péng zhuàn",帡天极地:"píng tiān jí dì",屏声息气:"bǐng shēng xī qì",凭几据杖:"píng jī jù zhàng",贫嘴薄舌:"pín zuǐ bó shé",片语只辞:"piàn yǔ zhī cí",披发文身:"pī fà wén shēn",烹龙炮凤:"pēng lóng páo fèng",炰鳖脍鲤:"fǒu biē kuài lǐ",庞眉皓发:"páng méi hào fà",攀花折柳:"pān huā zhé liǔ",攀蟾折桂:"pān chán shé guì",女大难留:"nǚ dà nán liú",弄玉吹箫:"nòng yù chuī xiāo",弄管调弦:"nòng guǎn tiáo xián",弄粉调朱:"nòng fěn diào zhū",浓抹淡妆:"nóng mò dàn zhuāng",捻土为香:"niǎn tǔ wéi xiāng",年谊世好:"nián yì shì hǎo",年华垂暮:"nián huá chuí mù",儗不于伦:"nǐ bù yú lún",泥而不滓:"ní ér bù zǐ",能者为师:"néng zhě wéi shī",能不称官:"néng bú chèn guān",挠直为曲:"náo zhí wéi qū",难进易退:"nán jìn yì tuì",难得糊涂:"nán dé hú tú",南蛮鴂舌:"nán mán jué shé",南贩北贾:"nán fàn běi gǔ",牧猪奴戏:"mù zhū nú xì",目眢心忳:"mù yuān xīn tún",目挑心招:"mù tiǎo xīn zhāo",目量意营:"mù liàng yì yíng",木头木脑:"mù tóu mù nǎo",木干鸟栖:"mù gàn niǎo qī",侔色揣称:"móu sè chuǎi chèn",莫予毒也:"mò yú dú yě",抹粉施脂:"mò fěn shī zhī",磨砻镌切:"mó lóng juān qiē",磨棱刓角:"mó léng wán jiǎo",摸门不着:"mō mén bù zháo",摸不着边:"mō bù zhuó biān",命中注定:"mìng zhōng zhù dìng",鸣鹤之应:"míng hè zhī yìng",明效大验:"míng xiào dà yàn",名我固当:"míng wǒ gù dāng",邈处欿视:"miǎo chǔ kǎn shì",黾穴鸲巢:"měng xué qú cháo",绵里薄材:"mián lǐ bó cái",靡有孑遗:"mǐ yǒu jié yí",靡衣偷食:"mǐ yī tōu shí",迷恋骸骨:"mí liàn hái gǔ",扪参历井:"mén shēn lì jǐng",门单户薄:"mén dān hù bó",昧旦晨兴:"mèi dàn chén xīng",冒名接脚:"mào míng jiē jiǎo",毛遂堕井:"máo suí duò jǐng",毛发倒竖:"máo fā dǎo shù",卖文为生:"mài wén wéi shēng",卖李钻核:"mài lǐ zuān hé",买椟还珠:"mǎi dú huán zhū",埋三怨四:"mán sān yuàn sì",马入华山:"mǎ rù huá shān",落魄江湖:"luò pò jiāng hú",落落难合:"luò luò nán hé",落草为寇:"luò cǎo wéi kòu",罗织构陷:"luó zhī gòu xiàn",鸾凤和鸣:"luán fèng hè míng",率由旧章:"shuài yóu jiù zhāng",率土同庆:"shuài tǔ tóng qìng",率兽食人:"shuài shòu shí rén",率土归心:"shuài tǔ guī xīn",率马以骥:"shuài mǎ yǐ jì",率尔成章:"shuài ěr chéng zhāng",鲁斤燕削:"lǔ jīn yàn xuē",漏尽更阑:"lòu jìn gēng lán",笼鸟槛猿:"lóng niǎo jiàn yuán",笼鸟池鱼:"lóng niǎo chí yú",龙游曲沼:"lóng yóu qū zhǎo",龙血玄黄:"lóng xuè xuán huáng",龙雕凤咀:"lóng diāo fèng jǔ",六尺之讬:"liù chǐ zhī tuō",令原之戚:"líng yuán zhī qī",令人捧腹:"lìng rén pěng fù",陵劲淬砺:"líng jìng cuì lì",临敌易将:"lín dí yì jiàng",裂裳衣疮:"liè shang yī chuāng",裂冠毁冕:"liè guàn huǐ miǎn",了无惧色:"liǎo wú jù sè",了身达命:"liǎo shēn dá mìng",了然无闻:"liǎo rán wú wén",了不可见:"liǎo bù kě jiàn",了不长进:"liǎo bù zhǎng jìn",燎发摧枯:"liǎo fà cuī kū",审时度势:"shěn shí duó shì",量小力微:"liàng xiǎo lì wēi",相时度力:"xiāng shí duó lì",量枘制凿:"liàng ruì zhì záo",量如江海:"liàng rú jiāng hǎi",量金买赋:"liàng jīn mǎi fù",量己审分:"liàng jǐ shěn fēn",敛骨吹魂:"liǎn gǔ chuī hún",詈夷为跖:"lì yí wéi zhí",利令志惛:"lì lìng zhì hūn",李广不侯:"lǐ guǎng bú hòu",礼为情貌:"lǐ wéi qíng mào",礼让为国:"lǐ ràng wéi guó",犁生骍角:"lí shēng xīng jiǎo",离本徼末:"lí běn jiǎo mò",楞眉横眼:"léng méi hèng yǎn",擂天倒地:"léi tiān dǎo dì",累足成步:"lěi zú chéng bù",累瓦结绳:"lěi wǎ jié shéng",累土至山:"lěi tǔ zhì shān",累土聚沙:"lěi tǔ jù shā",累卵之危:"lěi luǎn zhī wēi",累累如珠:"lěi lěi rú zhū",累块积苏:"lěi kuài jī sū",乐山乐水:"lè shān lè shuǐ",潦原浸天:"lǎo yuán jìn tiān",老师宿儒:"lǎo shī xiǔ rú",牢什古子:"láo shí gǔ zi",琅嬛福地:"láng huán fú dì",揆情度理:"kuí qíng duó lǐ",旷日累时:"kuàng rì lěi shí",匡救弥缝:"kuāng jiù mí fèng",枯树生华:"kū shù shēng huā",口轻舌薄:"kǒu qīng shé bó",口角生风:"kǒu jiǎo shēng fēng",口角春风:"kǒu jiǎo chūn fēng",口角风情:"kǒu jiǎo fēng qíng",口干舌焦:"kǒu gān shé jiāo",口腹之累:"kǒu fù zhī lěi",空腹便便:"kōng fù pián pián",嗑牙料嘴:"kē yá liào zuǐ",刻木为鹄:"kè mù wéi hú",咳珠唾玉:"ké zhū tuò yù",咳唾成珠:"ké tuò chéng zhū",抗颜为师:"kàng yán wéi shī",开华结果:"kāi huā jié guǒ",峻阪盐车:"jùn bǎn yán chē",嚼铁咀金:"jiáo tiě jǔ jīn",嚼墨喷纸:"jué mò pēn zhǐ",倔头强脑:"juè tóu jiàng nǎo",倔头倔脑:"juè tóu juè nǎo",倦鸟知还:"juàn niǎo zhī huán",卷席而葬:"juǎn xí ér zàng",卷甲倍道:"juǎn jiǎ bèi dào",聚米为山:"jù mǐ wéi shān",举手相庆:"jǔ shǒu xiāng qìng",举世混浊:"jǔ shì hún zhuó",鞠为茂草:"jū wéi mào cǎo",拘神遣将:"jū shén qiǎn jiàng",居下讪上:"jū xià shàn shàng",久要不忘:"jiǔ yāo bú wàng",九转功成:"jiǔ zhuǎn gōng chéng",九蒸三熯:"jiǔ zhēng sān hàn",敬业乐群:"jìng yè lè qún",井底虾蟆:"jǐng dǐ xiā má",旌旗卷舒:"jīng qí juǎn shū",荆棘载途:"jīng jí zài tú",禁舍开塞:"jìn shě kāi sāi",祲威盛容:"jìn wēi shèng róng",进退消长:"jìn tuì xiāo cháng",进退应矩:"jìn tuì yīng jǔ",进退触籓:"jìn tuì chù fān",进退跋疐:"jìn tuì bá zhì",尽多尽少:"jǐn duō jǐn shǎo",锦囊还矢:"jǐn náng huán shǐ",矜己自饰:"jīn jǐ zì shì",矜功负气:"jīn gōng fù qì",津关险塞:"jīn guān xiǎn sài",金吾不禁:"jīn wú bú jìn",金翅擘海:"jīn chì bāi hǎi",解衣衣人:"jiě yī yī rén",解人难得:"jiě rén nán dé",解铃系铃:"jiě líng xì líng",解发佯狂:"jiě fà yáng kuáng",诘屈磝碻:"jié qū áo qiāo",教猱升木:"jiāo náo shēng mù",较瘦量肥:"jiào shòu liàng féi",角立杰出:"jiǎo lì jié chū",焦沙烂石:"jiāo shā làn shí",骄儿騃女:"jiāo ér sì nǚ",浇风薄俗:"jiāo fēng bó sú",降妖捉怪:"xiáng yāo zhuō guài",将取固予:"jiāng qǔ gù yǔ",将门有将:"jiàng mén yǒu jiàng",将夺固与:"jiāng duó gù yǔ",槛花笼鹤:"jiàn huā lóng hè",鉴影度形:"jiàn yǐng duó xíng",渐不可长:"jiàn bù kě zhǎng",见素抱朴:"xiàn sù bào pǔ",见弃于人:"jiàn qì yú rén",简丝数米:"jiǎn sī shǔ mǐ",俭不中礼:"jiǎn bú zhòng lǐ",间见层出:"jiàn xiàn céng chū",尖嘴薄舌:"jiān zuǐ bó shé",甲冠天下:"jiǎ guàn tiān xià",葭莩之亲:"jiā fú zhī qīn",家累千金:"jiā lèi qiān jīn",家给人足:"jiā jǐ rén zú",家道从容:"jiā dào cóng róng",夹袋人物:"jiā dài rén wù",霁风朗月:"jì fēng lǎng yuè",寄兴寓情:"jì xìng yù qíng",计深虑远:"jì shēn lǜ yuǎn",计功量罪:"jì gōng liàng zuì",掎裳连襼:"jǐ shang lián yì",虮虱相吊:"jǐ shī xiāng diào",疾不可为:"jí bù kě wéi",极深研几:"jí shēn yán jī",及宾有鱼:"jí bīn yǒu yú",激薄停浇:"jī bó tíng jiāo",积素累旧:"jī sù lěi jiù",积时累日:"jī shí lěi rì",积露为波:"jī lù wéi bō",积德累功:"jī dé lěi gōng",积谗糜骨:"jī chán méi gǔ",击排冒没:"jī pái mào mò",祸为福先:"huò wéi fú xiān",祸福相依:"huò fú xiāng yī",获隽公车:"huò jùn gōng chē",混应滥应:"hùn yīng làn yīng",毁舟为杕:"huǐ zhōu wéi duò",毁钟为铎:"huǐ zhōng wéi duó",毁冠裂裳:"huǐ guān liè cháng",晦盲否塞:"huì máng pǐ sè",回船转舵:"huí chuán zhuàn duò",潢池盗弄:"huáng chí dào nòng",黄冠草履:"huáng guàn cǎo lǚ",黄发儿齿:"huáng fà ér chǐ",黄发垂髫:"huáng fà chuí tiáo",还珠返璧:"huán zhū fǎn bì",还年驻色:"huán nián zhù sè",还年却老:"huán nián què lǎo",坏裳为裤:"huài shang wéi kù",画荻和丸:"huà dí huò wán",化枭为鸠:"huà xiāo wéi jiū",化腐为奇:"huà fǔ wéi qí",化鸱为凤:"huà chī wéi fèng",花不棱登:"huā bu lēng dēng",户限为穿:"hù xiàn wéi chuān",呼卢喝雉:"hū lú hè zhì",呼来喝去:"hū lái hè qù",呼不给吸:"hū bù jǐ xī",厚味腊毒:"hòu wèi xī dú",厚德载物:"hòu dé zài wù",鸿渐于干:"hóng jiàn yú gàn",洪炉燎发:"hóng lú liáo fà",红绳系足:"hóng shéng jì zú",红不棱登:"hóng bu lēng dēng",横抢硬夺:"hèng qiǎng yìng duó",横恩滥赏:"hèng ēn làn shǎng",恨海难填:"hèn hǎi nán tián",鹤发鸡皮:"hè fà jī pí",涸思干虑:"hé sī gān lǜ",河涸海干:"hé hé hǎi gān",和颜说色:"hé yán yuè sè",合从连衡:"hé zòng lián héng",浩浩汤汤:"hào hào shāng shāng",好勇斗狠:"hào yǒng dòu hěn",好问则裕:"hào wèn zé yù",好为事端:"hào wéi shì duān",好问决疑:"hào wèn jué yí",好生之德:"hào shēng zhī dé",好奇尚异:"hǎo qí shàng yì",好恶不同:"hǎo è bù tóng",好丹非素:"hào dān fēi sù",豪干暴取:"háo gàn bào qǔ",毫发不爽:"háo fà bù shuǎng",寒酸落魄:"hán suān luò pò",含英咀华:"hán yīng jǔ huá",含糊不明:"hán hú bù míng",过为已甚:"guò wéi yǐ shèn",桂折兰摧:"guì shé lán cuī",规旋矩折:"guī xuán jǔ shé",广文先生:"guǎng wén xiān sheng",广陵散绝:"guǎng líng sǎn jué",冠山戴粒:"guàn shān dài lì",冠屦倒施:"guàn jù dǎo shī",挂席为门:"guà xí wéi mén",寡见鲜闻:"guǎ jiàn xiǎn wén",瓜葛相连:"guā gé xiāng lián",鼓吻奋爪:"gǔ wěn fèn zhǎo",古调单弹:"gǔ diào dān tán",古调不弹:"gǔ diào bù tán",姑射神人:"gū yè shén rén",苟合取容:"gǒu hé qǔ róng",狗续侯冠:"gǒu xù hòu guàn",钩爪锯牙:"gōu zhǎo jù yá",共枝别干:"gòng zhī bié gàn",共为唇齿:"gòng wéi chún chǐ",拱手而降:"gǒng shǒu ér xiáng",拱肩缩背:"gǒng jiān suō bèi",功薄蝉翼:"gōng bó chán yì",弓调马服:"gōng diào mǎ fú",更姓改物:"gēng xìng gǎi wù",更仆难数:"gēng pú nán shǔ",更令明号:"gēng lìng míng hào",更待干罢:"gèng dài gàn bà",更唱迭和:"gēng chàng dié hé",更长梦短:"gēng cháng mèng duǎn",各色名样:"gè sè míng yàng",格格不纳:"gé gé bú nà",格格不吐:"gé gé bù tǔ",告朔饩羊:"gù shuò xì yáng",膏车秣马:"gào chē mò mǎ",高义薄云:"gāo yì bó yún",岗头泽底:"gāng tóu zé dǐ",敢为敢做:"gǎn wéi gǎn zuò",甘分随时:"gān fèn suí shí",甘处下流:"gān chǔ xià liú",干啼湿哭:"gàn tí shī kū",干名犯义:"gàn míng fàn yì",干将莫邪:"gān jiāng mò yé",干城之将:"gān chéng zhī jiàng",腹载五车:"fù zài wǔ chē",父债子还:"fù zhài zǐ huán",父为子隐:"fù wéi zǐ yǐn",辅世长民:"fǔ shì zhǎng mín",福为祸始:"fú wéi huò shǐ",符号逻辑:"fú hào luó jí",浮收勒折:"fú shōu lè shé",肤受之愬:"fū shòu zhī sù",否终则泰:"pǐ zhōng zé tài",佛头著粪:"fó tóu zhuó fèn",奉为楷模:"fèng wéi kǎi mó",凤靡鸾吪:"fèng mǐ luán é",封豨修蛇:"fēng xī xiū shé",风影敷衍:"fēng yǐng fū yǎn",丰屋蔀家:"fēng wū bù jiā",粪土不如:"fèn tǔ bù rú",分风劈流:"fēn fēng pǐ liú",沸沸汤汤:"fèi fèi shāng shāng",菲食薄衣:"fěi shí bó yī",飞将数奇:"fēi jiàng shù qí",放辟邪侈:"fàng pì xié chǐ",方领圆冠:"fāng lǐng yuán guàn",犯而不校:"fàn ér bú jiào",返本还源:"fǎn běn huán yuán",反劳为逸:"fǎn láo wéi yì",法轮常转:"fǎ lún cháng zhuàn",罚不当罪:"fá bù dāng zuì",发引千钧:"fà yǐn qiān jūn",发奸擿伏:"fā jiān tī fú",发短心长:"fà duǎn xīn cháng",二竖为虐:"èr shù wéi nüè",儿女心肠:"ér nǚ xīn cháng",儿女亲家:"ér nǚ qìng jiā",遏恶扬善:"è wù yáng shàn",饿殍枕藉:"è piǎo zhěn jí",饿殍载道:"è piǎo zài dào",恶醉强酒:"wù zuì qiǎng jiǔ",恶意中伤:"è yì zhòng shāng",恶湿居下:"wù shī jū xià",恶居下流:"wù jū xià liú",恶不去善:"wù bú qù shàn",扼吭夺食:"è háng duó shí",扼襟控咽:"è jīn kòng yān",峨峨汤汤:"é é shāng shāng",屙金溺银:"ē jīn niào yín",朵颐大嚼:"duǒ yí dà jiáo",夺人所好:"duó rén suǒ hào",多言数穷:"duō yán shuò qióng",多文为富:"duō wén wéi fù",多端寡要:"duō duān guǎ yào",多财善贾:"duō cái shàn gǔ",遁世无闷:"dùn shì wú mèn",遁迹黄冠:"dùn jì huáng guàn",堆案盈几:"duī àn yíng jī",断还归宗:"duàn huán guī zōng",短见薄识:"duǎn jiàn bó shí",蠹居棊处:"dù jū qí chǔ",度己以绳:"duó jǐ yǐ shéng",杜默为诗:"dù mò wéi shī",杜鹃啼血:"dù juān tí xuè",笃近举远:"dǔ jìn jǔ yuǎn",独有千秋:"dú yǒu qiān qiū",读书得间:"dú shū dé jiàn",斗转参横:"dǒu zhuǎn shēn héng",兜肚连肠:"dōu dǔ lián cháng",洞见症结:"dòng jiàn zhèng jié",恫疑虚喝:"dòng yí xū hè",动中窾要:"dòng zhōng kuǎn yào",东鸣西应:"dōng míng xī yīng",东鳞西爪:"dōng lín xī zhǎo",东量西折:"dōng liàng xī shé",东家西舍:"dōng jiā xī shè",东扯西拽:"dōng chě xī zhuāi",鼎铛有耳:"dǐng chēng yǒu ěr",鼎铛玉石:"dǐng chēng yù shí",钉头磷磷:"dīng tóu lín lín",跌宕不羁:"diē dàng bù jī",跌弹斑鸠:"diē dàn bān jiū",雕心雁爪:"diāo xīn yàn zhǎo",颠倒衣裳:"diān dǎo yī cháng",德薄能鲜:"dé bó néng xiǎn",得马折足:"dé mǎ shé zú",蹈其覆辙:"dǎo qí fù zhé",捣虚撇抗:"dǎo xū piē kàng",倒载干戈:"dào zài gān gē",倒裳索领:"dào cháng suǒ lǐng",倒果为因:"dào guǒ wéi yīn",叨在知己:"tāo zài zhī jǐ",叨陪末座:"tāo péi mò zuò",党豺为虐:"dǎng chái wéi nüè",当轴处中:"dāng zhóu chǔ zhōng",当着不着:"dāng zhuó bù zhuó",当务始终:"dāng wù shǐ zhōng",淡汝浓抹:"dàn rǔ nóng mǒ",弹丸脱手:"tán wán tuō shǒu",弹铗无鱼:"dàn jiá wú yú",箪食瓢饮:"dān sì piáo yǐn",大璞不完:"dà pú bù wán",大明法度:"dà míng fǎ dù",大车以载:"dà chē yǐ zài",打闷葫芦:"dǎ mèn hú lu",沓来踵至:"tà lái zhǒng zhì",厝火燎原:"cuò huǒ liǎo yuán",撮科打哄:"cuō kē dǎ hòng",寸积铢累:"cùn jī zhū lěi",啛啛喳喳:"cuì cuì chā chā",摧折豪强:"cuī zhé háo qiáng",摧刚为柔:"cuī gāng wéi róu",从俗就简:"cóng sú jiù jiǎn",此发彼应:"cǐ fā bǐ yīng",此唱彼和:"cǐ chàng bǐ hè",慈悲为本:"cí bēi wéi běn",纯属骗局:"chún shǔ piàn jú",春笋怒发:"chūn sǔn nù fā",垂头搨翼:"chuí tóu tà yì",传为笑谈:"chuán wéi xiào tán",传风扇火:"chuán fēng shān huǒ",穿红着绿:"chuān hóng zhuó lǜ",触处机来:"chù chǔ jī lái",处尊居显:"chǔ zūn jū xiǎn",处堂燕雀:"chǔ táng yàn què",处实效功:"chǔ shí xiào gōng",处高临深:"chǔ gāo lín shēn",出入无间:"chū rù wú jiān",出门应辙:"chū mén yīng zhé",出处语默:"chū chǔ yǔ mò",出处殊途:"chū chǔ shū tú",出处进退:"chū chǔ jìn tuì",愁山闷海:"chóu shān mèn hǎi",冲冠眦裂:"chōng guàn zì liè",齿牙为祸:"chǐ yá wéi huò",尺二冤家:"chǐ èr yuān jia",尺短寸长:"chǐ duǎn cùn cháng",尺寸之功:"chǐ cùn zhī gōng",城北徐公:"chéng běi xú gōng",成败兴废:"chéng bài xīng fèi",趁水和泥:"chèn shuǐ huò ní",称雨道晴:"chēng yǔ dào qíng",称体载衣:"chēng tǐ zài yī",称体裁衣:"chèn tǐ cái yī",称家有无:"chèn jiā yǒu wú",称德度功:"chēng dé duó gōng",沉吟章句:"chén yín zhāng jù",沉吟不决:"chén yín bù jué",沉疴宿疾:"chén kē sù jí",扯纤拉烟:"chě qiàn lā yān",扯顺风旗:"chě shùn fēng qí",车载船装:"chē zǎi chuán zhuāng",朝升暮合:"zhāo shēng mù gě",朝攀暮折:"zhāo pān mù shé",超今冠古:"chāo jīn guàn gǔ",倡而不和:"chàng ér bú hè",畅所欲为:"chàng suǒ yù wéi",苌弘碧血:"cháng hóng bì xiě",长幼尊卑:"zhǎng yòu zūn bēi",长绳系日:"cháng shéng jì rì",长年三老:"zhǎng nián sān lǎo",长春不老:"cháng chūn bù lǎo",长傲饰非:"zhǎng ào shì fēi",昌亭旅食:"chāng tíng lǚ shí",禅絮沾泥:"chán xù zhān ní",差三错四:"chā sān cuò sì",层台累榭:"céng tái lěi xiè",层见迭出:"céng xiàn dié chū",藏踪蹑迹:"cáng zōng niè jì",苍蝇见血:"cāng yíng jiàn xiě",餐松啖柏:"cān sōng dàn bó",骖风驷霞:"cān fēng sì xiá",参伍错综:"cēn wǔ cuò zōng",参辰卯酉:"shēn chén mǎo yǒu",材优干济:"cái yōu gān jǐ",材薄质衰:"cái bó zhì shuāi",才大难用:"cái dà nán yòng",才薄智浅:"cái bó zhì qiǎn",不足为意:"bù zú wéi yì",不足为据:"bù zú wéi jù",不足为法:"bù zú wéi fǎ",不足齿数:"bù zú chǐ shǔ",不着疼热:"bù zhuó téng rè",不知薡蕫:"bù zhī dǐng dǒng",不越雷池:"bú yuè léi chí",不相为谋:"bù xiāng wéi móu",不贪为宝:"bù tān wéi bǎo",不了而了:"bù liǎo ér liǎo",不可揆度:"bù kě kuí duó",不遑启处:"bù huáng qǐ chǔ",不当不正:"bù dāng bú zhèng",不差什么:"bú chà shén me",不差累黍:"bù chā lěi shǔ",擘两分星:"bò liǎng fēn xīng",簸土扬沙:"bǒ tǔ yáng shā",薄物细故:"bó wù xì gù",薄寒中人:"bó hán zhòng rén",博文约礼:"bó wén yuē lǐ",播糠眯目:"bō kāng mí mù",剥皮抽筋:"bō pí chōu jīn",剥肤椎髓:"bō fū chuí suǐ",波属云委:"bō zhǔ yún wěi",波骇云属:"bō hài yún zhǔ",兵微将寡:"bīng wēi jiàng guǎ",兵强将勇:"bīng qiáng jiàng yǒng",兵多将广:"bīng duō jiàng guǎng",兵不由将:"bīng bù yóu jiàng",冰解的破:"bīng jiě dì pò",彬彬济济:"bīn bīn jǐ jǐ",摽梅之年:"biào méi zhī nián",表里为奸:"biǎo lǐ wéi jiān",飙发电举:"biāo fā diàn jǔ",变贪厉薄:"biàn tān lì bó",敝盖不弃:"bì gài bú qì",秕言谬说:"bǐ yán miù shuō",比物属事:"bǐ wù zhǔ shì",被山带河:"pī shān dài hé",被甲枕戈:"pī jiǎ zhěn gē",被甲据鞍:"pī jiǎ jù ān",被褐怀玉:"pī hè huái yù",被发缨冠:"pī fà yīng guàn",背曲腰躬:"bèi qǔ yāo gōng",北窗高卧:"běi chuāng gāo wò",北辰星拱:"běi chén xīng gǒng",北鄙之音:"běi bǐ zhī yīn",卑宫菲食:"bēi gōng fěi shí",暴衣露冠:"pù yī lù guàn",暴腮龙门:"pù sāi lóng mén",暴露文学:"bào lù wén xué",暴虎冯河:"bào hǔ píng hé",抱蔓摘瓜:"bào wàn zhāi guā",抱法处势:"bào fǎ chǔ shì",褒贬与夺:"bāo biǎn yǔ duó",帮闲钻懒:"bāng xián zuān lǎn",拜将封侯:"bài jiàng fēng hóu",百兽率舞:"bǎi shòu shuài wǔ",百孔千创:"bǎi kǒng qiān chuāng",白衣卿相:"bái yī qīng xiàng",白首为郎:"bái shǒu wéi láng",白首相知:"bái shǒu xiāng zhī",把玩无厌:"bǎ wán wú yàn",拔锅卷席:"bá guō juǎn xí",拔本塞源:"bá běn sè yuán",傲不可长:"ào bù kě zhǎng",熬更守夜:"áo gēng shǒu yè",安时处顺:"ān shí chǔ shùn",安身为乐:"ān shēn wéi lè",安老怀少:"ān lǎo huái shào",安步当车:"ān bù dàng chē",爱人好士:"ài rén hào shì",矮人观场:"ǎi rén guān chǎng",捱风缉缝:"ái fēng jī fèng",挨山塞海:"āi shān sè hǎi",阿家阿翁:"ā jiā ā wēng",阿党相为:"ē dǎng xiāng wéi",追亡逐北:"zhuī wáng zhú běi",竹篮打水:"zhú lán dá shuǐ",知疼着热:"zhī téng zháo rè",语不惊人:"yǔ bù jīng rén",于今为烈:"yú jīn wéi liè",一日三省:"yí rì sān xǐng",穴居野处:"xué jū yě chǔ",五脊六兽:"wǔ jǐ liù shòu",无声无臭:"wú shēng wú xiù",谓予不信:"wèi yú bú xìn",舍身为国:"shě shēn wéi guó",杀妻求将:"shā qī qiú jiàng",强作解人:"qiǎng zuò jiě rén",气冲斗牛:"qì chōng dǒu niú",临深履薄:"lín shēn lǚ bó",钧天广乐:"jūn tiān guǎng yuè",艰难竭蹶:"jiān nán jié jué",夹七夹八:"jiā qī jiā bā",混混噩噩:"hún hún è è",厚古薄今:"hòu gǔ bó jīn",鬼怕恶人:"guǐ pà è rén",伽马射线:"gā mǎ shè xiàn",佛头着粪:"fó tóu zhuó fèn",奉为至宝:"fèng wéi zhì bǎo",登坛拜将:"dēng tán bài jiàng",晨昏定省:"chén hūn dìng xǐng",察察为明:"chá chá wéi míng",博闻强识:"bó wén qiáng zhì",避难就易:"bì nán jiù yì",了无生机:"liǎo wú shēng jī",有一说一:"yǒu yī shuō yī",独一无二:"dú yī wú èr",说一不二:"shuō yī bù èr",举一反三:"jǔ yī fǎn sān",数一数二:"shǔ yī shǔ èr",杀一儆百:"shā yī jǐng bǎi",丁一卯二:"dīng yī mǎo èr",丁一确二:"dīng yī què èr",不一而止:"bù yī ér zhǐ",无一幸免:"wú yī xìng miǎn",表里不一:"biǎo lǐ bù yī",良莠不一:"liáng yǒu bù yī",心口不一:"xīn kǒu bù yī",言行不一:"yán xíng bù yī",政令不一:"zhèng lìng bù yī",参差不一:"cēn cī bù yī",纷纷不一:"fēn fēn bù yī",毁誉不一:"huǐ yù bù yī",不一而三:"bù yī ér sān",百不一遇:"bǎi bù yī yù",言行抱一:"yán xíng bào yī",瑜百瑕一:"yú bǎi xiá yī",背城借一:"bèi chéng jiè yī",凭城借一:"píng chéng jiè yī",劝百讽一:"quàn bǎi fěng yī",群居和一:"qún jū hé yī",百不获一:"bǎi bù huò yī",百不失一:"bǎi bù shī yī",百无失一:"bǎi wú shī yī",万不失一:"wàn bù shī yī",万无失一:"wàn wú shī yī",合而为一:"hé ér wéi yī",合两为一:"hé liǎng wéi yī",合二为一:"hé èr wéi yī",天下为一:"tiān xià wéi yī",相与为一:"xiāng yǔ wéi yī",较若画一:"jiào ruò huà yī",较如画一:"jiào rú huà yī",斠若画一:"jiào ruò huà yī",言行若一:"yán xíng ruò yī",始终若一:"shǐ zhōng ruò yī",终始若一:"zhōng shǐ ruò yī",惟精惟一:"wéi jīng wéi yī",众多非一:"zhòng duō fēi yī",不能赞一:"bù néng zàn yī",问一答十:"wèn yī dá shí",一不扭众:"yī bù niǔ zhòng",一以贯之:"yī yǐ guàn zhī",一以当百:"yī yǐ dāng bǎi",百不当一:"bǎi bù dāng yī",十不当一:"shí bù dāng yī",以一警百:"yǐ yī jǐng bǎi",以一奉百:"yǐ yī fèng bǎi",以一持万:"yǐ yī chí wàn",以一知万:"yǐ yī zhī wàn",百里挑一:"bǎi lǐ tiāo yī",整齐划一:"zhěng qí huà yī",一来二去:"yī lái èr qù",一路公交:"yī lù gōng jiāo",一路汽车:"yī lù qì chē",一路巴士:"yī lù bā shì",朝朝朝落:"zhāo cháo zhāo luò",曲意逢迎:"qū yì féng yíng",一行不行:"yì háng bù xíng",行行不行:"háng háng bù xíng"},Cg=Object.keys(En).map(n=>({zh:n,pinyin:En[n],probability:2e-8,length:4,priority:v.Normal,dict:Symbol("dict4")})),Vn={巴尔干半岛:"bā ěr gàn bàn dǎo",巴尔喀什湖:"bā ěr kā shí hú",不幸而言中:"bú xìng ér yán zhòng",布尔什维克:"bù ěr shí wéi kè",何乐而不为:"hé lè ér bù wéi",苛政猛于虎:"kē zhèng měng yú hǔ",蒙得维的亚:"méng dé wéi dì yà",民以食为天:"mín yǐ shí wéi tiān",事后诸葛亮:"shì hòu zhū gě liàng",物以稀为贵:"wù yǐ xī wéi guì",先下手为强:"xiān xià shǒu wéi qiáng",行行出状元:"háng háng chū zhuàng yuan",亚得里亚海:"yà dé lǐ yà hǎi",眼不见为净:"yǎn bú jiàn wéi jìng",竹筒倒豆子:"zhú tǒng dào dòu zi"},Dg=Object.keys(Vn).map(n=>({zh:n,pinyin:Vn[n],probability:2e-8,length:5,priority:v.Normal,dict:Symbol("dict5")}));function _n(n,i){return n&&(n.decimali.probability)?n:i}function In(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function Mg(n){return n.priority===v.Custom?-(n.length*n.length*100):n.priority===v.Surname?-(n.length*n.length*10):0}function Eg(n,i){const g=[];let u=n.length-1,h=n[u];for(let s=i-1;s>=0;s--){const o=s+1>=i?{probability:1,decimal:0,patterns:[]}:g[s+1];for(;h&&h.index+h.length-1===s;){const c=h.index,l={probability:h.probability*o.probability,decimal:o.decimal+Mg(h),patterns:o.patterns,concatPattern:h};In(l),g[c]=_n(g[c],l),h=n[--u]}const t={probability:1e-13*o.probability,decimal:0,patterns:o.patterns};In(t),g[s]=_n(g[s],t),g[s].concatPattern&&(g[s].patterns=g[s].patterns.concat(g[s].concatPattern),g[s].concatPattern=void 0,delete g[s+1])}return g[0].patterns.reverse()}function Nn(n,i){return n&&n.count<=i.count?n:i}function Vg(n){return n.priority===v.Custom?-(n.length*n.length*1e5):n.priority===v.Surname?-(n.length*n.length*100):1}function _g(n,i){const g=[];let u=n.length-1,h=n[u];for(let s=i-1;s>=0;s--){const o=s+1>=i?{count:0,patterns:[]}:g[s+1];for(;h&&h.index+h.length-1===s;){const c=h.index,l={count:Vg(h)+o.count,patterns:o.patterns,concatPattern:h};g[c]=Nn(g[c],l),h=n[--u]}const t={count:1+o.count,patterns:o.patterns};g[s]=Nn(g[s],t),g[s].concatPattern&&(g[s].patterns=g[s].patterns.concat(g[s].concatPattern),g[s].concatPattern=void 0,delete g[s+1])}return g[0].patterns.reverse()}function Ig(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function Ng(n){const i=[];for(let g=n.length-1;g>=0;){const{index:u}=n[g];let h=g-1;for(;h>=0&&Ig(n[g],n[h]);)h--;(h<0||n[h].index+n[h].length<=u)&&i.push(n[g]),g=h}return i.reverse()}var Zn;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})(Zn||(Zn={}));class Rn{constructor(i,g="",u=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=u}}class Zg{constructor(){this.dictMap=new Map,this.queues=[],this.root=new Rn(null)}build(i){this.buildTrie(i),this.buildFailPointer()}buildTrie(i){for(let g of i){const u=K(g.zh);let h=this.root;for(let s=0;s{i=i.concat(u)}),this.queues=[];i.length>g;){let u=i[g++],h=u.parent&&u.parent.fail,s=u.key;for(;h&&!h.children.has(s);)h=h.fail;h?u.fail=h.children.get(s):u.fail=this.root}}addPatternToDictMap(i){this.dictMap.has(i.dict)||this.dictMap.set(i.dict,new Set),this.dictMap.get(i.dict).add(i)}addNodeToQueues(i){this.queues[S(i.prefix)]||(this.queues[S(i.prefix)]=[]),this.queues[S(i.prefix)].push(i)}insertPattern(i,g){for(let u=i.length-1;u>=0;u--){const h=i[u];if(g.priority===h.priority&&g.probability>=h.probability)i[u+1]=h;else if(g.priority>h.priority)i[u+1]=h;else{i[u+1]=g;return}}i[0]=g}removeDict(i){this.dictMap.has(i)&&(this.dictMap.get(i).forEach(u=>{u.node.patterns=u.node.patterns.filter(h=>h!==u)}),this.dictMap.delete(i))}match(i,g){let u=this.root,h=[];const s=K(i);for(let o=0;og==="off"?e.priority!==v.Surname:g==="head"?e.length-1-o===0:!0);c&&h.push(Object.assign(Object.assign({},c),{index:o-c.length+1}));let l=u.fail;for(;l!==null;){const e=l.patterns.find(z=>g==="off"?z.priority!==v.Surname:g==="head"?z.length-1-o===0:!0);e&&h.push(Object.assign(Object.assign({},e),{index:o-e.length+1})),l=l.fail}}}return h}search(i,g,u=2){const h=this.match(i,g);return u===1?Ng(h):u===3?_g(h,S(i)):Eg(h,S(i))}}const Rg=[...Dg,...Cg,...Tg,...Sg,...fg,...Pg],Yn=new Zg;Yn.build(Rg);const Ag=new Wn,Bg=()=>Ag,W=n=>{const i=M.get(n);return i?i.split(" ")[0]:n},Lg=(n,i,g,u)=>{const h=Yn.search(n,g,u);let s=0;const o=K(n);for(let t=0;tn.replace(/(ā|á|ǎ|à)/g,"a").replace(/(ō|ó|ǒ|ò)/g,"o").replace(/(ē|é|ě|è)/g,"e").replace(/(ī|í|ǐ|ì)/g,"i").replace(/(ū|ú|ǔ|ù)/g,"u").replace(/(ǖ|ǘ|ǚ|ǜ)/g,"ü").replace(/(n̄|ń|ň|ǹ)/g,"n").replace(/(m̄|ḿ|m̌|m̀)/g,"m").replace(/(ê̄|ế|ê̌|ề)/g,"ê"),Un=(n,i="off")=>{const g=Bg();let u=M.get(n)?M.get(n).split(" "):[];if(g.get(n))u=g.get(n).split(" ");else if(i!=="off"){const h=en[n];h&&(u=[h].concat(u.filter(s=>s!==h)))}return u},Og=(n,i="off")=>{let g=Un(n,i);return g.length>0?g.map(u=>({origin:n,result:u,isZh:!0,originPinyin:u})):[{origin:n,result:n,isZh:!1,originPinyin:n}]},Q=(n,i)=>{const g=n.split(" "),u=[],h=[];for(let s of g)for(let o of rg)if(s.startsWith(o)){let t=s.slice(o.length);jg.indexOf(o)!==-1&&ag.indexOf(t)!==-1&&(t=bg[t]),u.push(o),h.push(t);break}return i==="standard"&&u.forEach((s,o)=>{(s==="y"||s==="w")&&(u[o]="")}),{final:h.join(" "),initial:u.join(" ")}},X=n=>{const{final:i}=Q(n);let g="",u="",h="";return xg.indexOf(G(i))!==-1?(g=i[0],u=i[1],h=i.slice(2)):(u=i[0]||"",h=i.slice(1)||""),{head:g,body:u,tail:h}},J=n=>{const i=/(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/,g=/(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/,u=/(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/,h=/(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/,s=/(a|o|e|i|u|ü|ê)/,o=/(n|m)$/,t=[];return n.split(" ").forEach(l=>{i.test(l)?t.push("1"):g.test(l)?t.push("2"):u.test(l)?t.push("3"):h.test(l)?t.push("4"):s.test(l)||o.test(l)?t.push("0"):t.push("")}),t.join(" ")},Hg=(n,i)=>{const g=G(n).split(" "),u=J(i).split(" "),h=[];return g.forEach((s,o)=>{h.push(`${s}${u[o]}`)}),h.join(" ")},Fn=(n,i)=>{const g=[];return n.split(" ").forEach(h=>{g.push(i?h[0]:h)}),g.join(" ")},Wg=n=>typeof n!="string"?(console.error("The first param of pinyin is error: "+n+' is not assignable to type "string".'),!1):!0;function on(n,i){return i instanceof RegExp?i.test(n):!0}const $g=(n,i)=>{let g=i.nonZh;if(g==="removed")return n.filter(u=>u.isZh||!on(u.origin,i.nonZhScope));if(g==="consecutive"){for(let u=n.length-2;u>=0;u--){const h=n[u],s=n[u+1];!h.isZh&&!s.isZh&&on(h.origin,i.nonZhScope)&&on(s.origin,i.nonZhScope)&&(h.origin+=s.origin,h.result+=s.result,s.delete=!0)}return n.filter(u=>!u.delete)}else return n},An=(n,i)=>S(n)===1&&i.multiple?Og(n,i.surname):!1,Yg=(n,i)=>{switch(i.pattern){case"pinyin":break;case"num":n.forEach(g=>{g.result=g.isZh?J(g.result):""});break;case"initial":n.forEach(g=>{g.result=g.isZh?Q(g.result,i.initialPattern).initial:""});break;case"final":n.forEach(g=>{g.result=g.isZh?Q(g.result,i.initialPattern).final:""});break;case"first":n.forEach(g=>{g.result=Fn(g.result,g.isZh)});break;case"finalHead":n.forEach(g=>{g.result=g.isZh?X(g.result).head:""});break;case"finalBody":n.forEach(g=>{g.result=g.isZh?X(g.result).body:""});break;case"finalTail":n.forEach(g=>{g.result=g.isZh?X(g.result).tail:""});break}},Ug=(n,i)=>{switch(i.toneType){case"symbol":break;case"none":n.forEach(g=>{g.isZh&&(g.result=G(g.result))});break;case"num":{n.forEach(g=>{g.isZh&&(g.result=Hg(g.result,g.originPinyin))});break}}},Fg=(n,i)=>{i.v&&n.forEach(g=>{g.isZh&&(g.result=g.result.replace(/ü/g,typeof i.v=="string"?i.v:"v"))})},Xg=(n,i,g)=>{if(i.multiple&&S(g)===1){let u="";n=n.filter(h=>{const s=h.result!==u;return u=h.result,s})}return i.type==="array"?n.map(u=>u.result):i.type==="all"?n.map(u=>{const h=u.isZh?u.result:"",{initial:s,final:o}=Q(h,i.initialPattern),{head:t,body:c,tail:l}=X(h);let e=[];return h!==""&&(e=[h].concat(Un(u.origin,i.surname).filter(z=>z!==h))),{origin:u.origin,pinyin:h,initial:s,final:o,first:Fn(u.result,u.isZh),finalHead:t,finalBody:c,finalTail:l,num:Number(J(u.originPinyin)),isZh:u.isZh,polyphonic:e,inZhRange:!!M.get(u.origin),result:u.result}}):n.map(u=>u.result).join(i.separator)},Kg=(n,i)=>(i===!1&&n.forEach(g=>{g.origin==="一"?g.result=g.originPinyin="yī":g.origin==="不"&&(g.result=g.originPinyin="bù")}),n),Qg={pattern:"pinyin",toneType:"symbol",type:"string",multiple:!1,mode:"normal",removeNonZh:!1,nonZh:"spaced",v:!1,separator:" ",toneSandhi:!0,segmentit:2};function uh(n,i){if(i=Object.assign(Object.assign({},Qg),i||{}),!Wg(n))return n;if(n==="")return i.type==="array"||i.type==="all"?[]:"";i.surname===void 0&&(i.mode==="surname"?i.surname="all":i.surname="off"),i.type==="all"&&(i.pattern="pinyin"),i.pattern==="num"&&(i.toneType="none"),i.removeNonZh&&(i.nonZh="removed");let u=Array(S(n)),{list:h}=Lg(n,u,i.surname,i.segmentit);return h=Kg(h,i.toneSandhi),h=$g(h,i),An(n,i)&&(h=An(n,i)),Yg(h,i),Ug(h,i),Fg(h,i),Xg(h,i,n)}var cn;(function(n){n[n.AllSegment=1]="AllSegment",n[n.AllArray=2]="AllArray",n[n.AllString=3]="AllString",n[n.PinyinSegment=4]="PinyinSegment",n[n.PinyinArray=5]="PinyinArray",n[n.PinyinString=6]="PinyinString",n[n.ZhSegment=7]="ZhSegment",n[n.ZhArray=8]="ZhArray",n[n.ZhString=9]="ZhString"})(cn||(cn={}));cn.AllSegment;export{hg as V,hh as _,gh as a,uh as p}; diff --git a/assets/index-thJlQnLx.js b/assets/index-thJlQnLx.js new file mode 100644 index 0000000..c77fb00 --- /dev/null +++ b/assets/index-thJlQnLx.js @@ -0,0 +1 @@ +import{ap as A,al as P,aC as Gn,aL as Bn,aq as H,bi as Ln,bj as Jn,bk as U,aU as ni,bl as ii,bm as gi,g as hi,p as ui,b3 as si,aY as oi,aZ as ti,a5 as bn,a_ as li,a1 as ei,a6 as ci,bn as zi,aj as yi,b as di,aA as ri,an as tn,bo as ji,ao as nn,at as ai,bp as bi,bq as xi,aB as mi,c as fi,i as _,d as x,a3 as wi,aQ as qi,E as xn,be as pi,b9 as ki,F as On,af as vi,m as Pi,ag as Si,br as Ti,b1 as Ci,bs as Di,bf as Mi,h as Ei,b2 as _i,_ as Hn,bt as Ii,bu as gn,j as R,B as I,o as T,w as b,t as C,O as Vi,A as ln,G as Zi,P as mn,X as fn,C as F,Y as Ni,v as wn,s as hn,k as D,aH as un,y as sn,l as Ri,q as Ai,z as Bi,aP as Li,W as Oi,x as Hi,H as Wi}from"./index-B01HL2YE.js";import{b as Yi,c as $i}from"./VAppBarTitle-CQLnBe80.js";import{V as Ui}from"./VChip-DGb8BoIB.js";import{V as Fi}from"./VTextField-DDMIr0_j.js";function Xi(n){let{rootEl:i,isSticky:g,layoutItemStyles:u}=n;const h=A(!1),s=A(0),o=P(()=>{const l=typeof h.value=="boolean"?"top":h.value;return[g.value?{top:"auto",bottom:"auto",height:void 0}:void 0,h.value?{[l]:Gn(s.value)}:{top:u.value.top}]});Bn(()=>{H(g,l=>{l?window.addEventListener("scroll",c,{passive:!0}):window.removeEventListener("scroll",c)},{immediate:!0})}),Ln(()=>{window.removeEventListener("scroll",c)});let t=0;function c(){const l=t>window.scrollY?"up":"down",e=i.value.getBoundingClientRect(),z=parseFloat(u.value.top??0),r=window.scrollY-Math.max(0,s.value-z),m=e.height+Math.max(s.value,z)-window.scrollY-window.innerHeight,q=parseFloat(getComputedStyle(i.value).getPropertyValue("--v-body-scroll-y"))||0;e.height0;g--){if(n[g].t===n[g-1].t)continue;const u=qn(i),h=(n[g].d-n[g-1].d)/(n[g].t-n[g-1].t);i+=(h-u)*Math.abs(h),g===n.length-1&&(i*=.5)}return qn(i)*1e3}function Gi(){const n={};function i(h){Array.from(h.changedTouches).forEach(s=>{(n[s.identifier]??(n[s.identifier]=new Jn(Qi))).push([h.timeStamp,s])})}function g(h){Array.from(h.changedTouches).forEach(s=>{delete n[s.identifier]})}function u(h){var l;const s=(l=n[h])==null?void 0:l.values().reverse();if(!s)throw new Error(`No samples for touch id ${h}`);const o=s[0],t=[],c=[];for(const e of s){if(o[0]-e[0]>Ki)break;t.push({t:e[0],d:e[1].clientX}),c.push({t:e[0],d:e[1].clientY})}return{x:pn(t),y:pn(c),get direction(){const{x:e,y:z}=this,[r,m]=[Math.abs(e),Math.abs(z)];return r>m&&e>=0?"right":r>m&&e<=0?"left":m>r&&z>=0?"down":m>r&&z<=0?"up":Ji()}}}return{addMovement:i,endTouch:g,getVelocity:u}}function Ji(){throw new Error}function ng(n){let{el:i,isActive:g,isTemporary:u,width:h,touchless:s,position:o}=n;Bn(()=>{window.addEventListener("touchstart",V,{passive:!0}),window.addEventListener("touchmove",E,{passive:!1}),window.addEventListener("touchend",Y,{passive:!0})}),Ln(()=>{window.removeEventListener("touchstart",V),window.removeEventListener("touchmove",E),window.removeEventListener("touchend",Y)});const t=P(()=>["left","right"].includes(o.value)),{addMovement:c,endTouch:l,getVelocity:e}=Gi();let z=!1;const r=A(!1),m=A(0),q=A(0);let k;function B(y,d){return(o.value==="left"?y:o.value==="right"?document.documentElement.clientWidth-y:o.value==="top"?y:o.value==="bottom"?document.documentElement.clientHeight-y:N())-(d?h.value:0)}function L(y){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const j=o.value==="left"?(y-q.value)/h.value:o.value==="right"?(document.documentElement.clientWidth-y-q.value)/h.value:o.value==="top"?(y-q.value)/h.value:o.value==="bottom"?(document.documentElement.clientHeight-y-q.value)/h.value:N();return d?gi(j):j}function V(y){if(s.value)return;const d=y.changedTouches[0].clientX,j=y.changedTouches[0].clientY,a=25,f=o.value==="left"?ddocument.documentElement.clientWidth-a:o.value==="top"?jdocument.documentElement.clientHeight-a:N(),w=g.value&&(o.value==="left"?ddocument.documentElement.clientWidth-h.value:o.value==="top"?jdocument.documentElement.clientHeight-h.value:N());(f||w||g.value&&u.value)&&(k=[d,j],q.value=B(t.value?d:j,g.value),m.value=L(t.value?d:j),z=q.value>-20&&q.value<80,l(y),c(y))}function E(y){const d=y.changedTouches[0].clientX,j=y.changedTouches[0].clientY;if(z){if(!y.cancelable){z=!1;return}const f=Math.abs(d-k[0]),w=Math.abs(j-k[1]);(t.value?f>w&&f>3:w>f&&w>3)?(r.value=!0,z=!1):(t.value?w:f)>3&&(z=!1)}if(!r.value)return;y.preventDefault(),c(y);const a=L(t.value?d:j,!1);m.value=Math.max(0,Math.min(1,a)),a>1?q.value=B(t.value?d:j,!0):a<0&&(q.value=B(t.value?d:j,!1))}function Y(y){if(z=!1,!r.value)return;c(y),r.value=!1;const d=e(y.changedTouches[0].identifier),j=Math.abs(d.x),a=Math.abs(d.y);(t.value?j>a&&j>400:a>j&&a>3)?g.value=d.direction===({left:"right",right:"left",top:"down",bottom:"up"}[o.value]||N()):g.value=m.value>.5}const O=P(()=>r.value?{transform:o.value==="left"?`translateX(calc(-100% + ${m.value*h.value}px))`:o.value==="right"?`translateX(calc(100% - ${m.value*h.value}px))`:o.value==="top"?`translateY(calc(-100% + ${m.value*h.value}px))`:o.value==="bottom"?`translateY(calc(100% - ${m.value*h.value}px))`:N(),transition:"none"}:void 0);return U(r,()=>{var j,a;const y=((j=i.value)==null?void 0:j.style.transform)??null,d=((a=i.value)==null?void 0:a.style.transition)??null;ni(()=>{var f,w,Z,$;(w=i.value)==null||w.style.setProperty("transform",((f=O.value)==null?void 0:f.transform)||"none"),($=i.value)==null||$.style.setProperty("transition",((Z=O.value)==null?void 0:Z.transition)||null)}),ii(()=>{var f,w;(f=i.value)==null||f.style.setProperty("transform",y),(w=i.value)==null||w.style.setProperty("transition",d)})}),{isDragging:r,dragProgress:m,dragStyles:O}}function N(){throw new Error}const ig=["start","end","left","right","top","bottom"],gg=ui({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:n=>ig.includes(n)},sticky:Boolean,..._i(),...Ei(),...Mi(),...Di({mobile:null}),...Ci(),...Ti(),...Si(),...Pi({tag:"nav"}),...vi()},"VNavigationDrawer"),hg=hi()({name:"VNavigationDrawer",props:gg(),emits:{"update:modelValue":n=>!0,"update:rail":n=>!0},setup(n,i){let{attrs:g,emit:u,slots:h}=i;const{isRtl:s}=si(),{themeClasses:o}=oi(n),{borderClasses:t}=ti(n),{backgroundColorClasses:c,backgroundColorStyles:l}=bn(()=>n.color),{elevationClasses:e}=li(n),{displayClasses:z,mobile:r}=ei(n),{roundedClasses:m}=ci(n),q=zi(),k=yi(n,"modelValue",null,p=>!!p),{ssrBootStyles:B}=di(),{scopeId:L}=ri(),V=tn(),E=A(!1),{runOpenDelay:Y,runCloseDelay:O}=pi(n,p=>{E.value=p}),y=P(()=>n.rail&&n.expandOnHover&&E.value?Number(n.width):Number(n.rail?n.railWidth:n.width)),d=P(()=>ji(n.location,s.value)),j=nn(()=>n.persistent),a=P(()=>!n.permanent&&(r.value||n.temporary)),f=P(()=>n.sticky&&!a.value&&d.value!=="bottom");U(()=>n.expandOnHover&&n.rail!=null,()=>{H(E,p=>u("update:rail",!p))}),U(()=>!n.disableResizeWatcher,()=>{H(a,p=>!n.permanent&&ai(()=>k.value=!p))}),U(()=>!n.disableRouteWatcher&&!!q,()=>{H(q.currentRoute,()=>a.value&&(k.value=!1))}),H(()=>n.permanent,p=>{p&&(k.value=!0)}),n.modelValue==null&&!a.value&&(k.value=n.permanent||!r.value);const{isDragging:w,dragProgress:Z}=ng({el:V,isActive:k,isTemporary:a,width:y,touchless:nn(()=>n.touchless),position:d}),$=P(()=>{const p=a.value?0:n.rail&&n.expandOnHover?Number(n.railWidth):y.value;return w.value?p*Z.value:p}),{layoutItemStyles:zn,layoutItemScrimStyles:Xn}=bi({id:n.name,order:P(()=>parseInt(n.order,10)),position:d,layoutSize:$,elementSize:y,active:xi(k),disableTransitions:nn(()=>w.value),absolute:P(()=>n.absolute||f.value&&typeof yn.value!="string")}),{isStuck:yn,stickyStyles:Kn}=Xi({rootEl:V,isSticky:f,layoutItemStyles:zn}),dn=bn(()=>typeof n.scrim=="string"?n.scrim:null),Qn=P(()=>({...w.value?{opacity:Z.value*.2,transition:"none"}:void 0,...Xn.value}));return mi({VList:{bgColor:"transparent"}}),fi(()=>{const p=h.image||n.image;return _(On,null,[x(n.tag,xn({ref:V,onMouseenter:Y,onMouseleave:O,class:["v-navigation-drawer",`v-navigation-drawer--${d.value}`,{"v-navigation-drawer--expand-on-hover":n.expandOnHover,"v-navigation-drawer--floating":n.floating,"v-navigation-drawer--is-hovering":E.value,"v-navigation-drawer--rail":n.rail,"v-navigation-drawer--temporary":a.value,"v-navigation-drawer--persistent":j.value,"v-navigation-drawer--active":k.value,"v-navigation-drawer--sticky":f.value},o.value,c.value,t.value,z.value,e.value,m.value,n.class],style:[l.value,zn.value,B.value,Kn.value,n.style]},L,g),{default:()=>{var rn,jn,an;return[p&&_("div",{key:"image",class:"v-navigation-drawer__img"},[h.image?x(qi,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:n.image}}},h.image):x(wi,{key:"image-img",alt:"",cover:!0,height:"inherit",src:n.image},null)]),h.prepend&&_("div",{class:"v-navigation-drawer__prepend"},[(rn=h.prepend)==null?void 0:rn.call(h)]),_("div",{class:"v-navigation-drawer__content"},[(jn=h.default)==null?void 0:jn.call(h)]),h.append&&_("div",{class:"v-navigation-drawer__append"},[(an=h.append)==null?void 0:an.call(h)])]}}),x(ki,{name:"fade-transition"},{default:()=>[a.value&&(w.value||k.value)&&!!n.scrim&&_("div",xn({class:["v-navigation-drawer__scrim",dn.backgroundColorClasses.value],style:[Qn.value,dn.backgroundColorStyles.value],onClick:()=>{j.value||(k.value=!1)}},L),null)]})])}),{isStuck:yn}}}),ug=Ii({name:"MessageLog",setup(){const n=tn(!1),i=tn([]),g={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},u={success:"success",error:"error",warning:"warning",info:"primary"};return gn.onLog(h=>{h&&(i.value=h)}),{drawer:n,messages:i,icons:g,colors:u,deleteMessage:h=>gn.deleteMessage(h),clearMessages:()=>gn.clearMessages()}}}),sg={class:"text-caption text-grey"};function og(n,i,g,u,h,s){return n.drawer?(T(),R(hg,{key:0,modelValue:n.drawer,"onUpdate:modelValue":i[0]||(i[0]=o=>n.drawer=o),location:"right",temporary:"",width:"400"},{default:b(()=>[x(Yi,{color:"primary"},{default:b(()=>[x($i,null,{default:b(()=>[...i[1]||(i[1]=[C("消息记录",-1)])]),_:1})]),_:1}),x(Vi,null,{default:b(()=>[(T(!0),ln(On,null,Zi(n.messages,o=>(T(),R(mn,{key:o.id,rounded:""},{prepend:b(()=>[x(wn,{icon:n.icons[o.type],color:n.colors[o.type],size:"20"},null,8,["icon","color"])]),default:b(()=>[x(fn,null,{default:b(()=>[C(F(o.title),1)]),_:2},1024),o.content?(T(),R(Ni,{key:0},{default:b(()=>[C(F(o.content),1)]),_:2},1024)):I("",!0),_("span",sg,F(new Date(o.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),n.messages.length?I("",!0):(T(),R(mn,{key:0},{prepend:b(()=>[x(wn,{icon:"mdi-inbox",color:"grey"})]),default:b(()=>[x(fn,{class:"text-grey"},{default:b(()=>[...i[2]||(i[2]=[C("暂无消息",-1)])]),_:1})]),_:1}))]),_:1})]),_:1},8,["modelValue"])):I("",!0)}const gh=Hn(ug,[["render",og]]),tg={name:"NamespaceAccess",data(){return{dialog:!1,password:"",error:"",loading:!1,showPassword:!1,isReadOnly:!1,accessType:"PUBLIC",passwordHint:null}},computed:{shouldShowAccess(){const n=D("server.provider");return n==="kv-server"||n==="classworkscloud"}},async created(){this.shouldShowAccess&&await this.checkAccess()},methods:{async checkAccess(){var n;if(this.shouldShowAccess)try{const i=await un.get(`${D("server.domain")}/${D("device.uuid")}/_info`);if(i.data&&i.data.accessType&&["PRIVATE","PROTECTED","PUBLIC"].includes(i.data.accessType))this.accessType=i.data.accessType;else return;if(this.accessType==="PRIVATE"||this.accessType==="PROTECTED"){const u=D("namespace.password");u?await this.verifyPassword(u):this.accessType==="PRIVATE"?this.openPasswordDialog():this.setReadOnly(!0)}const g=await un.get(`${D("server.domain")}/${D("device.uuid")}/_hint`);g.data&&g.data.passwordHint&&(this.passwordHint=g.data.passwordHint||null)}catch(i){i.response&&i.response.status===403?(this.accessType="PRIVATE",this.setReadOnly(!0),this.openPasswordDialog()):(console.error("访问检查失败:",i),(n=this.$message)==null||n.error("访问检查失败"))}},async verifyPassword(n){var i,g,u;try{const h=D("device.uuid"),s=await un.post(`${D("server.domain")}/${h}/_checkpassword`,{password:n});if(s.status!=200)throw new Error(((g=(i=s.data)==null?void 0:i.error)==null?void 0:g.message)||"密码错误");hn("namespace.password",n),this.setReadOnly(!1),this.dialog=!1,(u=this.$message)==null||u.success("验证成功","已启用编辑功能")}catch(h){throw hn("namespace.password",""),this.setReadOnly(!0),h}},openPasswordDialog(){this.password="",this.error="",this.dialog=!0},async checkPassword(){if(!this.password){this.error="请输入密码";return}this.loading=!0,this.error="";try{await this.verifyPassword(this.password)}catch(n){console.error("密码验证失败:",n),this.error="密码验证失败"}finally{this.loading=!1}},setReadOnly(n){this.isReadOnly=n,hn("namespace.accessType",n?"readonly":"readwrite")}}},lg={key:0,class:"namespace-access"},eg={key:0};function cg(n,i,g,u,h,s){return s.shouldShowAccess?(T(),ln("div",lg,[h.isReadOnly?(T(),R(Ui,{key:0,color:"warning","prepend-icon":"mdi-lock-outline"},{default:b(()=>[...i[4]||(i[4]=[C(" 只读 ",-1)])]),_:1})):I("",!0),h.isReadOnly?(T(),R(sn,{key:1,color:"primary",class:"rounded-xl","prepend-icon":"mdi-lock-open-variant",onClick:s.openPasswordDialog,disabled:h.loading},{default:b(()=>[...i[5]||(i[5]=[C(" 启用编辑 ",-1)])]),_:1},8,["onClick","disabled"])):I("",!0),x(Wi,{modelValue:h.dialog,"onUpdate:modelValue":i[3]||(i[3]=o=>h.dialog=o),"max-width":"400",persistent:""},{default:b(()=>[x(Ri,{class:"rounded-xl",border:"",hover:""},{default:b(()=>[x(Ai,{class:"text-h6"},{default:b(()=>[...i[6]||(i[6]=[C("输入访问密码",-1)])]),_:1}),x(Bi,null,{default:b(()=>[x(Fi,{modelValue:h.password,"onUpdate:modelValue":i[0]||(i[0]=o=>h.password=o),label:"密码",variant:"outlined",error:!!h.error,"error-messages":h.error,onKeyup:Li(s.checkPassword,["enter"]),"onClick:appendInner":i[1]||(i[1]=o=>h.showPassword=!h.showPassword),disabled:h.loading,autofocus:""},null,8,["modelValue","error","error-messages","onKeyup","disabled"]),h.passwordHint?(T(),ln("p",eg,"密码提示:"+F(h.passwordHint),1)):I("",!0)]),_:1}),x(Oi,null,{default:b(()=>[x(Hi),x(sn,{color:"grey",variant:"text",class:"rounded-xl",onClick:i[2]||(i[2]=o=>h.dialog=!1),disabled:h.loading},{default:b(()=>[...i[7]||(i[7]=[C(" 取消 ",-1)])]),_:1},8,["disabled"]),x(sn,{color:"primary",class:"rounded-xl",variant:"tonal",onClick:s.checkPassword,loading:h.loading,disabled:!h.password},{default:b(()=>[...i[8]||(i[8]=[C(" 确认 ",-1)])]),_:1},8,["onClick","loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])):I("",!0)}const hh=Hn(tg,[["render",cg],["__scopeId","data-v-facd93ce"]]),zg=/^[\uD800-\uDBFF]$/,yg=/^[\uDC00-\uDFFF]$/,dg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var kn;(function(n){n[n.Unknown=1e-13]="Unknown",n[n.Rule=1e-12]="Rule",n[n.DICT=2e-8]="DICT",n[n.Surname=1]="Surname",n[n.Custom=1]="Custom"})(kn||(kn={}));const v={Normal:1,Surname:10,Custom:100};function S(n){var i;return n.length-(((i=n.match(dg))===null||i===void 0?void 0:i.length)||0)}function K(n){const i=[];let g=0;for(;g1)return this.StringDICT.get(i);{const g=i.charCodeAt(0);return this.NumberDICT[g]}}set(i,g){if(i.length>1)this.StringDICT.set(i,g);else{const u=i.charCodeAt(0);this.NumberDICT[u]=g}}clear(){this.NumberDICT=[],this.StringDICT.clear()}}const vn={"bǎng páng pāng":["膀"],líng:["〇","伶","凌","刢","囹","坽","夌","姈","婈","孁","岺","彾","掕","昤","朎","柃","棂","櫺","欞","泠","淩","澪","灵","燯","爧","狑","玲","琌","瓴","皊","砱","祾","秢","竛","笭","紷","綾","绫","羐","羚","翎","聆","舲","苓","菱","蓤","蔆","蕶","蛉","衑","裬","詅","跉","軨","輘","酃","醽","鈴","錂","铃","閝","陵","零","霊","霗","霛","霝","靈","駖","魿","鯪","鲮","鴒","鸰","鹷","麢","齡","齢","龄","龗","㥄"],yī:["一","乊","伊","依","医","吚","咿","噫","壱","壹","夁","嫛","嬄","弌","揖","撎","檹","毉","洢","渏","漪","瑿","畩","祎","禕","稦","繄","蛜","衤","譩","辷","郼","醫","銥","铱","鷖","鹥","黟","黳"],"dīng zhēng":["丁"],"kǎo qiǎo yú":["丂"],qī:["七","倛","僛","凄","嘁","墄","娸","悽","慼","慽","戚","捿","柒","桤","桼","棲","榿","欺","沏","淒","漆","紪","緀","萋","褄","諆","迉","郪","鏚","霋","魌","鶈"],shàng:["丄","尙","尚","恦","緔","绱"],xià:["丅","下","乤","圷","夏","夓","懗","梺","疜","睱","罅","鎼","鏬"],hǎn:["丆","喊","浫","罕","豃","㘎"],"wàn mò":["万"],zhàng:["丈","仗","墇","嶂","帐","帳","幛","扙","杖","涱","痮","瘬","瘴","瞕","粀","胀","脹","賬","账","障"],sān:["三","厁","叁","弎","毵","毶","毿","犙","鬖"],"shàng shǎng shang":["上"],"qí jī":["丌","其","奇"],"bù fǒu":["不"],"yǔ yù yú":["与"],miǎn:["丏","偭","免","冕","勉","勔","喕","娩","愐","汅","沔","湎","睌","緬","缅","腼","葂","靦","鮸","𩾃"],gài:["丐","乢","匃","匄","戤","概","槩","槪","溉","漑","瓂","葢","鈣","钙","𬮿"],chǒu:["丑","丒","侴","吜","杽","瞅","矁","醜","魗"],zhuān:["专","叀","嫥","専","專","瑼","甎","砖","磗","磚","蟤","諯","鄟","顓","颛","鱄","䏝"],"qiě jū":["且"],pī:["丕","伓","伾","噼","坯","岯","憵","批","披","炋","狉","狓","砒","磇","礔","礕","秛","秠","耚","豾","邳","鈚","鉟","銔","錃","錍","霹","駓","髬","魾","𬳵"],shì:["世","丗","亊","事","仕","侍","冟","势","勢","卋","呩","嗜","噬","士","奭","嬕","室","市","式","弑","弒","恀","恃","戺","拭","揓","是","昰","枾","柿","栻","澨","烒","煶","眂","眎","眡","睗","示","礻","筮","簭","舐","舓","襫","視","视","觢","試","誓","諡","謚","试","谥","貰","贳","軾","轼","逝","遾","釈","释","釋","鈰","鉃","鉽","铈","飾","餙","餝","饰","鰘","䏡","𬤊"],qiū:["丘","丠","坵","媝","恘","恷","楸","秋","秌","穐","篍","緧","萩","蘒","蚯","蝵","蟗","蠤","趥","邱","鞦","鞧","鰌","鰍","鳅","鶖","鹙","龝"],bǐng:["丙","屛","怲","抦","昞","昺","柄","棅","炳","禀","秉","稟","苪","蛃","邴","鈵","陃","鞆","餅","餠","饼"],yè:["业","亱","僷","墷","夜","嶪","嶫","抴","捙","擛","擪","擫","晔","曄","曅","曗","曳","曵","枼","枽","業","洂","液","澲","烨","燁","爗","璍","皣","瞱","瞸","礏","腋","葉","謁","谒","邺","鄴","鍱","鐷","靥","靨","頁","页","餣","饁","馌","驜","鵺","鸈"],cóng:["丛","从","叢","婃","孮","従","徔","徖","悰","樷","欉","淙","灇","爜","琮","藂","誴","賨","賩","錝"],dōng:["东","倲","冬","咚","埬","岽","崬","徚","昸","東","氡","氭","涷","笗","苳","菄","蝀","鮗","鯟","鶇","鶫","鸫","鼕","𬟽"],sī:["丝","俬","凘","厮","司","咝","嘶","噝","媤","廝","恖","撕","斯","楒","泀","澌","燍","禗","禠","私","糹","絲","緦","纟","缌","罳","蕬","虒","蛳","蜤","螄","蟖","蟴","鉰","銯","鍶","鐁","锶","颸","飔","騦","鷥","鸶","鼶","㟃"],chéng:["丞","呈","城","埕","堘","塍","塖","宬","峸","惩","懲","成","承","挰","掁","揨","枨","棖","橙","檙","洆","溗","澂","珵","珹","畻","程","窚","筬","絾","脭","荿","誠","诚","郕","酲","鋮","铖","騬","鯎"],diū:["丟","丢","銩","铥"],liǎng:["両","两","兩","唡","啢","掚","緉","脼","蜽","裲","魉","魎","𬜯"],yǒu:["丣","卣","友","梄","湵","牖","禉","羑","聈","苃","莠","蜏","酉","銪","铕","黝"],yán:["严","厳","啱","喦","嚴","塩","壛","壧","妍","姸","娫","娮","岩","嵒","嵓","巌","巖","巗","延","揅","昖","楌","檐","櫩","欕","沿","炎","炏","狿","琂","盐","碞","筵","簷","莚","蔅","虤","蜒","言","訁","訮","詽","讠","郔","閆","閻","闫","阎","顏","顔","颜","鹽","麣","𫄧"],bìng:["並","併","倂","傡","垪","摒","栤","病","窉","竝","誁","靐","鮩"],"sàng sāng":["丧"],gǔn:["丨","惃","滚","滾","磙","緄","绲","蓘","蔉","衮","袞","輥","辊","鮌","鯀","鲧"],jiū:["丩","勼","啾","揪","揫","朻","究","糾","纠","萛","赳","阄","鬏","鬮","鳩","鸠"],"gè gě":["个","個","各"],yā:["丫","圧","孲","庘","押","枒","桠","椏","錏","鐚","鴉","鴨","鵶","鸦","鸭"],pán:["丬","媻","幋","槃","洀","瀊","爿","盘","盤","磐","縏","蒰","蟠","蹒","蹣","鎜","鞶"],"zhōng zhòng":["中"],jǐ:["丮","妀","己","戟","挤","掎","撠","擠","橶","泲","犱","脊","虮","蟣","魢","鱾","麂"],jiè:["丯","介","借","唶","堺","屆","届","岕","庎","徣","戒","楐","犗","玠","琾","界","畍","疥","砎","蚧","蛶","衸","褯","誡","诫","鎅","骱","魪"],fēng:["丰","仹","偑","僼","凨","凬","凮","妦","寷","封","峯","峰","崶","枫","楓","檒","沣","沨","渢","灃","烽","犎","猦","琒","疯","瘋","盽","砜","碸","篈","蘴","蜂","蠭","豐","鄷","酆","鋒","鎽","鏠","锋","霻","靊","飌","麷"],"guàn kuàng":["丱"],chuàn:["串","汌","玔","賗","釧","钏"],chǎn:["丳","产","冁","剷","囅","嵼","旵","浐","滻","灛","產","産","簅","蒇","蕆","諂","譂","讇","谄","鏟","铲","閳","闡","阐","骣","𬊤"],lín:["临","冧","壣","崊","嶙","斴","晽","暽","林","潾","瀶","燐","琳","璘","瞵","碄","磷","粦","粼","繗","翷","臨","轔","辚","遴","邻","鄰","鏻","阾","隣","霖","驎","鱗","鳞","麐","麟","𬴊","𬭸"],zhuó:["丵","劅","卓","啄","圴","妰","娺","撯","擆","擢","斫","斮","斱","斲","斵","晫","椓","浊","浞","濁","灼","烵","琸","硺","禚","窡","籗","籱","罬","茁","蠗","蠿","諁","諑","謶","诼","酌","鐲","镯","鵫","鷟","䓬","𬸦"],zhǔ:["丶","主","劯","嘱","囑","宔","帾","拄","渚","濐","煑","煮","燝","瞩","矚","罜","詝","陼","鸀","麈","𬣞"],bā:["丷","仈","八","叭","哵","夿","岜","巴","捌","朳","玐","疤","笆","粑","羓","芭","蚆","豝","釟"],wán:["丸","刓","完","岏","抏","捖","汍","烷","玩","琓","笂","紈","纨","翫","芄","貦","頑","顽"],dān:["丹","勯","匰","単","妉","媅","殚","殫","甔","眈","砃","箪","簞","耼","耽","聃","聸","褝","襌","躭","郸","鄲","酖","頕"],"wèi wéi":["为"],"jǐng dǎn":["丼"],"lì lí":["丽"],jǔ:["举","弆","挙","擧","椇","榉","榘","櫸","欅","矩","筥","聥","舉","莒","蒟","襷","踽","齟","龃"],piě:["丿","苤","鐅","𬭯"],fú:["乀","伏","俘","凫","刜","匐","咈","哹","垘","孚","岪","巿","帗","幅","幞","弗","彿","怫","扶","柫","栿","桴","氟","泭","浮","涪","澓","炥","玸","甶","畉","癁","祓","福","稪","符","箙","紱","紼","絥","綍","绂","绋","罘","罦","翇","艀","芙","芣","苻","茀","茯","菔","葍","虙","蚨","蜉","蝠","袚","袱","襆","襥","諨","豧","踾","輻","辐","郛","鉘","鉜","韍","韨","颫","髴","鮄","鮲","鳧","鳬","鴔","鵩","黻"],"yí jí":["乁"],yì:["乂","义","亄","亦","亿","伇","伿","佾","俋","億","兿","刈","劓","劮","勚","勩","匇","呓","呭","呹","唈","囈","圛","坄","垼","埸","奕","嫕","嬑","寱","屹","峄","嶧","帟","帠","幆","廙","异","弈","弋","役","忆","怈","怿","悒","意","憶","懌","懿","抑","挹","敡","易","晹","曀","曎","杙","枍","棭","榏","槸","檍","歝","殔","殪","殹","毅","浂","浥","浳","湙","溢","潩","澺","瀷","炈","焲","熠","熤","熼","燚","燡","燱","獈","玴","異","疫","痬","瘗","瘞","瘱","癔","益","瞖","穓","竩","篒","縊","繶","繹","绎","缢","義","羿","翊","翌","翳","翼","耴","肄","肊","膉","臆","艗","艺","芅","苅","萟","蓺","薏","藙","藝","蘙","虉","蜴","螠","衪","袣","裔","裛","褹","襼","訲","訳","詍","詣","誼","譯","議","讛","议","译","诣","谊","豙","豛","豷","貖","贀","跇","轶","逸","邑","鄓","醷","釴","鈠","鎰","鐿","镒","镱","阣","隿","霬","饐","駅","驛","驿","骮","鮨","鶂","鶃","鶍","鷁","鷊","鷧","鷾","鸃","鹝","鹢","黓","齸","𬬩","㑊","𫄷","𬟁"],nǎi:["乃","倷","奶","嬭","廼","氖","疓","艿","迺","釢"],wǔ:["乄","五","仵","伍","侮","倵","儛","午","啎","妩","娬","嫵","庑","廡","忤","怃","憮","摀","武","潕","熓","牾","玝","珷","瑦","甒","碔","舞","躌","迕","逜","陚","鵡","鹉","𣲘"],jiǔ:["久","乆","九","乣","奺","杦","汣","灸","玖","紤","舏","酒","镹","韭","韮"],"tuō zhé":["乇","杔","馲"],"me mó ma yāo":["么"],zhī:["之","倁","卮","巵","搘","支","栀","梔","椥","榰","汁","泜","疷","祗","祬","秓","稙","綕","肢","胑","胝","脂","芝","蘵","蜘","衼","隻","鳷","鴲","鼅","𦭜"],"wū wù":["乌"],zhà:["乍","咤","宱","搾","榨","溠","痄","蚱","詐","诈","醡","霅","䃎"],hū:["乎","乯","匢","匫","呼","唿","嘑","垀","寣","幠","忽","惚","昒","歑","泘","淴","滹","烀","苸","虍","虖","謼","軤","轷","雐"],fá:["乏","伐","傠","坺","垡","墢","姂","栰","浌","瞂","笩","筏","罚","罰","罸","藅","閥","阀"],"lè yuè yào lào":["乐","樂"],yín:["乑","吟","噖","嚚","圁","垠","夤","婬","寅","峾","崟","崯","檭","殥","泿","淫","滛","烎","犾","狺","璌","硍","碒","荶","蔩","訔","訚","訡","誾","鄞","鈝","銀","银","霪","鷣","齦"],pīng:["乒","俜","娉","涄","甹","砯","聠","艵","頩"],pāng:["乓","滂","胮","膖","雱","霶"],qiáo:["乔","侨","僑","嫶","憔","桥","槗","樵","橋","櫵","犞","瞧","硚","礄","荍","荞","蕎","藮","譙","趫","鐈","鞒","鞽","顦"],hǔ:["乕","琥","萀","虎","虝","錿","鯱"],guāi:["乖"],"chéng shèng":["乗","乘","娍"],yǐ:["乙","乛","以","倚","偯","嬟","崺","已","庡","扆","攺","敼","旑","旖","檥","矣","礒","笖","舣","艤","苡","苢","蚁","螘","蟻","裿","踦","輢","轙","逘","酏","釔","鈘","鉯","钇","顗","鳦","齮","𫖮","𬺈"],"háo yǐ":["乚"],"niè miē":["乜"],qǐ:["乞","企","启","唘","啓","啔","啟","婍","屺","杞","棨","玘","盀","綺","绮","芑","諬","起","邔","闙"],yě:["也","冶","嘢","埜","壄","漜","野"],xí:["习","喺","媳","嶍","席","椺","檄","漝","習","蓆","袭","襲","覡","觋","謵","趘","郋","鎴","隰","霫","飁","騱","騽","驨","鰼","鳛","𠅤","𫘬"],xiāng:["乡","厢","廂","忀","楿","欀","湘","瓖","稥","箱","緗","缃","膷","芗","萫","葙","薌","襄","郷","鄉","鄊","鄕","鑲","镶","香","驤","骧","鱜","麘","𬙋"],shū:["书","倏","倐","儵","叔","姝","尗","抒","掓","摅","攄","書","枢","梳","樞","殊","殳","毹","毺","淑","瀭","焂","疎","疏","紓","綀","纾","舒","菽","蔬","踈","軗","輸","输","鄃","陎","鮛","鵨"],dǒu:["乧","抖","枓","蚪","鈄","阧","陡"],shǐ:["乨","使","兘","史","始","宩","屎","榁","矢","笶","豕","鉂","駛","驶"],jī:["乩","僟","击","刉","刏","剞","叽","唧","喞","嗘","嘰","圾","基","墼","姬","屐","嵆","嵇","撃","擊","朞","机","枅","樭","機","毄","激","犄","玑","璣","畸","畿","癪","矶","磯","积","積","笄","筓","箕","簊","緁","羁","羇","羈","耭","肌","芨","虀","覉","覊","譏","譤","讥","賫","賷","赍","跻","踑","躋","躸","銈","錤","鐖","鑇","鑙","隮","雞","鞿","韲","飢","饑","饥","魕","鳮","鶏","鶺","鷄","鸄","鸡","齎","齏","齑","𬯀","𫓯","𫓹","𫌀"],náng:["乪","嚢","欜","蠰","饢"],jiā:["乫","佳","傢","加","嘉","抸","枷","梜","毠","泇","浃","浹","犌","猳","珈","痂","笳","糘","耞","腵","葭","袈","豭","貑","跏","迦","鉫","鎵","镓","鴐","麚","𬂩"],jù:["乬","倨","倶","具","剧","劇","勮","埧","埾","壉","姖","屦","屨","岠","巨","巪","怇","惧","愳","懅","懼","拒","拠","昛","歫","洰","澽","炬","烥","犋","秬","窭","窶","簴","粔","耟","聚","虡","蚷","詎","讵","豦","距","踞","躆","遽","邭","醵","鉅","鐻","钜","颶","飓","駏","鮔"],shí:["乭","十","埘","塒","姼","实","実","寔","實","峕","嵵","时","旹","時","榯","湜","溡","炻","祏","竍","蚀","蝕","辻","遈","鉐","飠","饣","鮖","鰣","鲥","鼫","鼭"],mǎo:["乮","冇","卯","峁","戼","昴","泖","笷","蓩","鉚","铆"],mǎi:["买","嘪","荬","蕒","買","鷶"],luàn:["乱","亂","釠"],rǔ:["乳","擩","汝","肗","辱","鄏"],xué:["乴","学","學","峃","嶨","斈","泶","澩","燢","穴","茓","袕","踅","鷽","鸴"],yǎn:["䶮","乵","俨","偃","儼","兖","兗","厣","厴","噞","孍","嵃","巘","巚","弇","愝","戭","扊","抁","掩","揜","曮","椼","檿","沇","渷","演","琰","甗","眼","罨","萒","蝘","衍","褗","躽","遃","郾","隒","顩","魇","魘","鰋","鶠","黡","黤","黬","黭","黶","鼴","鼹","齴","龑","𬸘","𬙂","𪩘"],fǔ:["乶","俌","俛","俯","府","弣","抚","拊","撫","斧","椨","滏","焤","甫","盙","簠","腐","腑","蜅","輔","辅","郙","釜","釡","阝","頫","鬴","黼","㕮","𫖯"],shā:["乷","唦","杀","桬","殺","毮","猀","痧","砂","硰","紗","繺","纱","蔱","裟","鎩","铩","閷","髿","魦","鯊","鯋","鲨"],nǎ:["乸","雫"],qián:["乹","亁","仱","偂","前","墘","媊","岒","拑","掮","榩","橬","歬","潛","潜","濳","灊","箝","葥","虔","軡","鈐","鉗","銭","錢","鎆","钤","钱","钳","靬","騚","騝","鰬","黔","黚"],suǒ:["乺","唢","嗩","所","暛","溑","溹","琐","琑","瑣","索","褨","鎖","鎻","鏁","锁"],yú:["乻","于","亐","伃","余","堣","堬","妤","娛","娯","娱","嬩","崳","嵎","嵛","愚","扵","揄","旟","楡","楰","榆","欤","歈","歟","歶","渔","渝","湡","漁","澞","牏","狳","玗","玙","瑜","璵","盂","睮","窬","竽","籅","羭","腴","臾","舁","舆","艅","茰","萮","萸","蕍","蘛","虞","虶","蝓","螸","衧","褕","覦","觎","諛","謣","谀","踰","輿","轝","逾","邘","酑","鍝","隅","雓","雩","餘","馀","騟","骬","髃","魚","魣","鮽","鯲","鰅","鱼","鷠","鸆","齵"],zhù:["乼","伫","佇","住","坾","墸","壴","嵀","拀","杼","柱","樦","殶","注","炷","疰","眝","祝","祩","竚","筯","箸","篫","簗","紵","紸","纻","羜","翥","苎","莇","蛀","註","貯","贮","跓","軴","鉒","鋳","鑄","铸","馵","駐","驻"],zhě:["乽","者","褶","襵","赭","踷","鍺","锗"],"qián gān":["乾"],"zhì luàn":["乿"],guī:["亀","圭","妫","媯","嫢","嬀","帰","归","摫","椝","槻","槼","櫷","歸","珪","瑰","璝","瓌","皈","瞡","硅","茥","蘬","規","规","邽","郌","閨","闺","騩","鬶","鬹"],"lǐn lìn":["亃"],jué:["亅","决","刔","劂","匷","厥","噊","孒","孓","崛","崫","嶥","彏","憠","憰","戄","抉","挗","掘","攫","桷","橛","橜","欮","氒","決","灍","焳","熦","爑","爴","爵","獗","玃","玦","玨","珏","瑴","瘚","矍","矡","砄","絕","絶","绝","臄","芵","蕝","蕨","虳","蟨","蟩","觖","觮","觼","訣","譎","诀","谲","貜","赽","趉","蹷","躩","鈌","鐍","鐝","钁","镢","鴂","鴃","鷢","𫘝","㵐","𫔎"],"le liǎo":["了"],"gè mā":["亇"],"yǔ yú":["予","懙"],zhēng:["争","佂","凧","姃","媜","峥","崝","崢","征","徰","炡","烝","爭","狰","猙","癥","眐","睁","睜","筝","箏","篜","聇","脀","蒸","踭","鉦","錚","鏳","鬇"],èr:["二","刵","咡","弍","弐","樲","誀","貮","貳","贰","髶"],chù:["亍","傗","儊","怵","憷","搐","斶","歜","珿","琡","矗","竌","絀","绌","臅","触","觸","豖","鄐","閦","黜"],kuī:["亏","刲","岿","巋","盔","窥","窺","聧","虧","闚","顝"],yún:["云","伝","勻","匀","囩","妘","愪","抣","昀","橒","沄","涢","溳","澐","熉","畇","秐","筼","篔","紜","縜","纭","耘","芸","蒷","蕓","郧","鄖","鋆","雲"],hù:["互","冱","嗀","嚛","婟","嫭","嫮","岵","帍","弖","怙","戶","户","戸","戽","扈","护","昈","槴","沍","沪","滬","熩","瓠","祜","笏","簄","粐","綔","蔰","護","豰","鄠","鍙","頀","鱯","鳠","鳸","鸌","鹱"],qí:["亓","剘","埼","岐","岓","崎","嵜","愭","掑","斉","斊","旂","旗","棊","棋","檱","櫀","歧","淇","濝","猉","玂","琦","琪","璂","畦","疧","碁","碕","祁","祈","祺","禥","竒","簯","簱","籏","粸","綥","綦","肵","脐","臍","艩","芪","萁","萕","蕲","藄","蘄","蚑","蚚","蛴","蜝","蜞","螧","蠐","褀","軝","鄿","釮","錡","锜","陭","頎","颀","騎","騏","騹","骐","骑","鬐","鬿","鯕","鰭","鲯","鳍","鵸","鶀","麒","麡","𨙸","𬨂","䓫"],jǐng:["井","儆","刭","剄","坓","宑","幜","憬","暻","殌","汫","汬","澋","璄","璟","璥","穽","肼","蟼","警","阱","頚","頸"],sì:["亖","佀","価","儩","兕","嗣","四","姒","娰","孠","寺","巳","柶","榹","汜","泗","泤","洍","洠","涘","瀃","牭","祀","禩","竢","笥","耜","肂","肆","蕼","覗","貄","釲","鈶","鈻","飤","飼","饲","駟","騃","驷"],suì:["亗","嬘","岁","嵗","旞","檖","歲","歳","澻","煫","燧","璲","砕","碎","祟","禭","穂","穗","穟","繀","繐","繸","襚","誶","譢","谇","賥","邃","鐆","鐩","隧","韢","𫟦","𬭼"],gèn:["亘","亙","揯","搄","茛"],yà:["亚","亜","俹","冴","劜","圔","圠","埡","娅","婭","揠","氩","氬","犽","砑","稏","聐","襾","覀","訝","讶","迓","齾"],"xiē suò":["些"],"qí zhāi":["亝","齊"],"yā yà":["亞","压","垭","壓","铔"],"jí qì":["亟","焏"],tóu:["亠","投","頭","骰"],"wáng wú":["亡"],"kàng háng gāng":["亢"],dà:["亣","眔"],jiāo:["交","僬","娇","嬌","峧","嶕","嶣","憍","椒","浇","澆","焦","礁","穚","簥","胶","膠","膲","茭","茮","蕉","虠","蛟","蟭","跤","轇","郊","鐎","驕","骄","鮫","鲛","鵁","鷦","鷮","鹪","䴔"],hài:["亥","嗐","害","氦","餀","饚","駭","駴","骇"],"hēng pēng":["亨"],mǔ:["亩","姆","峔","拇","母","牡","牳","畂","畆","畒","畝","畞","畮","砪","胟","踇","鉧","𬭁","𧿹"],ye:["亪"],xiǎng:["享","亯","响","想","晑","蚃","蠁","響","飨","餉","饗","饷","鮝","鯗","鱶","鲞"],jīng:["京","亰","兢","坕","坙","婛","惊","旌","旍","晶","橸","泾","涇","猄","睛","秔","稉","粳","精","経","經","綡","聙","腈","茎","荆","荊","菁","葏","驚","鯨","鲸","鶁","鶄","麖","麠","鼱","䴖"],tíng:["亭","停","婷","嵉","庭","廷","楟","榳","筳","聤","莛","葶","蜓","蝏","諪","邒","霆","鼮","䗴"],liàng:["亮","喨","悢","晾","湸","諒","谅","輌","輛","辆","鍄"],"qīn qìng":["亲","親"],bó:["亳","仢","侼","僰","博","帛","愽","懪","挬","搏","欂","浡","淿","渤","煿","牔","狛","瓝","礴","秡","箔","簙","糪","胉","脖","膊","舶","艊","萡","葧","袯","襏","襮","謈","踣","郣","鈸","鉑","鋍","鎛","鑮","钹","铂","镈","餺","馎","馛","馞","駁","駮","驳","髆","鵓","鹁"],yòu:["亴","佑","佦","侑","又","右","哊","唀","囿","姷","宥","峟","幼","狖","祐","蚴","誘","诱","貁","迶","酭","釉","鼬"],xiè:["亵","伳","偞","偰","僁","卨","卸","噧","塮","夑","媟","屑","屧","廨","徢","懈","暬","械","榍","榭","泻","洩","渫","澥","瀉","瀣","灺","炧","炨","燮","爕","獬","祄","禼","糏","紲","絏","絬","繲","纈","绁","缷","薢","薤","蟹","蠏","褉","褻","謝","谢","躞","邂","靾","韰","齂","齘","齛","齥","𬹼","𤫉"],"dǎn dàn":["亶","馾"],lián:["亷","劆","匲","匳","嗹","噒","奁","奩","嫾","帘","廉","怜","憐","涟","漣","濂","濓","瀮","熑","燫","簾","籢","籨","縺","翴","联","聨","聫","聮","聯","臁","莲","蓮","薕","螊","蠊","裢","褳","覝","謰","蹥","连","連","鎌","鐮","镰","鬑","鰱","鲢"],duǒ:["亸","哚","嚲","埵","崜","朵","朶","綞","缍","趓","躱","躲","軃"],"wěi mén":["亹","斖"],rén:["人","亻","仁","壬","忈","忎","朲","秂","芢","魜","鵀"],jí:["亼","亽","伋","佶","偮","卙","即","卽","及","叝","吉","堲","塉","姞","嫉","岌","嵴","嶯","彶","忣","急","愱","戢","揤","极","棘","楫","極","槉","檝","殛","汲","湒","潗","疾","瘠","皍","笈","箿","籍","級","级","膌","艥","蒺","蕀","蕺","蝍","螏","襋","觙","谻","踖","蹐","躤","輯","轚","辑","郆","銡","鍓","鏶","集","雧","霵","鹡","㴔"],wáng:["亾","仼","兦","莣","蚟"],"shén shí":["什"],lè:["仂","叻","忇","氻","泐","玏","砳","簕","艻","阞","韷","餎","鰳","鱳","鳓"],dīng:["仃","叮","帄","玎","疔","盯","耵","虰","靪"],zè:["仄","崱","庂","捑","昃","昗","汄"],"jǐn jìn":["仅","僅","嫤"],"pú pū":["仆"],"chóu qiú":["仇"],zhǎng:["仉","幥","掌","礃"],jīn:["今","堻","巾","惍","斤","津","珒","琻","璡","砛","筋","荕","衿","襟","觔","金","釒","釿","钅","鹶","黅","𬬱"],bīng:["仌","仒","兵","冫","冰","掤","氷","鋲"],réng:["仍","礽","芿","辸","陾"],fó:["仏","坲","梻"],"jīn sǎn":["仐"],lún:["仑","伦","侖","倫","囵","圇","婨","崘","崙","棆","沦","淪","磮","腀","菕","蜦","踚","輪","轮","錀","陯","鯩","𬬭"],cāng:["仓","仺","倉","凔","嵢","沧","滄","濸","獊","舱","艙","苍","蒼","螥","鸧"],"zǎi zǐ zī":["仔"],tā:["他","塌","它","榙","溻","牠","祂","褟","趿","遢","闧"],fù:["付","偩","傅","冨","副","咐","坿","复","妇","婦","媍","嬔","富","復","椱","祔","禣","竎","緮","縛","缚","腹","萯","蕧","蚹","蛗","蝜","蝮","袝","複","覄","覆","訃","詂","讣","負","賦","賻","负","赋","赙","赴","輹","鍑","鍢","阜","附","馥","駙","驸","鮒","鰒","鲋","鳆","㳇"],xiān:["仙","仚","佡","僊","僲","先","嘕","奾","屳","廯","忺","憸","掀","暹","杴","氙","珗","祆","秈","籼","繊","纎","纖","苮","褼","襳","跹","蹮","躚","酰","鍁","锨","韯","韱","馦","鱻","鶱","𬸣"],"tuō chà duó":["仛"],hóng:["仜","吰","垬","妅","娂","宏","宖","弘","彋","汯","泓","洪","浤","渱","潂","玒","玜","竑","竤","篊","粠","紘","紭","綋","纮","翃","翝","耾","苰","荭","葒","葓","谹","谼","鈜","鉷","鋐","閎","闳","霐","霟","鞃","魟","鴻","鸿","黉","黌","𫟹","𬭎"],tóng:["仝","佟","哃","峂","峝","庝","彤","晍","曈","桐","氃","浵","潼","犝","獞","眮","瞳","砼","秱","童","粡","膧","茼","蚒","詷","赨","酮","鉖","鉵","銅","铜","餇","鮦","鲖","𫍣","𦒍"],rèn:["仞","仭","刃","刄","妊","姙","屻","岃","扨","牣","祍","紉","紝","絍","纫","纴","肕","腍","衽","袵","訒","認","认","讱","軔","轫","鈓","靭","靱","韌","韧","飪","餁","饪"],qiān:["仟","佥","僉","千","圲","奷","孯","岍","悭","愆","慳","扦","拪","搴","撁","攐","攑","攓","杄","櫏","汘","汧","牵","牽","竏","签","簽","籖","籤","粁","芊","茾","蚈","褰","諐","謙","谦","谸","迁","遷","釺","鈆","鉛","鏲","钎","阡","韆","顅","騫","骞","鬜","鬝","鵮","鹐"],"gǎn hàn":["仠"],"yì gē":["仡"],dài:["代","侢","叇","垈","埭","岱","帒","带","帯","帶","廗","怠","戴","曃","柋","殆","瀻","玳","瑇","甙","簤","紿","緿","绐","艜","蝳","袋","襶","貣","贷","蹛","軑","軚","軩","轪","迨","霴","靆","鴏","黛","黱"],"lìng líng lǐng":["令"],chào:["仦","耖","觘"],"cháng zhǎng":["仧","兏","長","长"],sā:["仨"],cháng:["仩","偿","償","嘗","嚐","嫦","尝","常","徜","瑺","瓺","甞","肠","腸","膓","苌","萇","镸","鱨","鲿"],yí:["仪","侇","儀","冝","匜","咦","圯","夷","姨","宐","宜","宧","寲","峓","嶬","嶷","巸","彛","彜","彝","彞","怡","恞","扅","暆","栘","椬","椸","沂","洟","熪","瓵","痍","移","簃","籎","羠","胰","萓","蛦","螔","觺","謻","貽","贻","跠","迻","遺","鏔","頉","頤","頥","顊","颐","饴","鮧","鴺"],mù:["仫","凩","募","墓","幕","幙","慔","慕","暮","暯","木","楘","毣","沐","炑","牧","狇","目","睦","穆","艒","苜","莯","蚞","鉬","钼","雮","霂"],"men mén":["们"],fǎn:["仮","反","橎","返"],"chào miǎo":["仯"],"yǎng áng":["仰"],zhòng:["仲","众","堹","妕","媑","狆","眾","祌","筗","茽","蚛","衆","衶","諥"],"pǐ pí":["仳"],wò:["仴","偓","卧","媉","幄","握","楃","沃","渥","濣","瓁","瞃","硪","肟","腛","臥","齷","龌"],jiàn:["件","俴","健","僭","剑","剣","剱","劍","劎","劒","劔","墹","寋","建","徤","擶","旔","楗","毽","洊","涧","澗","牮","珔","瞷","磵","礀","箭","糋","繝","腱","臶","舰","艦","荐","薦","覸","諓","諫","譛","谏","賎","賤","贱","趝","践","踐","踺","轞","鉴","鍳","鍵","鐱","鑑","鑒","鑬","鑳","键","間","餞","饯","𬣡"],"jià jiè jie":["价"],"yǎo fó":["仸"],"rèn rén":["任"],"fèn bīn":["份"],dī:["仾","低","啲","埞","堤","岻","彽","樀","滴","磾","秪","羝","袛","趆","隄","鞮","䃅"],fǎng:["仿","倣","旊","昉","昘","瓬","眆","紡","纺","舫","訪","访","髣","鶭"],zhōng:["伀","刣","妐","幒","彸","忠","柊","汷","泈","炂","盅","籦","終","终","舯","蔠","蜙","螤","螽","衳","衷","蹱","鈡","鍾","鐘","钟","锺","鴤","鼨"],pèi:["伂","佩","姵","帔","斾","旆","沛","浿","珮","蓜","轡","辔","配","霈","馷"],diào:["伄","吊","弔","掉","瘹","盄","窎","窵","竨","訋","釣","鈟","銱","鋽","鑃","钓","铞","雿","魡"],dùn:["伅","潡","炖","燉","盾","砘","碷","踲","逇","遁","遯","鈍","钝"],wěn:["伆","刎","吻","呅","抆","桽","稳","穏","穩","紊","肳","脗"],xǐn:["伈"],kàng:["伉","匟","囥","抗","炕","鈧","钪"],ài:["伌","僾","塧","壒","嫒","嬡","愛","懓","暧","曖","爱","瑷","璦","皧","瞹","砹","硋","碍","礙","薆","譺","賹","鑀","隘","靉","餲","馤","鱫","鴱"],"jì qí":["伎","薺"],"xiū xǔ":["休"],"jìn yín":["伒"],dǎn:["伔","刐","撢","玬","瓭","紞","胆","膽","衴","賧","赕","黕","𬘘"],fū:["伕","呋","娐","孵","尃","怤","懯","敷","旉","玞","砆","稃","筟","糐","綒","肤","膚","荂","荴","衭","趺","跗","邞","鄜","酜","鈇","麩","麬","麱","麸","𫓧"],tǎng:["伖","傥","儻","埫","戃","曭","爣","矘","躺","鎲","钂","镋"],yōu:["优","優","呦","嚘","峳","幽","忧","悠","憂","攸","櫌","滺","瀀","纋","羪","耰","逌","鄾","麀"],huǒ:["伙","夥","火","煷","邩","鈥","钬"],"huì kuài":["会","會","浍","璯"],yǔ:["伛","俁","俣","偊","傴","匬","噳","圄","圉","宇","寙","屿","嶼","庾","挧","敔","斞","楀","瑀","瘐","祤","禹","穥","窳","羽","與","萭","貐","鄅","頨","麌","齬","龉","㺄"],cuì:["伜","啛","忰","悴","毳","淬","焠","疩","瘁","竁","粋","粹","紣","綷","翆","翠","脃","脆","脺","膬","膵","臎","萃","襊","顇"],sǎn:["伞","傘","糤","繖","饊","馓"],wěi:["伟","伪","偉","偽","僞","儰","娓","寪","屗","崣","嶉","徫","愇","捤","暐","梶","洧","浘","渨","炜","煒","猥","玮","瑋","痿","緯","纬","腲","艉","芛","苇","荱","萎","葦","蒍","蔿","蜼","諉","诿","踓","鍡","韑","韙","韡","韪","頠","颹","骩","骪","骫","鮪","鲔","𫇭","𬀩","𬱟"],"chuán zhuàn":["传","傳"],"chē jū":["伡","俥","车"],"jū chē":["車"],yá:["伢","厑","厓","堐","岈","崕","崖","涯","漄","牙","玡","琊","睚","笌","芽","蚜","衙","齖"],qiàn:["伣","俔","倩","儙","刋","壍","嬱","悓","棈","椠","槧","欠","歉","皘","篏","篟","縴","芡","蒨","蔳","輤","𬘬"],shāng:["伤","傷","商","墒","慯","殇","殤","滳","漡","熵","蔏","螪","觞","觴","謪","鬺"],chāng:["伥","倀","娼","昌","椙","淐","猖","琩","菖","裮","錩","锠","閶","阊","鯧","鲳","鼚"],"chen cāng":["伧"],xùn:["伨","侚","卂","噀","巺","巽","徇","愻","殉","殾","汛","潠","狥","蕈","訊","訓","訙","训","讯","迅","迿","逊","遜","鑂","顨","馴","驯"],xìn:["伩","囟","孞","脪","舋","衅","訫","釁","阠","顖"],chǐ:["伬","侈","卶","叺","呎","垑","恥","歯","耻","肔","胣","蚇","裭","褫","豉","鉹","齒","齿"],"xián xuán":["伭"],"nú nǔ":["伮"],"bó bǎi":["伯"],"gū gù":["估"],nǐ:["伱","你","儞","孴","拟","擬","旎","晲","狔","苨","薿","隬"],"nì ní":["伲"],bàn:["伴","办","半","姅","怑","扮","瓣","秚","絆","绊","辦","鉡","靽"],xù:["伵","侐","勖","勗","卹","叙","垿","壻","婿","序","恤","敍","敘","旭","昫","朂","槒","欰","殈","汿","沀","洫","溆","漵","潊","烅","烼","煦","獝","珬","盢","瞁","稸","絮","続","緒","緖","續","绪","续","聓","聟","蓄","藚","訹","賉","酗","頊","鱮","㳚"],zhòu:["伷","僽","冑","呪","咒","咮","宙","昼","晝","甃","皱","皺","籀","籒","籕","粙","紂","縐","纣","绉","胄","荮","葤","詋","酎","駎","驟","骤","㤘","㑇"],shēn:["伸","侁","兟","呻","堔","妽","娠","屾","峷","扟","敒","曑","柛","氠","深","燊","珅","甡","甧","申","眒","砷","穼","籶","籸","糂","紳","绅","罙","罧","葠","蓡","蔘","薓","裑","訷","詵","诜","身","駪","鯓","鯵","鰺","鲹","鵢","𬳽"],qū:["伹","佉","匤","呿","坥","屈","岖","岴","嶇","憈","抾","敺","浀","煀","祛","筁","粬","胠","蛆","蛐","袪","覻","詘","诎","趍","躯","軀","阹","駆","駈","驅","驱","髷","魼","鰸","鱋","鶌","麯","麴","麹","黢","㭕","𪨰","䓛"],"sì cì":["伺"],bēng:["伻","嘣","奟","崩","嵭","閍"],"sì shì":["似"],"jiā qié gā":["伽"],"yǐ chì":["佁"],"diàn tián":["佃","钿"],"hān gàn":["佄"],mài:["佅","劢","勱","卖","唛","売","脈","衇","賣","迈","邁","霡","霢","麥","麦","鿏"],dàn:["但","僤","啖","啗","啿","噉","嚪","帎","憺","旦","柦","氮","沊","泹","淡","狚","疍","癚","禫","窞","腅","萏","蓞","蛋","蜑","觛","訑","誕","诞","贉","霮","餤","饏","駳","髧","鴠","𫢸"],bù:["佈","勏","吥","咘","埗","埠","布","廍","怖","悑","步","歨","歩","瓿","篰","荹","蔀","踄","部","郶","鈈","钚","餢"],bǐ:["佊","俾","匕","夶","妣","彼","朼","柀","比","毞","沘","疕","秕","笔","筆","粃","聛","舭","貏","鄙"],"zhāo shào":["佋"],cǐ:["佌","此","泚","皉","𫚖"],wèi:["位","卫","味","喂","墛","媦","慰","懀","未","渭","煟","熭","犚","猬","畏","緭","罻","胃","苿","菋","藯","蘶","蝟","螱","衛","衞","褽","謂","讆","讏","谓","躗","躛","軎","轊","鏏","霨","餧","餵","饖","魏","鮇","鳚"],zuǒ:["佐","左","繓"],yǎng:["佒","傟","养","坱","岟","慃","懩","攁","氧","氱","炴","痒","癢","礢","紻","蝆","軮","養","駚"],"tǐ tī":["体","體"],zhàn:["佔","偡","嶘","战","戦","戰","栈","桟","棧","湛","站","綻","绽","菚","蘸","虥","虦","譧","轏","驏"],"hé hē hè":["何"],bì:["佖","咇","哔","嗶","坒","堛","壁","奰","妼","婢","嬖","币","幣","幤","庇","庳","廦","弊","弻","弼","彃","必","怭","愊","愎","敝","斃","梐","毕","毖","毙","湢","滗","滭","潷","煏","熚","狴","獘","獙","珌","璧","畀","畢","疪","痹","痺","皕","睤","碧","筚","箅","箆","篦","篳","粊","綼","縪","繴","罼","腷","苾","荜","萆","萞","蓖","蓽","蔽","薜","蜌","袐","襅","襞","襣","觱","詖","诐","貱","贔","赑","跸","蹕","躃","躄","避","邲","鄨","鄪","鉍","鏎","鐴","铋","閇","閉","閟","闭","陛","韠","飶","饆","馝","駜","驆","髀","魓","鮅","鷝","鷩","鼊"],tuó:["佗","坨","堶","岮","槖","橐","沱","砣","砤","碢","紽","詑","跎","酡","阤","陀","陁","駝","駞","騨","驒","驝","驼","鮀","鴕","鸵","鼉","鼍","鼧","𬶍"],shé:["佘","舌","虵","蛥"],"yì dié":["佚","昳","泆","軼"],"fó fú bì bó":["佛"],"zuò zuō":["作"],gōu:["佝","沟","溝","痀","篝","簼","緱","缑","袧","褠","鈎","鉤","钩","鞲","韝"],nìng:["佞","侫","倿","寕","泞","澝","濘"],qú:["佢","劬","戵","斪","欋","欔","氍","淭","灈","爠","璖","璩","癯","磲","籧","絇","胊","臞","菃","葋","蕖","蘧","蟝","蠷","蠼","衐","衢","躣","軥","鑺","鴝","鸜","鸲","鼩"],"yōng yòng":["佣"],wǎ:["佤","咓","砙","邷"],kǎ:["佧","垰","胩","裃","鉲"],bāo:["佨","勹","包","孢","煲","笣","胞","苞","蕔","裦","褒","襃","闁","齙","龅"],"huái huí":["佪"],"gé hè":["佫"],lǎo:["佬","咾","恅","栳","狫","珯","硓","老","耂","荖","蛯","轑","銠","铑","鮱"],xiáng:["佭","庠","栙","祥","絴","翔","詳","跭"],gé:["佮","匌","呄","嗝","塥","愅","挌","搿","槅","櫊","滆","膈","臵","茖","觡","諽","輵","轕","閣","阁","隔","鞷","韐","韚","騔","骼","鮯"],yáng:["佯","劷","垟","崸","徉","扬","揚","敭","旸","昜","暘","杨","楊","洋","炀","珜","疡","瘍","眻","蛘","諹","輰","鍚","钖","阦","阳","陽","霷","颺","飏","鰑","鴹","鸉"],bǎi:["佰","捭","摆","擺","栢","百","竡","粨","襬"],fǎ:["佱","峜","法","灋","砝","鍅"],mǐng:["佲","凕","姳","慏","酩"],"èr nài":["佴"],hěn:["佷","很","狠","詪","𬣳"],huó:["佸","活"],guǐ:["佹","匦","匭","厬","垝","姽","宄","庋","庪","恑","晷","湀","癸","祪","簋","蛫","蟡","觤","詭","诡","軌","轨","陒","鬼"],quán:["佺","全","啳","埢","姾","峑","巏","拳","搼","权","楾","権","權","泉","洤","湶","牷","犈","瑔","痊","硂","筌","縓","荃","葲","蜷","蠸","觠","詮","诠","跧","踡","輇","辁","醛","銓","铨","闎","顴","颧","駩","騡","鬈","鰁","鳈","齤"],tiāo:["佻","庣","旫","祧","聎"],jiǎo:["佼","儌","孂","挢","搅","撟","撹","攪","敫","敽","敿","晈","暞","曒","灚","燞","狡","璬","皎","皦","絞","纐","绞","腳","臫","蟜","譑","賋","踋","鉸","铰","餃","饺","鱎","龣"],cì:["佽","刾","庛","朿","栨","次","絘","茦","莿","蛓","螆","賜","赐"],xíng:["侀","刑","哘","型","娙","形","洐","硎","蛵","邢","郉","鈃","鉶","銒","钘","铏","陉","陘","餳","𫰛"],tuō:["侂","咃","咜","圫","托","拕","拖","汑","脫","脱","莌","袥","託","讬","飥","饦","魠","鮵"],kǎn:["侃","偘","冚","坎","惂","砍","莰","輡","轗","顑"],zhí:["侄","値","值","埴","執","姪","嬂","戠","执","摭","植","樴","淔","漐","直","禃","絷","縶","聀","职","職","膱","蟙","跖","踯","蹠","躑","軄","釞","馽"],gāi:["侅","垓","姟","峐","晐","畡","祴","荄","該","该","豥","賅","賌","赅","陔"],lái:["來","俫","倈","崃","崍","庲","来","梾","棶","涞","淶","猍","琜","筙","箂","莱","萊","逨","郲","錸","铼","騋","鯠","鶆","麳"],kuǎ:["侉","咵","垮","銙"],gōng:["侊","公","功","匑","匔","塨","宫","宮","工","幊","弓","恭","攻","杛","碽","糼","糿","肱","觥","觵","躬","躳","髸","龔","龚","䢼"],lì:["例","俐","俪","傈","儮","儷","凓","利","力","励","勵","历","厉","厤","厯","厲","叓","吏","呖","唎","唳","嚦","囇","坜","塛","壢","娳","婯","屴","岦","悧","悷","慄","戾","搮","暦","曆","曞","朸","枥","栃","栗","栛","檪","櫔","櫪","欐","歴","歷","沥","沴","涖","溧","濿","瀝","爏","犡","猁","珕","瑮","瓅","瓑","瓥","疬","痢","癧","盭","睙","砅","砺","砾","磿","礪","礫","礰","禲","秝","立","笠","篥","粒","粝","糲","脷","苈","茘","荔","莅","莉","蒚","蒞","藶","蚸","蛎","蛠","蜧","蝷","蠇","蠣","詈","讈","赲","轢","轣","轹","酈","鉝","隶","隷","雳","靂","靋","鬁","鳨","鴗","鷅","麜","𫵷","𬍛"],yīn:["侌","凐","喑","噾","囙","因","垔","堙","姻","婣","愔","慇","栶","氤","洇","溵","濦","瘖","禋","秵","筃","絪","緸","茵","蒑","蔭","裀","諲","銦","铟","闉","阥","阴","陰","陻","隂","霒","霠","鞇","音","韾","駰","骃","齗","𬘡","𬤇","𬮱"],mǐ:["侎","孊","弭","敉","洣","渳","灖","米","粎","羋","脒","芈","葞","蔝","銤"],zhū:["侏","株","槠","橥","櫧","櫫","洙","潴","瀦","猪","珠","硃","秼","絑","茱","蕏","蛛","蝫","蠩","袾","誅","諸","诛","诸","豬","跦","邾","銖","铢","駯","鮢","鯺","鴸","鼄"],ān:["侒","偣","媕","安","峖","庵","桉","氨","盦","盫","腤","菴","萻","葊","蓭","誝","諳","谙","鞌","鞍","韽","馣","鮟","鵪","鶕","鹌","𩽾"],lù:["侓","僇","勎","勠","圥","坴","塶","娽","峍","廘","彔","录","戮","摝","椂","樚","淕","淥","渌","漉","潞","琭","璐","甪","盝","睩","硉","祿","禄","稑","穋","箓","簏","簬","簵","簶","籙","粶","蔍","蕗","虂","螰","賂","赂","趢","路","踛","蹗","輅","轆","辂","辘","逯","醁","錄","録","錴","鏴","陸","騄","騼","鯥","鴼","鵦","鵱","鷺","鹭","鹿","麓","𫘧"],móu:["侔","劺","恈","眸","蛑","謀","谋","踎","鍪","鴾","麰"],ér:["侕","儿","児","兒","峏","栭","洏","粫","而","胹","荋","袻","輀","轜","陑","隭","髵","鮞","鲕","鴯","鸸"],"dòng tǒng tóng":["侗"],chà:["侘","奼","姹","岔","汊","詫","诧"],chì:["侙","傺","勅","勑","叱","啻","彳","恜","慗","憏","懘","抶","敕","斥","杘","湁","灻","炽","烾","熾","痓","痸","瘛","翄","翅","翤","翨","腟","赤","趩","遫","鉓","雴","飭","饬","鶒","鷘"],"gòng gōng":["供","共"],zhōu:["侜","周","喌","州","徟","洲","淍","炿","烐","珘","矪","舟","謅","譸","诌","賙","赒","輈","輖","辀","週","郮","銂","霌","駲","騆","鵃","鸼"],rú:["侞","儒","嚅","如","嬬","孺","帤","曘","桇","渪","濡","筎","茹","蕠","薷","蝡","蠕","袽","襦","邚","醹","銣","铷","顬","颥","鱬","鴑","鴽"],"jiàn cún":["侟"],xiá:["侠","俠","匣","峡","峽","敮","暇","柙","炠","烚","狎","狭","狹","珨","瑕","硖","硤","碬","祫","筪","縖","翈","舝","舺","蕸","赮","轄","辖","遐","鍜","鎋","陜","陿","霞","騢","魻","鶷","黠"],lǚ:["侣","侶","儢","吕","呂","屡","屢","履","挔","捛","旅","梠","焒","祣","稆","穭","絽","縷","缕","膂","膐","褛","褸","郘","鋁","铝"],ta:["侤"],"jiǎo yáo":["侥","僥","徺"],zhēn:["侦","偵","寊","帧","帪","幀","搸","斟","桢","楨","榛","樼","殝","浈","湞","潧","澵","獉","珍","珎","瑧","甄","眞","真","砧","碪","祯","禎","禛","箴","胗","臻","葴","蒖","蓁","薽","貞","贞","轃","遉","酙","針","鉁","錱","鍼","针","鱵"],"cè zè zhāi":["侧","側"],kuài:["侩","儈","凷","哙","噲","圦","块","塊","巜","廥","快","旝","欳","狯","獪","筷","糩","脍","膾","郐","鄶","鱠","鲙"],chái:["侪","儕","喍","柴","犲","祡","豺"],nóng:["侬","儂","农","哝","噥","檂","欁","浓","濃","燶","禯","秾","穠","脓","膿","蕽","襛","譨","農","辳","醲","鬞","𬪩"],jǐn:["侭","儘","卺","厪","巹","槿","漌","瑾","紧","緊","菫","蓳","謹","谨","錦","锦","饉","馑"],"hóu hòu":["侯","矦"],jiǒng:["侰","僒","冏","囧","泂","澃","炯","烱","煚","煛","熲","燛","窘","綗","褧","迥","逈","顈","颎","䌹"],"chěng tǐng":["侱"],"zhèn zhēn":["侲","揕"],zuò:["侳","做","唑","坐","岝","岞","座","祚","糳","胙","葃","葄","蓙","袏","阼"],qīn:["侵","兓","媇","嵚","嶔","欽","衾","誛","钦","顉","駸","骎","鮼"],jú:["侷","啹","婅","局","巈","椈","橘","泦","淗","湨","焗","犑","狊","粷","菊","蘜","趜","跼","蹫","輂","郹","閰","駶","驧","鵙","鵴","鶪","鼰","鼳","䴗"],"shù dōu":["侸"],tǐng:["侹","圢","娗","挺","涏","烶","珽","脡","艇","誔","頲","颋"],shèn:["侺","愼","慎","昚","涁","渗","滲","瘆","瘮","眘","祳","肾","胂","脤","腎","蜃","蜄","鋠"],"tuì tuó":["侻"],nán:["侽","喃","娚","抩","暔","枏","柟","楠","男","畘","莮","萳","遖"],xiāo:["侾","哓","嘵","嚻","囂","婋","宯","宵","庨","彇","揱","枭","枵","梟","櫹","歊","毊","消","潇","瀟","灱","灲","烋","焇","猇","獢","痚","痟","硝","硣","窙","箫","簘","簫","綃","绡","翛","膮","萧","蕭","虈","虓","蟂","蟏","蟰","蠨","踃","逍","銷","销","霄","颵","驍","骁","髇","髐","魈","鴞","鴵","鷍","鸮"],"biàn pián":["便","緶","缏"],tuǐ:["俀","腿","蹆","骽"],xì:["係","匸","卌","呬","墍","屃","屓","屭","忥","怬","恄","椞","潝","潟","澙","熂","犔","磶","禊","細","綌","縘","细","绤","舃","舄","蕮","虩","衋","覤","赩","趇","郤","釳","阋","隙","隟","霼","餼","饩","鬩","黖"],cù:["促","媨","憱","猝","瘄","瘯","簇","縬","脨","蔟","誎","趗","踧","踿","蹙","蹴","蹵","醋","顣","鼀"],é:["俄","囮","娥","峉","峨","峩","涐","珴","皒","睋","磀","莪","訛","誐","譌","讹","迗","鈋","鋨","锇","頟","額","额","魤","鵝","鵞","鹅"],qiú:["俅","叴","唒","囚","崷","巯","巰","扏","梂","殏","毬","求","汓","泅","浗","湭","煪","犰","玌","球","璆","皳","盚","紌","絿","肍","芁","莍","虬","虯","蛷","裘","觓","觩","訄","訅","賕","赇","逎","逑","遒","酋","釚","釻","銶","頄","鮂","鯄","鰽","鼽","𨱇"],xú:["俆","徐","禑"],"guàng kuāng":["俇"],kù:["俈","喾","嚳","库","庫","廤","瘔","絝","绔","袴","裤","褲","酷"],wù:["俉","务","務","勿","卼","坞","塢","奦","婺","寤","屼","岉","嵨","忢","悞","悟","悮","戊","扤","晤","杌","溩","焐","熃","物","痦","矹","窹","粅","蘁","誤","误","鋈","阢","隖","雾","霚","霧","靰","騖","骛","鶩","鹜","鼿","齀"],jùn:["俊","儁","呁","埈","寯","峻","懏","捃","攟","晙","棞","燇","珺","畯","竣","箟","蜠","賐","郡","陖","餕","馂","駿","骏","鵔","鵕","鵘","䐃"],liáng:["俍","墚","梁","椋","樑","粮","粱","糧","良","輬","辌","𫟅"],zǔ:["俎","唨","爼","祖","組","组","詛","诅","鎺","阻","靻"],"qiào xiào":["俏"],yǒng:["俑","勇","勈","咏","埇","塎","嵱","彮","怺","恿","悀","惥","愑","愹","慂","柡","栐","永","泳","湧","甬","蛹","詠","踊","踴","鯒","鲬"],hùn:["俒","倱","圂","尡","慁","掍","溷","焝","睴","觨","諢","诨"],jìng:["俓","傹","境","妌","婙","婧","弪","弳","径","徑","敬","曔","桱","梷","浄","瀞","獍","痉","痙","竞","竟","竫","競","竸","胫","脛","莖","誩","踁","迳","逕","鏡","镜","靖","静","靜","鵛"],sàn:["俕","閐"],pěi:["俖"],sú:["俗"],xī:["俙","僖","兮","凞","卥","厀","吸","唏","唽","嘻","噏","嚱","夕","奚","嬆","嬉","屖","嵠","巇","希","徆","徯","息","悉","悕","惁","惜","昔","晞","晰","晳","曦","析","桸","榽","樨","橀","欷","氥","汐","浠","淅","渓","溪","烯","焁","焈","焟","熄","熈","熙","熹","熺","熻","燨","爔","牺","犀","犠","犧","琋","瘜","皙","睎","瞦","矽","硒","磎","礂","稀","穸","窸","粞","糦","緆","繥","羲","翕","翖","肸","肹","膝","舾","莃","菥","蒠","蜥","螅","蟋","蠵","西","觹","觽","觿","譆","谿","豀","豨","豯","貕","赥","邜","鄎","酅","醯","釸","錫","鏭","鐊","鑴","锡","隵","餏","饎","饻","鯑","鵗","鸂","鼷"],lǐ:["俚","娌","峢","峲","李","欚","浬","澧","理","礼","禮","粴","裏","裡","豊","逦","邐","醴","鋰","锂","鯉","鱧","鱱","鲤","鳢"],bǎo:["保","堢","媬","宝","寚","寳","寶","珤","緥","葆","藵","褓","賲","靌","飹","飽","饱","駂","鳵","鴇","鸨"],"yú shù yù":["俞"],"sì qí":["俟"],"xìn shēn":["信"],xiū:["俢","修","咻","庥","樇","烌","羞","脙","脩","臹","貅","銝","鎀","飍","饈","馐","髤","髹","鮴","鱃","鵂","鸺","䗛"],dì:["俤","偙","僀","埊","墑","墬","娣","帝","怟","旳","梊","焍","玓","甋","眱","睇","碲","祶","禘","第","締","缔","腣","菂","蒂","蔕","蝃","蝭","螮","諦","谛","踶","递","逓","遞","遰","鉪","𤧛","䗖"],chóu:["俦","儔","嬦","惆","愁","懤","栦","燽","畴","疇","皗","稠","筹","籌","絒","綢","绸","菗","詶","讎","讐","踌","躊","酧","酬","醻","雔","雠","雦"],zhì:["俧","偫","儨","制","劕","垁","娡","寘","帙","帜","幟","庢","庤","廌","彘","徏","徝","志","忮","懥","懫","挃","挚","掷","摯","擲","旘","晊","智","栉","桎","梽","櫍","櫛","治","洷","滍","滞","滯","潌","瀄","炙","熫","狾","猘","璏","瓆","痔","痣","礩","祑","秩","秷","稚","稺","穉","窒","紩","緻","置","翐","膣","至","致","芖","蛭","袟","袠","製","覟","觗","觯","觶","誌","豑","豒","貭","質","贄","质","贽","跱","踬","躓","輊","轾","郅","銍","鋕","鑕","铚","锧","陟","隲","雉","駤","騭","騺","驇","骘","鯯","鴙","鷙","鸷","𬃊"],"liǎ liǎng":["俩"],jiǎn:["俭","倹","儉","减","剪","堿","弿","彅","戩","戬","拣","挸","捡","揀","撿","枧","柬","梘","检","検","檢","減","湕","瀽","瑐","睑","瞼","硷","碱","礆","笕","筧","简","簡","絸","繭","翦","茧","藆","蠒","裥","襇","襉","襺","詃","謇","謭","譾","谫","趼","蹇","鐗","鬋","鰎","鹸","鹻","鹼"],huò:["俰","咟","嚯","嚿","奯","彠","惑","或","擭","旤","曤","檴","沎","湱","瀖","獲","癨","眓","矐","祸","禍","穫","窢","耯","臛","艧","获","蒦","藿","蠖","謋","貨","货","鍃","鑊","镬","雘","霍","靃","韄","㸌"],"jù jū":["俱","据","鋸","锯"],xiào:["俲","傚","効","咲","哮","啸","嘋","嘨","嘯","孝","效","斅","斆","歗","涍","熽","笑","詨","誟"],pái:["俳","徘","牌","犤","猅","簰","簲","輫"],biào:["俵","鰾","鳔"],"chù tì":["俶"],fèi:["俷","剕","厞","吠","屝","废","廃","廢","昲","曊","櫠","沸","濷","狒","癈","肺","萉","費","费","鐨","镄","陫","靅","鼣"],fèng:["俸","凤","奉","湗","焨","煈","賵","赗","鳯","鳳","鴌"],ǎn:["俺","唵","埯","揞","罯","銨","铵"],bèi:["俻","倍","偝","偹","備","僃","备","悖","惫","愂","憊","昁","梖","焙","牬","犕","狈","狽","珼","琲","碚","禙","糒","苝","蓓","蛽","褙","貝","贝","軰","輩","辈","邶","郥","鄁","鋇","鐾","钡","鞁","鞴","𬇙"],yù:["俼","儥","喅","喩","喻","域","堉","妪","嫗","寓","峪","嶎","庽","彧","御","愈","慾","戫","昱","棛","棜","棫","櫲","欎","欝","欲","毓","浴","淯","滪","潏","澦","灪","焴","煜","燏","燠","爩","狱","獄","玉","琙","瘉","癒","砡","硢","硲","礇","礖","礜","禦","秗","稢","稶","篽","籞","籲","粖","緎","罭","聿","肀","艈","芋","芌","茟","蒮","蓣","蓹","蕷","蘌","蜟","蜮","袬","裕","誉","諭","譽","谕","豫","軉","輍","逳","遇","遹","郁","醧","鈺","鋊","錥","鐭","钰","閾","阈","雤","霱","預","预","飫","饇","饫","馭","驈","驭","鬰","鬱","鬻","魊","鱊","鳿","鴥","鴧","鴪","鵒","鷸","鸒","鹆","鹬"],xīn:["俽","噺","妡","嬜","廞","心","忄","忻","惞","新","昕","杺","欣","歆","炘","盺","薪","訢","辛","邤","鈊","鋅","鑫","锌","馨","馫","䜣","𫷷"],"hǔ chí":["俿"],jiù:["倃","僦","匓","匛","匶","厩","咎","就","廄","廏","廐","慦","捄","救","旧","柩","柾","桕","欍","殧","疚","臼","舅","舊","鯦","鷲","鹫","麔","齨","㠇"],yáo:["倄","傜","嗂","垚","堯","姚","媱","尧","尭","峣","嶢","嶤","徭","揺","搖","摇","摿","暚","榣","烑","爻","猺","珧","瑤","瑶","磘","窑","窯","窰","肴","蘨","謠","謡","谣","軺","轺","遙","遥","邎","顤","颻","飖","餆","餚","鰩","鱙","鳐"],"cuì zú":["倅"],"liǎng liǎ":["倆"],wǎn:["倇","唍","婉","惋","挽","晚","晥","晩","晼","梚","椀","琬","畹","皖","盌","碗","綩","綰","绾","脘","萖","踠","輓","鋔"],zǒng:["倊","偬","傯","嵸","总","惣","捴","搃","摠","燪","総","緫","縂","總","蓗"],guān:["倌","关","官","棺","瘝","癏","窤","蒄","関","闗","關","鰥","鱞","鳏"],tiǎn:["倎","唺","忝","悿","晪","殄","淟","睓","腆","舔","覥","觍","賟","錪","餂"],mén:["們","扪","捫","璊","菛","虋","鍆","钔","門","閅","门","𫞩"],"dǎo dào":["倒"],"tán tàn":["倓","埮"],"juè jué":["倔"],chuí:["倕","垂","埀","捶","搥","桘","棰","槌","箠","腄","菙","錘","鎚","锤","陲","顀"],xìng:["倖","姓","婞","嬹","幸","性","悻","杏","涬","緈","臖","荇","莕","葕"],péng:["倗","傰","塜","塳","弸","憉","捀","朋","棚","椖","樥","硼","稝","竼","篷","纄","膨","芃","蓬","蘕","蟚","蟛","袶","輣","錋","鑝","韸","韼","騯","髼","鬅","鬔","鵬","鹏"],"tǎng cháng":["倘"],hòu:["候","厚","后","垕","堠","後","洉","茩","豞","逅","郈","鮜","鱟","鲎","鲘"],tì:["倜","剃","嚏","嚔","屉","屜","悌","悐","惕","惖","戻","掦","替","朑","歒","殢","涕","瓋","笹","籊","薙","褅","逖","逷","髰","鬀","鬄"],gàn:["倝","凎","幹","榦","檊","淦","灨","盰","紺","绀","詌","贑","赣","骭","㽏"],"liàng jìng":["倞","靓"],suī:["倠","哸","夊","滖","濉","眭","睢","芕","荽","荾","虽","雖","鞖"],"chàng chāng":["倡"],jié:["倢","偼","傑","刦","刧","刼","劫","劼","卩","卪","婕","媫","孑","岊","崨","嵥","嶻","巀","幯","截","捷","掶","擮","昅","杢","杰","桀","桝","楬","楶","榤","洁","滐","潔","狤","睫","礍","竭","節","羯","莭","蓵","蛣","蜐","蠘","蠞","蠽","衱","袺","訐","詰","誱","讦","踕","迼","鉣","鍻","镼","頡","鮚","鲒","㛃"],"kǒng kōng":["倥"],juàn:["倦","劵","奆","慻","桊","淃","狷","獧","眷","睊","睠","絭","絹","绢","罥","羂","腃","蔨","鄄","餋"],zōng:["倧","堫","宗","嵏","嵕","惾","朡","棕","椶","熧","猣","磫","緃","翪","腙","葼","蝬","豵","踨","踪","蹤","鍐","鑁","騌","騣","骔","鬃","鬉","鬷","鯮","鯼"],ní:["倪","坭","埿","尼","屔","怩","淣","猊","籾","聣","蚭","蜺","觬","貎","跜","輗","郳","鈮","铌","霓","馜","鯢","鲵","麑","齯","𫐐","𫠜"],zhuō:["倬","拙","捉","桌","梲","棁","棳","槕","涿","窧","鐯","䦃"],"wō wēi":["倭"],luǒ:["倮","剆","曪","瘰","癳","臝","蓏","蠃","裸","躶"],sōng:["倯","凇","娀","崧","嵩","庺","憽","松","枀","枩","柗","梥","檧","淞","濍","硹","菘","鬆"],lèng:["倰","堎","愣","睖","踜"],zì:["倳","剚","字","恣","渍","漬","牸","眥","眦","胔","胾","自","茡","荢"],bèn:["倴","坌","捹","撪","渀","笨","逩"],cǎi:["倸","啋","婇","彩","採","棌","毝","睬","綵","跴","踩"],zhài:["债","債","寨","瘵","砦"],yē:["倻","吔","噎","擨","暍","椰","歋","潱","蠮"],shà:["倽","唼","喢","歃","箑","翜","翣","萐","閯","霎"],qīng:["倾","傾","卿","圊","寈","氢","氫","淸","清","蜻","軽","輕","轻","郬","錆","鑋","靑","青","鯖"],yīng:["偀","嘤","噟","嚶","婴","媖","嫈","嬰","孆","孾","愥","撄","攖","朠","桜","樱","櫻","渶","煐","珱","瑛","璎","瓔","甇","甖","碤","礯","緓","纓","绬","缨","罂","罃","罌","膺","英","莺","蘡","蝧","蠳","褮","譻","賏","軈","鑍","锳","霙","韺","鴬","鶑","鶧","鶯","鷪","鷹","鸎","鸚","鹦","鹰","䓨"],"chēng chèn":["偁","爯"],ruǎn:["偄","朊","瑌","瓀","碝","礝","腝","軟","輭","软","阮"],"zhòng tóng":["偅"],chǔn:["偆","惷","睶","萶","蠢","賰"],"jiǎ jià":["假"],"jì jié":["偈"],"bǐng bìng":["偋"],ruò:["偌","叒","嵶","弱","楉","焫","爇","箬","篛","蒻","鄀","鰙","鰯","鶸"],tí:["偍","厗","啼","嗁","崹","漽","瑅","睼","禵","稊","緹","缇","罤","蕛","褆","謕","趧","蹄","蹏","醍","鍗","題","题","騠","鮷","鯷","鳀","鵜","鷤","鹈","𫘨"],wēi:["偎","危","喴","威","媙","嶶","巍","微","愄","揋","揻","椳","楲","溦","烓","煨","燰","癓","縅","葨","葳","薇","蜲","蝛","覣","詴","逶","隇","隈","霺","鰃","鰄","鳂"],piān:["偏","囨","媥","楄","犏","篇","翩","鍂"],yàn:["偐","厌","厭","唁","喭","嚈","嚥","堰","妟","姲","嬊","嬿","宴","彥","彦","敥","晏","暥","曕","曣","滟","灎","灔","灧","灩","焔","焰","焱","熖","燄","牪","猒","砚","硯","艳","艶","艷","覎","觃","觾","諺","讌","讞","谚","谳","豓","豔","贋","贗","赝","軅","酀","酽","醼","釅","雁","餍","饜","騐","験","騴","驗","驠","验","鬳","鳫","鴈","鴳","鷃","鷰","齞"],"tǎng dàng":["偒"],è:["偔","匎","卾","厄","呝","咢","噩","垩","堊","堮","岋","崿","廅","悪","愕","戹","扼","搤","搹","擜","櫮","歞","歺","湂","琧","砈","砐","硆","腭","苊","萼","蕚","蚅","蝁","覨","諤","讍","谔","豟","軛","軶","轭","遌","遏","遻","鄂","鈪","鍔","鑩","锷","阨","阸","頞","顎","颚","餓","餩","饿","鰐","鰪","鱷","鳄","鶚","鹗","齃","齶","𫫇","𥔲"],xié:["偕","勰","协","協","嗋","垥","奊","恊","愶","拹","携","撷","擕","擷","攜","斜","旪","熁","燲","綊","緳","縀","缬","翓","胁","脅","脇","脋","膎","蝢","衺","襭","諧","讗","谐","鞋","鞵","龤","㙦"],chě:["偖","扯","撦"],shěng:["偗","渻","眚"],chā:["偛","嗏","扠","挿","插","揷","疀","臿","艖","銟","鍤","锸","餷"],huáng:["偟","凰","喤","堭","墴","媓","崲","徨","惶","楻","湟","煌","獚","瑝","璜","癀","皇","磺","穔","篁","簧","艎","葟","蝗","蟥","諻","趪","遑","鍠","鐄","锽","隍","韹","餭","騜","鰉","鱑","鳇","鷬","黃","黄","𨱑"],yǎo:["偠","咬","婹","宎","岆","杳","柼","榚","溔","狕","窅","窈","舀","苭","闄","騕","鷕","齩"],"chǒu qiào":["偢"],yóu:["偤","尤","庮","怣","沋","油","浟","游","犹","猶","猷","由","疣","秞","肬","莜","莸","蕕","蚰","蝣","訧","輏","輶","逰","遊","邮","郵","鈾","铀","駀","魷","鮋","鱿","鲉","𬨎"],xū:["偦","墟","媭","嬃","楈","欨","歔","燸","疞","盱","綇","縃","繻","胥","蕦","虗","虚","虛","蝑","裇","訏","許","諝","譃","谞","鑐","需","須","须","顼","驉","鬚","魆","魖","𬣙","𦈡"],zhā:["偧","哳","抯","挓","揸","摣","樝","渣","皶","觰","譇","齄","齇"],cī:["偨","疵","蠀","趀","骴","髊","齹"],bī:["偪","屄","楅","毴","豍","逼","鰏","鲾","鵖"],xún:["偱","噚","寻","尋","峋","巡","廵","循","恂","揗","攳","旬","杊","栒","桪","樳","洵","浔","潯","燅","燖","珣","璕","畃","紃","荀","蟳","詢","询","鄩","鱏","鱘","鲟","𬘓","𬩽","𬍤","𬊈"],"cāi sī":["偲"],duān:["偳","媏","端","褍","鍴"],ǒu:["偶","吘","嘔","耦","腢","蕅","藕","𬉼","𠙶"],tōu:["偷","偸","鍮"],"zán zá zǎ":["偺"],"lǚ lóu":["偻","僂"],fèn:["偾","僨","奋","奮","弅","忿","愤","憤","瀵","瞓","秎","粪","糞","膹","鱝","鲼"],"kuǐ guī":["傀"],sǒu:["傁","叜","叟","嗾","櫢","瞍","薮","藪"],"zhì sī tí":["傂"],sù:["傃","僳","嗉","塐","塑","夙","嫊","愫","憟","榡","樎","樕","殐","泝","涑","溯","溸","潚","潥","玊","珟","璛","簌","粛","粟","素","縤","肃","肅","膆","蔌","藗","觫","訴","謖","诉","谡","趚","蹜","速","遡","遬","鋉","餗","驌","骕","鱐","鷫","鹔","𫗧"],xiā:["傄","煆","瞎","虲","谺","颬","鰕"],"yuàn yuán":["傆","媛"],rǒng:["傇","冗","宂","氄","軵"],nù:["傉","怒"],yùn:["傊","孕","恽","惲","愠","慍","枟","腪","蕴","薀","藴","蘊","褞","貟","运","運","郓","鄆","酝","醖","醞","韗","韞","韵","韻","餫"],"gòu jiǎng":["傋"],mà:["傌","嘜","榪","睰","祃","禡","罵","閁","駡","骂","鬕"],bàng:["傍","塝","棒","玤","稖","艕","蒡","蜯","謗","谤","鎊","镑"],diān:["傎","厧","嵮","巅","巓","巔","掂","攧","敁","槇","滇","癫","癲","蹎","顚","顛","颠","齻"],táng:["傏","唐","啺","坣","堂","塘","搪","棠","榶","溏","漟","煻","瑭","磄","禟","篖","糃","糖","糛","膅","膛","蓎","螗","螳","赯","踼","鄌","醣","鎕","隚","餹","饄","鶶","䣘"],hào:["傐","哠","恏","昊","昦","晧","暠","暤","暭","曍","浩","淏","澔","灏","灝","皓","皜","皞","皡","皥","耗","聕","薃","號","鄗","顥","颢","鰝"],"xī xì":["傒"],shān:["傓","删","刪","剼","圸","山","挻","搧","柵","檆","潸","澘","煽","狦","珊","笘","縿","羴","羶","脠","舢","芟","衫","跚","軕","邖","閊","鯅"],"qiàn jiān":["傔"],"què jué":["傕","埆"],"cāng chen":["傖"],róng:["傛","媶","嫆","嬫","容","峵","嵘","嶸","戎","搈","曧","栄","榕","榮","榵","毧","溶","瀜","烿","熔","狨","瑢","穁","絨","绒","羢","肜","茙","茸","荣","蓉","蝾","融","螎","蠑","褣","鎔","镕","駥"],"tà tàn":["傝"],suō:["傞","唆","嗍","嗦","娑","摍","桫","梭","睃","簑","簔","羧","莏","蓑","趖","鮻"],dǎi:["傣","歹"],zài:["傤","儎","再","在","扗","洅","載","酨"],gǔ:["傦","古","啒","尳","愲","榖","榾","汩","淈","濲","瀔","牯","皷","皼","盬","瞽","穀","罟","羖","股","脵","臌","薣","蛊","蠱","詁","诂","轂","逧","鈷","钴","餶","馉","鼓","鼔","𦙶"],bīn:["傧","宾","彬","斌","椕","滨","濒","濱","濵","瀕","繽","缤","虨","豩","豳","賓","賔","邠","鑌","镔","霦","顮"],chǔ:["储","儲","杵","椘","楚","楮","檚","濋","璴","础","礎","禇","處","齭","齼","𬺓"],nuó:["傩","儺","挪","梛","橠"],"cān càn":["傪"],lěi:["傫","儡","厽","垒","塁","壘","壨","櫐","灅","癗","矋","磊","礨","耒","蕌","蕾","藟","蘽","蠝","誄","讄","诔","鑸","鸓"],cuī:["催","凗","墔","崔","嵟","慛","摧","榱","獕","磪","鏙"],yōng:["傭","嗈","墉","壅","嫞","庸","廱","慵","拥","擁","滽","灉","牅","痈","癕","癰","臃","邕","郺","鄘","鏞","镛","雍","雝","饔","鱅","鳙","鷛"],"zāo cáo":["傮"],sǒng:["傱","嵷","怂","悚","愯","慫","竦","耸","聳","駷","㧐"],ào:["傲","坳","垇","墺","奡","嫯","岙","岰","嶴","懊","擙","澳","鏊","驁","骜"],"qī còu":["傶"],chuǎng:["傸","磢","闖","闯"],shǎ:["傻","儍"],hàn:["傼","垾","悍","憾","扞","捍","撖","撼","旱","晘","暵","汉","涆","漢","瀚","焊","猂","皔","睅","翰","莟","菡","蛿","蜭","螒","譀","輚","釬","銲","鋎","雗","頷","顄","颔","駻","鶾"],zhāng:["傽","嫜","张","張","彰","慞","暲","樟","漳","獐","璋","章","粻","蔁","蟑","遧","鄣","鏱","餦","騿","鱆","麞"],"yān yàn":["傿","墕","嬮"],"piào biāo":["僄","骠"],liàn:["僆","堜","媡","恋","戀","楝","殓","殮","湅","潋","澰","瀲","炼","煉","瑓","練","纞","练","萰","錬","鍊","鏈","链","鰊","𬶠"],màn:["㵘","僈","墁","幔","慢","曼","漫","澷","熳","獌","縵","缦","蔄","蘰","鄤","鏝","镘","𬜬"],"tàn tǎn":["僋"],yíng:["僌","営","塋","嬴","攍","楹","櫿","溁","溋","滢","潆","濙","濚","濴","瀅","瀛","瀠","瀯","灐","灜","熒","營","瑩","盁","盈","禜","籝","籯","縈","茔","荧","莹","萤","营","萦","萾","蓥","藀","蛍","蝇","蝿","螢","蠅","謍","贏","赢","迎","鎣"],dòng:["働","冻","凍","动","動","姛","戙","挏","栋","棟","湩","硐","胨","胴","腖","迵","霘","駧"],zhuàn:["僎","啭","囀","堟","撰","灷","瑑","篆","腞","蒃","襈","譔","饌","馔"],xiàng:["像","勨","向","嚮","姠","嶑","曏","橡","珦","缿","蟓","衖","襐","象","鐌","項","项","鱌"],shàn:["僐","善","墠","墡","嬗","擅","敾","椫","樿","歚","汕","灗","疝","磰","繕","缮","膳","蟮","蟺","訕","謆","譱","讪","贍","赡","赸","鄯","鐥","饍","騸","骟","鱓","鱔","鳝","𫮃"],"tuí tuǐ":["僓"],zǔn:["僔","噂","撙","譐"],pú:["僕","匍","圤","墣","濮","獛","璞","瞨","穙","莆","菐","菩","葡","蒱","蒲","贌","酺","鏷","镤"],láo:["僗","劳","労","勞","哰","崂","嶗","憥","朥","浶","牢","痨","癆","窂","簩","醪","鐒","铹","顟","髝","𫭼"],chǎng:["僘","厰","廠","敞","昶","氅","鋹","𬬮"],guāng:["僙","光","咣","垙","姯","洸","灮","炗","炚","炛","烡","珖","胱","茪","輄","銧","黆","𨐈"],liáo:["僚","嘹","嫽","寥","寮","尞","屪","嵺","嶚","嶛","廫","憀","敹","暸","橑","獠","璙","疗","療","竂","簝","繚","缭","聊","膋","膫","藔","蟟","豂","賿","蹘","辽","遼","飉","髎","鷯","鹩"],dèng:["僜","凳","墱","嶝","櫈","瞪","磴","覴","邓","鄧","隥"],"chán zhàn zhuàn":["僝"],bō:["僠","嶓","拨","撥","播","波","溊","玻","癶","盋","砵","碆","礡","缽","菠","袰","蹳","鉢","钵","餑","饽","驋","鱍","𬭛"],huì:["僡","匯","卉","喙","嘒","嚖","圚","嬒","寭","屶","屷","彗","彙","彚","徻","恚","恵","惠","慧","憓","懳","晦","暳","槥","橞","檅","櫘","汇","泋","滙","潓","烩","燴","獩","璤","瞺","硊","秽","穢","篲","絵","繪","绘","翙","翽","荟","蔧","蕙","薈","薉","蟪","詯","誨","諱","譓","譿","讳","诲","賄","贿","鐬","闠","阓","靧","頮","顪","颒","餯","𬤝","𬭬"],chuǎn:["僢","喘","舛","荈","踳"],"tiě jiàn":["僣"],sēng:["僧","鬙"],xiàn:["僩","僴","哯","垷","塪","姭","娊","宪","岘","峴","憲","撊","晛","橌","橺","涀","瀗","献","獻","现","現","県","睍","粯","糮","絤","綫","線","线","缐","羡","羨","腺","臔","臽","苋","莧","誢","豏","鋧","錎","限","陥","陷","霰","餡","馅","麲","鼸","𬀪","𪾢"],"yù jú":["僪"],"è wū":["僫"],"tóng zhuàng":["僮"],lǐn:["僯","凛","凜","廩","廪","懍","懔","撛","檁","檩","澟","癛","癝"],gù:["僱","凅","固","堌","崓","崮","故","梏","棝","牿","痼","祻","錮","锢","雇","顧","顾","鯝","鲴"],jiāng:["僵","壃","姜","橿","殭","江","畕","疅","礓","繮","缰","翞","茳","葁","薑","螀","螿","豇","韁","鱂","鳉"],mǐn:["僶","冺","刡","勄","悯","惽","愍","慜","憫","抿","敃","敏","敯","泯","潣","皿","笢","笽","簢","蠠","閔","閩","闵","闽","鰵","鳘","黽"],jìn:["僸","凚","噤","嚍","墐","壗","妗","嬧","搢","晉","晋","枃","殣","浕","浸","溍","濅","濜","烬","煡","燼","琎","瑨","璶","盡","祲","縉","缙","荩","藎","覲","觐","賮","贐","赆","近","进","進","靳","齽"],"jià jie":["價"],qiào:["僺","峭","帩","撬","殻","窍","竅","誚","诮","躈","陗","鞩","韒","髚"],pì:["僻","媲","嫓","屁","澼","甓","疈","譬","闢","鷿","鸊","䴙"],sài:["僿","簺","賽","赛"],"chán tǎn shàn":["儃"],"dāng dàng":["儅","当","闣"],xuān:["儇","喧","塇","媗","宣","愃","愋","揎","昍","暄","煊","煖","瑄","睻","矎","禤","箮","翧","翾","萱","萲","蓒","蕿","藼","蘐","蝖","蠉","諠","諼","譞","谖","軒","轩","鍹","駽","鰚","𫓶","𫍽"],"dān dàn":["儋","擔","瘅"],càn:["儏","澯","灿","燦","璨","粲","薒","謲"],"bīn bìn":["儐"],"án àn":["儑"],tái:["儓","坮","嬯","抬","擡","檯","炱","炲","籉","臺","薹","跆","邰","颱","鮐","鲐"],lán:["儖","兰","囒","婪","岚","嵐","幱","拦","攔","斓","斕","栏","欄","欗","澜","瀾","灆","灡","燣","燷","璼","篮","籃","籣","繿","葻","蓝","藍","蘫","蘭","褴","襕","襤","襴","襽","譋","讕","谰","躝","鑭","镧","闌","阑","韊","𬒗"],"nǐ yì ài yí":["儗"],méng:["儚","幪","曚","朦","橗","檬","氋","溕","濛","甍","甿","盟","礞","艨","莔","萌","蕄","虻","蝱","鄳","鄸","霿","靀","顭","饛","鯍","鸏","鹲","𫑡","㠓"],níng:["儜","凝","咛","嚀","嬣","柠","橣","檸","狞","獰","聍","聹","薴","鑏","鬡","鸋"],qióng:["儝","卭","宆","惸","憌","桏","橩","焪","焭","煢","熍","琼","瓊","睘","穷","穹","窮","竆","笻","筇","舼","茕","藑","藭","蛩","蛬","赹","跫","邛","銎","䓖"],liè:["儠","冽","列","劣","劽","埒","埓","姴","峛","巤","挒","捩","栵","洌","浖","烈","烮","煭","犣","猎","猟","獵","聗","脟","茢","蛚","趔","躐","迾","颲","鬛","鬣","鮤","鱲","鴷","䴕","𫚭"],kuǎng:["儣","夼","懭"],bào:["儤","勽","報","忁","报","抱","曓","爆","犦","菢","虣","蚫","豹","鉋","鑤","铇","骲","髱","鮑","鲍"],biāo:["儦","墂","幖","彪","标","標","滮","瀌","熛","爂","猋","瘭","磦","膘","臕","謤","贆","鏢","鑣","镖","镳","颮","颷","飆","飇","飈","飊","飑","飙","飚","驫","骉","髟"],zǎn:["儧","儹","噆","攅","昝","趱","趲"],háo:["儫","嗥","嘷","噑","嚎","壕","椃","毜","毫","濠","獆","獔","竓","籇","蚝","蠔","譹","豪"],qìng:["儬","凊","庆","慶","櫦","濪","碃","磬","罄","靘"],chèn:["儭","嚫","榇","櫬","疢","衬","襯","讖","谶","趁","趂","齓","齔","龀"],téng:["儯","幐","滕","漛","疼","籐","籘","縢","腾","藤","虅","螣","誊","謄","邆","駦","騰","驣","鰧","䲢"],"lǒng lóng lòng":["儱"],"chán chàn":["儳"],"ráng xiāng":["儴","勷"],"huì xié":["儶"],luó:["儸","攞","椤","欏","猡","玀","箩","籮","罗","羅","脶","腡","萝","蘿","螺","覼","逻","邏","鏍","鑼","锣","镙","饠","騾","驘","骡","鸁"],léi:["儽","嫘","檑","欙","瓃","畾","縲","纍","纝","缧","罍","羸","蔂","蘲","虆","轠","鐳","鑘","镭","雷","靁","鱩","鼺"],"nàng nāng":["儾"],"wù wū":["兀"],yǔn:["允","喗","夽","抎","殒","殞","狁","磒","荺","賱","鈗","阭","陨","隕","霣","馻","齫","齳"],zān:["兂","橵","簪","簮","糌","鐕","鐟","鵤"],yuán:["元","円","原","厡","厵","园","圆","圎","園","圓","垣","塬","媴","嫄","援","榞","榬","橼","櫞","沅","湲","源","溒","爰","猨","猿","笎","緣","縁","缘","羱","茒","薗","蝝","蝯","螈","袁","褤","謜","轅","辕","邍","邧","酛","鈨","鎱","騵","魭","鶢","鶰","黿","鼋","𫘪"],xiōng:["兄","兇","凶","匂","匈","哅","忷","恟","汹","洶","胷","胸","芎","訩","詾","讻"],chōng:["充","嘃","忡","憃","憧","摏","沖","浺","珫","罿","翀","舂","艟","茺","衝","蹖","㳘"],zhào:["兆","垗","旐","曌","枛","櫂","照","燳","狣","瞾","笊","罀","罩","羄","肁","肇","肈","詔","诏","赵","趙","鮡","𬶐"],"duì ruì yuè":["兊","兌","兑"],kè:["克","刻","勀","勊","堁","娔","客","恪","愙","氪","溘","碦","緙","缂","艐","衉","課","课","錁","锞","騍","骒"],tù:["兎","兔","堍","迌","鵵"],dǎng:["党","攩","欓","譡","讜","谠","黨","𣗋"],dōu:["兜","兠","唗","橷","篼","蔸"],huǎng:["兤","奛","幌","怳","恍","晄","炾","熀","縨","詤","謊","谎"],rù:["入","嗕","媷","扖","杁","洳","溽","縟","缛","蓐","褥","鳰"],nèi:["內","氝","氞","錗"],"yú shù":["兪"],"liù lù":["六"],han:["兯","爳"],tiān:["兲","天","婖","添","酟","靔","靝","黇"],"xīng xìng":["兴"],diǎn:["典","嚸","奌","婰","敟","椣","点","碘","蒧","蕇","踮","點"],"zī cí":["兹"],jiān:["兼","冿","囏","坚","堅","奸","姦","姧","尖","幵","惤","戋","戔","搛","椾","樫","櫼","歼","殱","殲","湔","瀐","瀸","煎","熞","熸","牋","瑊","睷","礛","礷","笺","箋","緘","縑","缄","缣","肩","艰","艱","菅","菺","葌","蒹","蔪","蕑","蕳","虃","譼","豜","鑯","雃","鞯","韀","韉","餰","馢","鰔","鰜","鰹","鲣","鳒","鵑","鵳","鶼","鹣","麉"],shòu:["兽","受","售","壽","夀","寿","授","狩","獣","獸","痩","瘦","綬","绶","膄"],jì:["兾","冀","剂","剤","劑","勣","坖","垍","塈","妓","季","寂","寄","廭","彑","徛","忌","悸","惎","懻","技","旡","既","旣","暨","暩","曁","梞","檕","檵","洎","漃","漈","瀱","痵","癠","禝","稩","稷","穄","穊","穧","紀","継","績","繋","繼","继","绩","罽","臮","芰","茍","茤","葪","蓟","蔇","薊","蘎","蘮","蘻","裚","襀","覬","觊","計","記","誋","计","记","跡","跽","蹟","迹","际","際","霁","霽","驥","骥","髻","鬾","魝","魥","鯚","鯽","鰶","鰿","鱀","鱭","鲚","鲫","鵋","鷑","齌","𪟝","𬶨","𬶭"],jiōng:["冂","冋","坰","埛","扃","蘏","蘔","駉","駫","𬳶"],mào:["冃","冐","媢","帽","愗","懋","暓","柕","楙","毷","瑁","皃","眊","瞀","耄","茂","萺","蝐","袤","覒","貌","貿","贸","鄚","鄮"],rǎn:["冄","冉","姌","媣","染","珃","苒","蒅","䎃"],"nèi nà":["内"],gāng:["冈","冮","刚","剛","堈","堽","岡","掆","摃","棡","牨","犅","疘","綱","纲","缸","罁","罡","肛","釭","鎠","㭎"],cè:["冊","册","厕","厠","夨","廁","恻","惻","憡","敇","测","測","笧","策","筞","筴","箣","荝","萗","萴","蓛"],guǎ:["冎","剐","剮","叧","寡"],"mào mò":["冒"],gòu:["冓","啂","坸","垢","够","夠","媾","彀","搆","撀","构","構","煹","覯","觏","訽","詬","诟","購","购","遘","雊"],xǔ:["冔","喣","暊","栩","珝","盨","糈","詡","諿","诩","鄦","醑"],mì:["冖","冪","嘧","塓","宻","密","峚","幂","幎","幦","怽","榓","樒","櫁","汨","淧","滵","漞","濗","熐","羃","蔤","蜜","覓","覔","覛","觅","謐","谧","鼏"],"yóu yín":["冘"],xiě:["写","冩","藛"],jūn:["军","君","均","桾","汮","皲","皸","皹","碅","莙","蚐","袀","覠","軍","鈞","銁","銞","鍕","钧","頵","鮶","鲪","麏"],mí:["冞","擟","瀰","爢","猕","獼","祢","禰","縻","蒾","藌","蘪","蘼","袮","詸","謎","迷","醚","醾","醿","釄","镾","鸍","麊","麋","麛"],"guān guàn":["冠","覌","観","觀","观"],měng:["冡","勐","懵","掹","猛","獴","艋","蜢","蠓","錳","锰","鯭","鼆"],zhǒng:["冢","塚","尰","歱","煄","瘇","肿","腫","踵"],zuì:["冣","嶵","晬","最","栬","槜","檇","檌","祽","絊","罪","蕞","辠","酔","酻","醉","錊"],yuān:["冤","剈","囦","嬽","寃","棩","淵","渁","渆","渊","渕","灁","眢","肙","葾","蒬","蜎","蜵","駌","鳶","鴛","鵷","鸢","鸳","鹓","鼘","鼝"],míng:["冥","名","明","暝","朙","榠","洺","溟","猽","眀","眳","瞑","茗","螟","覭","詺","鄍","銘","铭","鳴","鸣"],kòu:["冦","叩","宼","寇","扣","敂","滱","窛","筘","簆","蔲","蔻","釦","鷇"],tài:["冭","太","夳","忲","态","態","汰","汱","泰","溙","肽","舦","酞","鈦","钛"],"féng píng":["冯","馮"],"chōng chòng":["冲"],kuàng:["况","圹","壙","岲","懬","旷","昿","曠","框","況","爌","眖","眶","矿","砿","礦","穬","絋","絖","纊","纩","貺","贶","軦","邝","鄺","鉱","鋛","鑛","黋"],lěng:["冷"],pàn:["冸","判","叛","沜","泮","溿","炍","牉","畔","盼","聁","袢","襻","詊","鋬","鑻","頖","鵥"],fā:["冹","彂","沷","発","發"],xiǎn:["冼","尟","尠","崄","嶮","幰","攇","显","櫶","毨","灦","烍","燹","狝","猃","獫","獮","玁","禒","筅","箲","藓","蘚","蚬","蜆","譣","赻","跣","鍌","险","険","險","韅","顕","顯","㬎"],qià:["冾","圶","帢","恰","殎","洽","硈","胢","髂"],"jìng chēng":["净","凈","淨"],sōu:["凁","嗖","廀","廋","捜","搜","摉","溲","獀","艘","蒐","螋","鄋","醙","鎪","锼","颼","飕","餿","馊","騪"],měi:["凂","媄","媺","嬍","嵄","挴","毎","每","浼","渼","燘","美","躾","鎂","镁","黣"],tú:["凃","図","图","圖","圗","塗","屠","峹","嵞","庩","廜","徒","悇","揬","涂","瘏","筡","腯","荼","蒤","跿","途","酴","鈯","鍎","馟","駼","鵌","鶟","鷋","鷵","𬳿"],zhǔn:["准","凖","埻","準","𬘯"],"liáng liàng":["凉","涼","量"],diāo:["凋","刁","刟","叼","奝","弴","彫","汈","琱","碉","簓","虭","蛁","貂","錭","雕","鮉","鯛","鲷","鵰","鼦"],còu:["凑","湊","腠","輳","辏"],ái:["凒","啀","嘊","捱","溰","癌","皑","皚"],duó:["凙","剫","夺","奪","痥","踱","鈬","鐸","铎"],dú:["凟","匵","嬻","椟","櫝","殰","涜","牍","牘","犊","犢","独","獨","瓄","皾","裻","読","讀","讟","豄","贕","錖","鑟","韇","韣","韥","騳","髑","黩","黷"],"jǐ jī":["几"],fán:["凡","凢","凣","匥","墦","杋","柉","棥","樊","瀿","烦","煩","燔","璠","矾","礬","笲","籵","緐","羳","舤","舧","薠","蘩","蠜","襎","蹯","釩","鐇","鐢","钒","鷭","𫔍","𬸪"],jū:["凥","匊","娵","婮","居","崌","抅","挶","掬","梮","椐","檋","毩","毱","泃","涺","狙","琚","疽","砠","罝","腒","艍","蜛","裾","諊","跔","踘","躹","陱","雎","鞠","鞫","駒","驹","鮈","鴡","鶋","𬶋"],"chù chǔ":["処","处"],zhǐ:["凪","劧","咫","址","坧","帋","恉","扺","指","旨","枳","止","汦","沚","洔","淽","疻","砋","祉","秖","紙","纸","芷","藢","衹","襧","訨","趾","軹","轵","酯","阯","黹"],píng:["凭","凴","呯","坪","塀","岼","帡","帲","幈","平","慿","憑","枰","洴","焩","玶","瓶","甁","竮","箳","簈","缾","荓","萍","蓱","蚲","蛢","評","评","軿","輧","郱","鮃","鲆"],kǎi:["凯","凱","剀","剴","垲","塏","恺","愷","慨","暟","蒈","輆","鍇","鎧","铠","锴","闓","闿","颽"],gān:["凲","坩","尲","尴","尶","尷","柑","泔","漧","玕","甘","疳","矸","竿","筸","粓","肝","苷","迀","酐","魐"],"kǎn qiǎn":["凵"],tū:["凸","堗","嶀","捸","涋","湥","痜","禿","秃","突","葖","鋵","鵚","鼵","㻬"],"āo wā":["凹"],chū:["出","初","岀","摴","榋","樗","貙","齣","䢺","䝙"],dàng:["凼","圵","垱","壋","档","檔","氹","璗","瓽","盪","瞊","砀","碭","礑","簜","荡","菪","蕩","蘯","趤","逿","雼","𬍡"],hán:["函","凾","含","圅","娢","寒","崡","晗","梒","浛","涵","澏","焓","琀","甝","筨","蜬","邗","邯","鋡","韓","韩"],záo:["凿","鑿"],dāo:["刀","刂","忉","氘","舠","螩","釖","魛","鱽"],chuāng:["刅","摐","牎","牕","疮","瘡","窓","窗","窻"],"fēn fèn":["分"],"qiè qiē":["切"],kān:["刊","勘","堪","戡","栞","龕","龛"],cǔn:["刌","忖"],chú:["刍","厨","幮","廚","橱","櫉","櫥","滁","犓","篨","耡","芻","蒢","蒭","蜍","蟵","豠","趎","蹰","躇","躕","鉏","鋤","锄","除","雏","雛","鶵"],"huà huá":["划"],lí:["刕","剓","剺","劙","厘","喱","嚟","囄","嫠","孷","廲","悡","梨","梸","棃","漓","灕","犁","犂","狸","琍","璃","瓈","盠","睝","离","穲","竰","筣","篱","籬","糎","縭","缡","罹","艃","荲","菞","蓠","蔾","藜","蘺","蜊","蟍","蟸","蠫","褵","謧","貍","醨","鋫","錅","鏫","鑗","離","驪","骊","鯏","鯬","鱺","鲡","鵹","鸝","鹂","黎","黧","㰀"],yuè:["刖","嬳","岄","岳","嶽","恱","悅","悦","戉","抈","捳","月","樾","瀹","爚","玥","礿","禴","篗","籆","籥","籰","粤","粵","蘥","蚎","蚏","説","越","跀","跃","躍","軏","鈅","鉞","鑰","钺","閱","閲","阅","鸑","鸙","黦","龠","𫐄","𬸚"],liú:["刘","劉","嚠","媹","嵧","旈","旒","榴","橊","流","浏","瀏","琉","瑠","瑬","璢","畄","留","畱","疁","瘤","癅","硫","蒥","蓅","蟉","裗","鎏","鏐","鐂","镠","飀","飅","飗","駠","駵","騮","驑","骝","鰡","鶹","鹠","麍"],zé:["则","則","啧","嘖","嫧","帻","幘","択","樍","歵","沢","泎","溭","皟","瞔","矠","礋","箦","簀","舴","蔶","蠌","襗","謮","賾","赜","迮","鸅","齚","齰"],"chuàng chuāng":["创","創"],qù:["刞","厺","去","閴","闃","阒","麮","鼁"],"bié biè":["別","别"],"páo bào":["刨"],"chǎn chàn":["刬","剗","幝"],guā:["刮","劀","桰","歄","煱","瓜","胍","踻","颪","颳","騧","鴰","鸹"],gēng:["刯","庚","椩","浭","焿","畊","絚","羮","羹","耕","菮","賡","赓","鶊","鹒"],dào:["到","噵","悼","椡","檤","燾","瓙","盗","盜","稲","稻","纛","翿","艔","菿","衜","衟","軇","道"],chuàng:["刱","剏","剙","怆","愴"],kū:["刳","哭","圐","堀","枯","桍","矻","窟","跍","郀","骷","鮬"],duò:["刴","剁","墯","尮","惰","憜","挅","桗","舵","跥","跺","陊","陏","飿","饳","鵽"],"shuā shuà":["刷"],"quàn xuàn":["券"],"chà shā":["刹","剎"],"cì cī":["刺"],guì:["刽","刿","劊","劌","撌","攰","昋","桂","椢","槶","樻","櫃","猤","禬","筀","蓕","襘","貴","贵","跪","鐀","鑎","鞼","鱖","鱥"],lóu:["剅","娄","婁","廔","楼","樓","溇","漊","熡","耧","耬","艛","蒌","蔞","蝼","螻","謱","軁","遱","鞻","髅","髏","𪣻"],cuò:["剉","剒","厝","夎","挫","措","棤","莝","莡","蓌","逪","銼","錯","锉","错"],"xiāo xuē":["削"],"kēi kè":["剋","尅"],"là lá":["剌"],tī:["剔","梯","踢","銻","锑","鷈","鷉","䏲","䴘"],pōu:["剖"],wān:["剜","塆","壪","帵","弯","彎","湾","潫","灣","睕","蜿","豌"],"bāo bō":["剝","剥"],duō:["剟","咄","哆","嚉","多","夛","掇","毲","畓","裰","㙍"],qíng:["剠","勍","夝","情","擎","晴","暒","棾","樈","檠","氰","甠","硘","葝","黥"],"yǎn shàn":["剡"],"dū zhuó":["剢"],yān:["剦","嫣","崦","嶖","恹","懕","懨","樮","淊","淹","漹","烟","焉","焑","煙","珚","篶","胭","臙","菸","鄢","醃","閹","阉","黫"],huō:["剨","劐","吙","攉","秴","耠","锪","騞","𬴃"],shèng:["剩","剰","勝","圣","墭","嵊","晠","榺","橳","琞","聖","蕂","貹","賸"],"duān zhì":["剬"],wū:["剭","呜","嗚","圬","屋","巫","弙","杇","歍","汙","汚","污","洿","烏","窏","箼","螐","誈","誣","诬","邬","鄔","鎢","钨","鰞","鴮"],gē:["割","哥","圪","彁","戈","戓","戨","歌","滒","犵","肐","袼","謌","鎶","鴚","鴿","鸽"],"dá zhá":["剳"],chuán:["剶","暷","椽","篅","舡","舩","船","輲","遄"],"tuán zhuān":["剸","漙","篿"],"lù jiū":["剹"],pēng:["剻","匉","嘭","怦","恲","抨","梈","烹","砰","軯","駍"],piāo:["剽","勡","慓","旚","犥","翲","螵","飃","飄","飘","魒"],kōu:["剾","彄","抠","摳","眍","瞘","芤","𫸩"],"jiǎo chāo":["剿","劋","勦","摷"],qiāo:["劁","勪","墝","幧","敲","橇","毃","燆","硗","磽","繑","趬","跷","踍","蹺","蹻","郻","鄡","鄥","鍫","鍬","鐰","锹","頝"],"huá huà":["劃"],"zhā zhá":["劄"],"pī pǐ":["劈","悂"],tāng:["劏","嘡","羰","薚","蝪","蹚","鞺","鼞"],chán:["劖","嚵","壥","婵","嬋","巉","廛","棎","毚","湹","潹","潺","澶","瀍","瀺","煘","獑","磛","緾","纏","纒","缠","艬","蝉","蟐","蟬","蟾","誗","讒","谗","躔","鄽","酁","鋋","鑱","镵","饞","馋"],zuān:["劗","躜","躦","鉆","鑚"],mó:["劘","嫫","嬤","嬷","尛","摹","擵","橅","糢","膜","藦","蘑","謨","謩","谟","饃","饝","馍","髍","魔","魹"],zhú:["劚","斸","曯","欘","灟","炢","烛","燭","爥","瘃","竹","笁","笜","舳","茿","蓫","蠋","蠾","躅","逐","逫","钃","鱁"],quàn:["劝","勧","勸","牶","韏"],"jìn jìng":["劤","劲","勁"],kēng:["劥","坑","牼","硁","硜","誙","銵","鍞","鏗","铿","阬"],"xié liè":["劦"],"zhù chú":["助"],nǔ:["努","弩","砮","胬"],shào:["劭","卲","哨","潲","紹","綤","绍","袑","邵"],miǎo:["劰","杪","淼","渺","眇","秒","篎","緲","缈","藐","邈"],kǒu:["劶","口"],wā:["劸","娲","媧","屲","挖","攨","洼","溛","漥","瓾","畖","穵","窊","窪","蛙","韈","鼃"],kuāng:["劻","匡","匩","哐","恇","洭","筐","筺","誆","诓","軭","邼"],hé:["劾","咊","啝","姀","峆","敆","曷","柇","楁","毼","河","涸","渮","澕","熆","皬","盇","盉","盍","盒","禾","篕","籺","粭","翮","菏","萂","覈","訸","詥","郃","釛","鉌","鑉","閡","闔","阂","阖","鞨","頜","餄","饸","魺","鹖","麧","齕","龁","龢","𬌗"],gào:["勂","吿","告","峼","祮","祰","禞","筶","誥","诰","郜","鋯","锆"],"bó bèi":["勃"],láng:["勆","嫏","廊","斏","桹","榔","樃","欴","狼","琅","瑯","硠","稂","艆","蓈","蜋","螂","躴","郒","郞","鋃","鎯","锒"],xūn:["勋","勛","勲","勳","嚑","坃","埙","塤","壎","壦","曛","燻","獯","矄","纁","臐","薫","薰","蘍","醺","𫄸"],"juàn juān":["勌","瓹"],"lè lēi":["勒"],kài:["勓","炌","烗","鎎"],"wěng yǎng":["勜"],qín:["勤","嗪","噙","嶜","庈","懃","懄","捦","擒","斳","檎","澿","珡","琴","琹","瘽","禽","秦","耹","芩","芹","菦","螓","蠄","鈙","鈫","雂","靲","鳹","鵭"],jiàng:["勥","匞","匠","嵹","弜","弶","摾","櫤","洚","滰","犟","糡","糨","絳","绛","謽","酱","醤","醬"],fān:["勫","嬏","帆","幡","忛","憣","旙","旛","繙","翻","藩","轓","颿","飜","鱕"],juān:["勬","姢","娟","捐","涓","蠲","裐","鎸","鐫","镌","鹃"],"tóng dòng":["勭","烔","燑","狪"],lǜ:["勴","垏","嵂","律","慮","氯","滤","濾","爈","箻","綠","繂","膟","葎","虑","鑢"],chè:["勶","坼","彻","徹","掣","撤","澈","烢","爡","瞮","硩","聅","迠","頙","㬚"],sháo:["勺","玿","韶"],"gōu gòu":["勾"],cōng:["匆","囪","囱","忩","怱","悤","暰","樬","漗","瑽","璁","瞛","篵","繱","聡","聦","聪","聰","苁","茐","葱","蓯","蔥","蟌","鍯","鏓","鏦","騘","驄","骢"],"táo yáo":["匋","陶"],páo:["匏","咆","垉","庖","爮","狍","袍","褜","軳","鞄","麅"],dá:["匒","妲","怛","炟","燵","畣","笪","羍","荙","薘","蟽","詚","达","迏","迖","迚","逹","達","鐽","靼","鞑","韃","龖","龘","𫟼"],"huà huā":["化"],"běi bèi":["北"],nǎo:["匘","垴","堖","嫐","恼","悩","惱","瑙","碯","脑","脳","腦"],"chí shi":["匙"],fāng:["匚","堏","方","淓","牥","芳","邡","鈁","錺","钫","鴋"],zā:["匝","咂","帀","沞","臜","臢","迊","鉔","魳"],qiè:["匧","厒","妾","怯","悏","惬","愜","挈","穕","窃","竊","笡","箧","篋","籡","踥","鍥","锲","鯜"],"zāng cáng":["匨"],fěi:["匪","奜","悱","棐","榧","篚","翡","蕜","誹","诽"],"kuì guì":["匮","匱"],suǎn:["匴"],pǐ:["匹","噽","嚭","圮","庀","痞","癖","脴","苉","銢","鴄"],"qū ōu":["区","區"],"kē qià":["匼"],"yǎn yàn":["匽","棪"],biǎn:["匾","惼","揙","碥","稨","窆","藊","褊","貶","贬","鴘"],nì:["匿","堄","嫟","嬺","惄","愵","昵","暱","氼","眤","睨","縌","胒","腻","膩","逆","𨺙"],niàn:["卄","唸","埝","廿","念","惗","艌"],sà:["卅","櫒","脎","萨","蕯","薩","鈒","隡","颯","飒","馺"],zú:["卆","哫","崪","族","箤","足","踤","镞"],shēng:["升","呏","声","斘","昇","曻","枡","殅","泩","湦","焺","牲","珄","生","甥","竔","笙","聲","鉎","鍟","阩","陞","陹","鵿","鼪"],wàn:["卍","卐","忨","杤","瞣","脕","腕","萬","蟃","贎","輐","錽","𬇕"],"huá huà huā":["华","華"],bēi:["卑","悲","揹","杯","桮","盃","碑","藣","鵯","鹎"],"zú cù":["卒"],"dān shàn chán":["单","單"],"nán nā":["南"],"shuài lǜ":["卛"],"bǔ bo pú":["卜"],"kuàng guàn":["卝"],biàn:["卞","变","変","峅","弁","徧","忭","抃","昪","汳","汴","玣","艑","苄","覍","諚","變","辡","辧","辨","辩","辫","辮","辯","遍","釆","𨚕"],bǔ:["卟","哺","捕","补","補","鸔","𬷕"],"zhàn zhān":["占","覱"],"kǎ qiǎ":["卡"],lú:["卢","嚧","垆","壚","庐","廬","曥","枦","栌","櫨","泸","瀘","炉","爐","獹","玈","瓐","盧","矑","籚","纑","罏","胪","臚","舮","舻","艫","芦","蘆","蠦","轤","轳","鈩","鑪","顱","颅","馿","髗","魲","鱸","鲈","鸕","鸬","黸","𬬻"],lǔ:["卤","塷","掳","擄","樐","橹","櫓","氌","滷","澛","瀂","硵","磠","穞","艣","艪","蓾","虏","虜","鏀","鐪","鑥","镥","魯","鲁","鹵"],guà:["卦","啩","挂","掛","罣","褂","詿","诖"],"áng yǎng":["卬"],yìn:["印","垽","堷","廕","慭","憖","憗","懚","洕","湚","猌","癊","胤","茚","酳","鮣","䲟"],què:["却","卻","塙","崅","悫","愨","慤","搉","榷","燩","琷","皵","确","確","礭","闋","阕","鵲","鹊","𬒈"],luǎn:["卵"],"juàn juǎn":["卷","巻"],"chǎng ān hàn":["厂"],"wěi yán":["厃"],tīng:["厅","厛","听","庁","廰","廳","汀","烃","烴","綎","耓","聴","聼","聽","鞓","𬘩"],"zhé zhái":["厇"],"hàn àn":["厈","屽"],yǎ:["厊","唖","庌","痖","瘂","蕥"],shè:["厍","厙","弽","慑","慴","懾","摂","欇","涉","涻","渉","滠","灄","社","舎","蔎","蠂","設","设","赦","騇","麝"],dǐ:["厎","呧","坘","弤","抵","拞","掋","牴","砥","菧","觝","詆","诋","軧","邸","阺","骶","鯳"],"zhǎ zhǎi":["厏"],páng:["厐","嫎","庞","徬","舽","螃","逄","鰟","鳑","龎","龐"],"zhì shī":["厔"],máng:["厖","吂","哤","娏","忙","恾","杗","杧","汒","浝","牻","痝","盲","硭","笀","芒","茫","蘉","邙","釯","鋩","铓","駹"],zuī:["厜","樶","纗","蟕"],"shà xià":["厦","廈"],áo:["厫","嗷","嗸","廒","敖","滶","獒","獓","璈","翱","翶","翺","聱","蔜","螯","謷","謸","遨","鏖","隞","鰲","鳌","鷔","鼇"],"lán qiān":["厱"],"sī mǒu":["厶"],"gōng hóng":["厷"],"lín miǎo":["厸"],"qiú róu":["厹"],dū:["厾","嘟","督","醏"],"xiàn xuán":["县","縣"],"cān shēn cēn sān":["参","參","叄","叅"],"ài yǐ":["叆"],"chā chà chǎ chá":["叉"],shuāng:["双","孀","孇","欆","礵","艭","雙","霜","騻","驦","骦","鷞","鸘","鹴"],shōu:["収","收"],guái:["叏"],bá:["叐","妭","抜","拔","炦","癹","胈","茇","菝","詙","跋","軷","魃","鼥"],"fā fà":["发"],"zhuó yǐ lì jué":["叕"],qǔ:["取","娶","竬","蝺","詓","齲","龋"],"jiǎ xiá":["叚","徦"],"wèi yù":["叞","尉","蔚"],dié:["叠","垤","堞","峌","幉","恎","惵","戜","曡","殜","氎","牃","牒","瓞","畳","疂","疉","疊","碟","絰","绖","耊","耋","胅","艓","苵","蜨","蝶","褋","詄","諜","谍","跮","蹀","迭","镻","鰈","鲽","鴩","𫶇"],ruì:["叡","枘","汭","瑞","睿","芮","蚋","蜹","銳","鋭","锐"],"jù gōu":["句"],lìng:["另","呤","炩","蘦"],"dāo dáo tāo":["叨"],"zhī zhǐ":["只"],jiào:["叫","呌","嘂","嘦","噍","嬓","斍","斠","滘","漖","獥","珓","皭","窖","藠","訆","譥","趭","較","轎","轿","较","酵","醮","釂"],"zhào shào":["召"],"kě kè":["可"],"tái tāi":["台","苔"],pǒ:["叵","尀","笸","箥","鉕","钷","駊"],"yè xié":["叶"],"hào háo":["号"],tàn:["叹","嘆","探","歎","湠","炭","碳","舕"],"hōng hóng":["叿"],miē:["吀","咩","哶","孭"],"xū yū yù":["吁"],chī:["吃","哧","喫","嗤","噄","妛","媸","彨","彲","摛","攡","殦","瓻","痴","癡","眵","瞝","笞","粚","胵","蚩","螭","訵","魑","鴟","鵄","鸱","黐","齝","𫄨"],"xuān sòng":["吅"],yāo:["吆","喓","夭","妖","幺","楆","殀","祅","腰","葽","訞","邀","鴁","鴢","㙘"],zǐ:["吇","姉","姊","子","杍","梓","榟","橴","滓","矷","秭","笫","籽","紫","耔","虸","訿","釨"],"hé gě":["合","鲄"],"cùn dòu":["吋"],"tóng tòng":["同"],"tǔ tù":["吐","唋"],"zhà zhā":["吒","奓"],"xià hè":["吓"],"ā yā":["吖"],"ma má mǎ":["吗"],lìn:["吝","恡","悋","橉","焛","甐","膦","蔺","藺","賃","赁","蹸","躏","躙","躪","轥","閵"],tūn:["吞","暾","朜","焞"],"bǐ pǐ":["吡"],qìn:["吢","吣","唚","抋","揿","搇","撳","沁","瀙","菣","藽"],"jiè gè":["吤"],"fǒu pǐ":["否"],"ba bā":["吧"],dūn:["吨","噸","墩","墪","惇","撉","撴","犜","獤","礅","蜳","蹾","驐"],fēn:["吩","帉","昐","朆","梤","棻","氛","竕","紛","纷","翂","芬","衯","訜","躮","酚","鈖","雰","餴","饙","馚"],"é huā":["吪"],"kēng háng":["吭","妔"],shǔn:["吮"],"zhī zī":["吱"],"yǐn shěn":["吲"],wú:["吳","吴","呉","墲","峿","梧","橆","毋","洖","浯","無","珸","璑","祦","芜","茣","莁","蕪","蜈","蟱","譕","郚","鋙","铻","鯃","鵐","鷡","鹀","鼯"],"chǎo chāo":["吵"],"nà nè":["吶"],"xuè chuò jué":["吷"],chuī:["吹","炊","龡"],"dōu rú":["吺"],hǒu:["吼","犼"],"hōng hǒu ōu":["吽"],"wú yù":["吾"],"ya yā":["呀"],"è e":["呃"],dāi:["呆","懛","獃"],"mèn qǐ":["呇"],hōng:["呍","嚝","揈","灴","烘","焢","硡","薨","訇","谾","軣","輷","轟","轰","鍧"],nà:["呐","捺","笝","納","纳","肭","蒳","衲","豽","貀","軜","郍","鈉","钠","靹","魶"],"tūn tiān":["呑"],"fǔ ḿ":["呒","嘸"],"dāi tǎi":["呔"],"ǒu ōu òu":["呕"],"bài bei":["呗"],"yuán yún yùn":["员","員"],guō:["呙","啯","嘓","埚","堝","墎","崞","彉","彍","懖","猓","瘑","聒","蝈","蟈","郭","鈛","鍋","锅"],"huá qì":["呚"],"qiàng qiāng":["呛","跄"],shī:["呞","失","尸","屍","师","師","施","浉","湤","湿","溮","溼","濕","狮","獅","瑡","絁","葹","蒒","蓍","虱","蝨","褷","襹","詩","诗","邿","釃","鉇","鍦","鯴","鰤","鲺","鳲","鳾","鶳","鸤","䴓","𫚕"],juǎn:["呟","埍","臇","菤","錈","锩"],pěn:["呠","翸"],"wěn mǐn":["呡"],"ne ní":["呢"],"ḿ m̀ móu":["呣"],rán:["呥","嘫","然","燃","繎","肰","蚦","蚺","衻","袇","袡","髥","髯"],"tiè chè":["呫"],"qì zhī":["呮"],"zǐ cī":["呰"],"guā gū guǎ":["呱"],"cī zī":["呲"],"hǒu xǔ gòu":["呴"],"hē ā á ǎ à a":["呵"],náo:["呶","夒","峱","嶩","巎","挠","撓","猱","硇","蛲","蟯","詉","譊","鐃","铙"],"xiā gā":["呷"],pēi:["呸","怌","肧","胚","衃","醅"],"háo xiāo":["呺"],mìng:["命","掵"],"dá dàn":["呾"],"zuǐ jǔ":["咀"],"xián gān":["咁"],pǒu:["咅","哣","犃"],"yǎng yāng":["咉"],"zǎ zé zhā":["咋"],"hé hè huó huò hú":["和"],hāi:["咍"],dā:["咑","哒","噠","墶","搭","撘","耷","褡","鎝","𨱏"],"kǎ kā":["咔"],gū:["咕","唂","唃","姑","嫴","孤","巬","巭","柧","橭","沽","泒","稒","笟","箍","箛","篐","罛","苽","菇","菰","蓇","觚","軱","軲","轱","辜","酤","鈲","鮕","鴣","鸪"],"kā gā":["咖"],zuo:["咗"],lóng:["咙","嚨","嶐","巃","巄","昽","曨","朧","栊","槞","櫳","湰","滝","漋","爖","珑","瓏","癃","眬","矓","砻","礱","礲","窿","竜","聋","聾","胧","茏","蘢","蠪","蠬","襱","豅","鏧","鑨","霳","靇","驡","鸗","龍","龒","龙"],"xiàn xián":["咞"],qì:["咠","唭","噐","器","夡","弃","憇","憩","暣","棄","欫","气","気","氣","汔","汽","泣","湆","湇","炁","甈","盵","矵","碛","碶","磜","磧","罊","芞","葺","藒","蟿","訖","讫","迄","鐑"],"xì dié":["咥"],"liē liě lié lie":["咧"],zī:["咨","嗞","姕","姿","孜","孳","孶","崰","嵫","栥","椔","淄","湽","滋","澬","玆","禌","秶","粢","紎","緇","緕","纃","缁","茊","茲","葘","諮","谘","貲","資","赀","资","赼","趑","趦","輜","輺","辎","鄑","鈭","錙","鍿","鎡","锱","镃","頾","頿","髭","鯔","鰦","鲻","鶅","鼒","齍","齜","龇"],mī:["咪"],"jī xī qià":["咭"],"gē luò kǎ lo":["咯"],"shù xún":["咰"],"zán zá zǎ zan":["咱"],"hāi ké":["咳"],huī:["咴","噅","噕","婎","媈","幑","徽","恢","拻","挥","揮","晖","暉","楎","洃","瀈","灰","灳","烣","睳","禈","翚","翬","蘳","袆","褘","詼","诙","豗","輝","辉","鰴","麾","㧑"],"huài shì":["咶"],táo:["咷","啕","桃","檮","洮","淘","祹","綯","绹","萄","蜪","裪","迯","逃","醄","鋾","鞀","鞉","饀","駣","騊","鼗","𫘦"],xián:["咸","啣","娴","娹","婱","嫌","嫺","嫻","弦","挦","撏","涎","湺","澖","甉","痫","癇","癎","絃","胘","舷","藖","蚿","蛝","衔","衘","誸","諴","賢","贒","贤","輱","醎","銜","鑦","閑","闲","鷳","鷴","鷼","鹇","鹹","麙","𫍯"],"è àn":["咹"],"xuān xuǎn":["咺","烜"],"wāi hé wǒ guǎ guō":["咼"],"yàn yè yān":["咽"],āi:["哀","哎","埃","溾","銰","鎄","锿"],pǐn:["品","榀"],shěn:["哂","婶","嬸","审","宷","審","弞","曋","渖","瀋","瞫","矤","矧","覾","訠","諗","讅","谂","谉","邥","頣","魫"],"hǒng hōng hòng":["哄"],"wā wa":["哇"],"hā hǎ hà":["哈"],zāi:["哉","栽","渽","溨","災","灾","烖","睵","賳"],"dì diè":["哋"],pài:["哌","沠","派","渒","湃","蒎","鎃"],"gén hěn":["哏"],"yǎ yā":["哑","雅"],"yuě huì":["哕","噦"],nián:["哖","年","秊","秥","鮎","鯰","鲇","鲶","鵇","黏"],"huá huā":["哗","嘩"],"jì jiē zhāi":["哜","嚌"],mōu:["哞"],"yō yo":["哟","喲"],lòng:["哢","梇","贚"],"ò ó é":["哦"],"lī lǐ li":["哩"],"nǎ na nǎi né něi":["哪"],hè:["哬","垎","壑","寉","惒","焃","煂","燺","爀","癋","碋","翯","褐","謞","賀","贺","赫","靍","靎","靏","鶴","鸖","鹤"],"bō pò bā":["哱"],zhé:["哲","啠","喆","嚞","埑","悊","摺","晢","晣","歽","矺","砓","磔","籷","粍","虴","蛰","蟄","袩","詟","謫","謺","讁","讋","谪","輒","輙","轍","辄","辙","鮿"],"liàng láng":["哴"],"liè lǜ":["哷"],hān:["哻","憨","蚶","谽","酣","頇","顸","馠","魽","鼾"],"hēng hng":["哼"],gěng:["哽","埂","峺","挭","梗","綆","绠","耿","莄","郠","骾","鯁","鲠","𬒔"],"chuò yuè":["哾"],"gě jiā":["哿"],"bei bài":["唄"],"hán hàn":["唅"],chún:["唇","浱","湻","滣","漘","犉","純","纯","脣","莼","蒓","蓴","醇","醕","錞","陙","鯙","鶉","鹑","𬭚"],"ài āi":["唉"],"jiá qiǎn":["唊"],"yán dàn xián":["唌"],chē:["唓","砗","硨","莗","蛼"],"wú ńg ń":["唔"],zào:["唕","唣","噪","慥","梍","灶","煰","燥","皁","皂","竃","竈","簉","艁","譟","趮","躁","造","𥖨"],dí:["唙","啇","嘀","嚁","嫡","廸","敌","敵","梑","涤","滌","狄","笛","籴","糴","苖","荻","蔋","蔐","藡","覿","觌","豴","迪","靮","頔","馰","髢","鸐","𬱖"],"gòng hǒng gǒng":["唝","嗊"],dóu:["唞"],"lào láo":["唠","嘮","憦"],huàn:["唤","喚","奂","奐","宦","嵈","幻","患","愌","换","換","擐","攌","梙","槵","浣","涣","渙","漶","澣","烉","焕","煥","瑍","痪","瘓","睆","肒","藧","豢","轘","逭","鯇","鯶","鰀","鲩"],léng:["唥","塄","楞","碐","薐"],"wō wěi":["唩"],fěng:["唪","覂","諷","讽"],"yín jìn":["唫"],"hǔ xià":["唬"],wéi:["唯","围","圍","壝","峗","峞","嵬","帏","帷","幃","惟","桅","沩","洈","涠","湋","溈","潍","潙","潿","濰","犩","矀","維","维","蓶","覹","违","違","鄬","醀","鍏","闈","闱","韋","韦","鮠","𣲗","𬶏"],shuā:["唰"],chàng:["唱","怅","悵","暢","焻","畅","畼","誯","韔","鬯"],"ér wā":["唲"],qiàng:["唴","炝","熗","羻"],yō:["唷"],yū:["唹","淤","瘀","盓","箊","紆","纡","込","迂","迃","陓"],lài:["唻","濑","瀨","瀬","癞","癩","睐","睞","籁","籟","藾","賚","賴","赉","赖","頼","顂","鵣"],tuò:["唾","嶞","柝","毤","毻","箨","籜","萚","蘀","跅"],"zhōu zhāo tiào":["啁"],kěn:["啃","垦","墾","恳","懇","肎","肯","肻","豤","錹"],"zhuó zhào":["啅","濯"],"hēng hèng":["啈","悙"],"lín lán":["啉"],"a ā á ǎ à":["啊"],qiāng:["啌","嗴","嶈","戕","摤","斨","枪","槍","溬","牄","猐","獇","羌","羗","腔","蜣","謒","鏘","锖","锵"],"tūn zhūn xiāng duǐ":["啍"],wèn:["問","妏","揾","搵","璺","问","顐"],"cuì qi":["啐"],"dié shà jié tì":["啑"],"yuē wā":["啘"],"zǐ cǐ":["啙"],"bǐ tú":["啚"],"chuò chuài":["啜"],"yǎ yā è":["啞"],fēi:["啡","婓","婔","扉","暃","渄","猆","緋","绯","裶","霏","非","靟","飛","飝","飞","餥","馡","騑","騛","鯡","鲱","𬴂"],pí:["啤","壀","枇","毗","毘","焷","琵","疲","皮","篺","罴","羆","脾","腗","膍","蚍","蚽","蜱","螷","蠯","豼","貔","郫","鈹","阰","陴","隦","魮","鮍","鲏","鵧","鼙"],shá:["啥"],"lā la":["啦"],"yīng qíng":["啨"],pā:["啪","妑","舥","葩","趴"],"zhě shì":["啫"],sè:["啬","嗇","懎","擌","栜","歮","涩","渋","澀","澁","濇","濏","瀒","瑟","璱","瘷","穑","穡","穯","繬","譅","轖","銫","鏼","铯","飋"],niè:["啮","嗫","噛","嚙","囁","囓","圼","孼","孽","嵲","嶭","巕","帇","敜","枿","槷","櫱","涅","湼","痆","篞","籋","糱","糵","聂","聶","臬","臲","蘖","蠥","讘","踂","踗","踙","蹑","躡","錜","鎳","鑈","鑷","钀","镊","镍","闑","陧","隉","顳","颞","齧","𫔶"],"luō luó luo":["啰","囉"],"tān chǎn tuō":["啴"],bo:["啵","蔔"],dìng:["啶","定","椗","矴","碇","碠","磸","聢","腚","萣","蝊","訂","订","錠","锭","顁","飣","饤"],lāng:["啷"],"án ān":["啽"],kā:["喀","擖"],"yóng yú":["喁"],"lā lá lǎ":["喇"],jiē:["喈","喼","嗟","堦","媘","接","掲","擑","湝","煯","疖","痎","癤","皆","秸","稭","脻","蝔","街","謯","阶","階","鞂","鶛"],hóu:["喉","帿","猴","瘊","睺","篌","糇","翭","葔","鄇","鍭","餱","骺","鯸","𬭤"],"dié zhá":["喋"],wāi:["喎","歪","竵"],"nuò rě":["喏"],"xù huò guó":["喐"],zán:["喒"],"wō ō":["喔"],hú:["喖","嘝","囫","壶","壷","壺","媩","弧","搰","斛","楜","槲","湖","瀫","焀","煳","狐","猢","瑚","瓳","箶","絗","縠","胡","葫","蔛","蝴","螜","衚","觳","醐","鍸","頶","餬","鬍","魱","鰗","鵠","鶘","鶦","鹕"],"huàn yuán xuǎn hé":["喛"],xǐ:["喜","囍","壐","屣","徙","憙","枲","橲","歖","漇","玺","璽","矖","禧","縰","葈","葸","蓰","蟢","謑","蹝","躧","鈢","鉨","鉩","鱚","𬭳","𬶮"],"hē hè yè":["喝"],kuì:["喟","嘳","媿","嬇","愦","愧","憒","篑","簣","籄","聩","聭","聵","膭","蕢","謉","餽","饋","馈"],"zhǒng chuáng":["喠"],"wéi wèi":["喡","為","爲"],"duó zhà":["喥"],"sāng sàng":["喪"],"qiáo jiāo":["喬"],"pèn bēn":["喯"],"cān sūn qī":["喰"],"zhā chā":["喳"],miāo:["喵"],"pēn pèn":["喷"],kuí:["喹","夔","奎","巙","戣","揆","晆","暌","楏","楑","櫆","犪","睽","葵","藈","蘷","虁","蝰","躨","逵","鄈","鍨","鍷","頯","馗","騤","骙","魁"],"lou lóu":["喽"],"zào qiāo":["喿"],"hè xiāo xiào hù":["嗃"],"á shà":["嗄"],xiù:["嗅","岫","峀","溴","珛","琇","璓","秀","綉","繍","繡","绣","螑","袖","褎","褏","銹","鏥","鏽","锈","齅"],"qiāng qiàng":["嗆","戗","戧","蹌","蹡"],"ài yì":["嗌","艾"],"má mǎ ma":["嗎"],"kè kē":["嗑"],"dā tà":["嗒","鎉"],sǎng:["嗓","搡","磉","褬","鎟","顙","颡"],chēn:["嗔","抻","琛","瞋","諃","謓","賝","郴","𬘭"],"wā gǔ":["嗗"],"pǎng bēng":["嗙"],"xián qiǎn qiān":["嗛"],lào:["嗠","嫪","橯","涝","澇","耢","耮","躼","軂","酪"],wēng:["嗡","翁","聬","螉","鎓","鶲","鹟","𬭩"],wà:["嗢","腽","膃","袜","襪","韤"],"hēi hāi":["嗨"],hē:["嗬","欱","蠚","訶","诃"],zi:["嗭"],sǎi:["嗮"],"ǹg ńg ňg":["嗯"],gě:["嗰","舸"],ná:["嗱","拏","拿","鎿","镎"],diǎ:["嗲"],"ài ǎi āi":["嗳"],tōng:["嗵","樋","炵","蓪"],"zuī suī":["嗺"],"zhē zhè zhù zhe":["嗻"],mò:["嗼","圽","塻","墨","妺","嫼","寞","帞","昩","末","枺","歿","殁","沫","漠","爅","獏","瘼","皌","眽","眿","瞐","瞙","砞","礳","秣","絈","纆","耱","茉","莈","蓦","蛨","蟔","貃","貊","貘","銆","鏌","镆","陌","靺","驀","魩","默","黙","𬙊"],sòu:["嗽","瘶"],tǎn:["嗿","坦","忐","憳","憻","暺","毯","璮","菼","袒","襢","醓","鉭","钽"],"jiào dǎo":["嘄"],"kǎi gě":["嘅"],"shān càn":["嘇"],cáo:["嘈","嶆","曹","曺","槽","漕","艚","蓸","螬","褿","鏪","𥕢"],piào:["嘌","徱","蔈","驃"],"lóu lou":["嘍"],gǎ:["尕","玍"],"gǔ jiǎ":["嘏"],"jiāo xiāo":["嘐"],"xū shī":["嘘","噓"],pó:["嘙","嚩","婆","櫇","皤","鄱"],"dē dēi":["嘚"],"ma má":["嘛"],"lē lei":["嘞"],"gā gá gǎ":["嘠"],sāi:["嘥","噻","毢","腮","顋","鰓"],"zuō chuài":["嘬"],"cháo zhāo":["嘲","朝","鼂"],zuǐ:["嘴","噿","嶊","璻"],"qiáo qiào":["嘺","翹","谯"],"chù xù shòu":["嘼"],"tān chǎn":["嘽"],"dàn tán":["嘾","弾","彈","惔","澹"],"hēi mò":["嘿"],ě:["噁","砨","頋","騀","鵈"],"fān bo":["噃"],chuáng:["噇","床","牀"],"cù zā hé":["噈"],"tūn kuò":["噋"],"cēng chēng":["噌"],dēng:["噔","嬁","灯","燈","璒","登","竳","簦","艠","豋"],pū:["噗","扑","撲","攴","攵","潽","炇","陠"],juē:["噘","屩","屫","撧"],lū:["噜","嚕","撸","擼","謢"],zhān:["噡","岾","惉","旃","旜","枬","栴","毡","氈","氊","沾","瞻","薝","蛅","詀","詹","譫","谵","趈","邅","閚","霑","飦","饘","驙","魙","鱣","鸇","鹯","𫗴"],ō:["噢"],"zhòu zhuó":["噣"],"jiào qiào chī":["噭"],yuàn:["噮","妴","怨","愿","掾","瑗","禐","苑","衏","裫","褑","院","願"],"ǎi ài āi":["噯"],"yōng yǒng":["噰","澭"],"jué xué":["噱"],"pēn pèn fèn":["噴"],gá:["噶","尜","釓","錷","钆"],"xīn hěn hèn":["噷"],dāng:["噹","澢","珰","璫","筜","簹","艡","蟷","裆","襠"],làn:["嚂","滥","濫","烂","燗","爁","爛","爤","瓓","糷","钄"],tà:["嚃","嚺","崉","挞","搨","撻","榻","橽","毾","涾","澾","濌","禢","粏","誻","譶","蹋","蹹","躂","躢","遝","錔","闒","闥","闼","阘","鞜","鞳"],"huō huò ǒ":["嚄"],hāo:["嚆","茠","蒿","薅"],"hè xià":["嚇"],"xiù pì":["嚊"],"zhōu chóu":["嚋","盩","诪"],mē:["嚒"],"chā cā":["嚓"],"bó pào bào":["嚗"],"me mèi mò":["嚜"],"xié hái":["嚡"],"áo xiāo":["嚣"],mō:["嚤","摸"],pín:["嚬","娦","嫔","嬪","玭","矉","薲","蠙","貧","贫","顰","颦","𬞟"],mè:["嚰","濹"],"rǎng rāng":["嚷"],lá:["嚹","旯"],"jiáo jué jiào":["嚼"],chuò:["嚽","娖","擉","歠","涰","磭","踀","輟","辍","辵","辶","酫","鑡","餟","齪","龊"],"huān huàn":["嚾"],"zá cà":["囃"],chài:["囆","虿","蠆","袃","訍"],"náng nāng":["囊"],"zá zàn cān":["囋"],sū:["囌","櫯","甦","稣","穌","窣","蘇","蘓","酥","鯂"],zèng:["囎","熷","甑","贈","赠","鋥","锃"],"zá niè yàn":["囐"],nāng:["囔"],"luó luō luo":["囖"],"wéi guó":["囗"],huí:["囘","回","囬","廻","廽","恛","洄","痐","茴","蚘","蛔","蛕","蜖","迴","逥","鮰"],nín:["囜","您","脌"],"jiǎn nān":["囝"],nān:["囡"],tuán:["团","団","團","慱","抟","摶","檲","糰","鏄","鷒","鷻"],"tún dùn":["囤","坉"],guó:["囯","囶","囻","国","圀","國","帼","幗","慖","摑","漍","聝","腘","膕","蔮","虢","馘","𬇹"],kùn:["困","涃","睏"],"wéi tōng":["囲"],qūn:["囷","夋","逡"],rì:["囸","日","衵","鈤","馹","驲"],tāi:["囼","孡","胎"],pǔ:["圃","圑","擈","普","暜","樸","檏","氆","浦","溥","烳","諩","譜","谱","蹼","鐠","镨"],"quān juàn juān":["圈","圏"],"chuí chuán":["圌"],tuǎn:["圕","畽","疃"],lüè:["圙","掠","略","畧","稤","鋝","鋢","锊","䂮"],"huán yuán":["圜"],luán:["圝","圞","奱","娈","孌","孪","孿","峦","巒","挛","攣","曫","栾","欒","滦","灤","癴","癵","羉","脔","臠","虊","銮","鑾","鵉","鸞","鸾"],tǔ:["土","圡","釷","钍"],"xū wéi":["圩"],"dì de":["地","嶳"],"qiān sú":["圱"],zhèn:["圳","塦","挋","振","朕","栚","甽","眹","紖","絼","纼","誫","賑","赈","鋴","鎭","鎮","镇","阵","陣","震","鴆","鸩"],"chǎng cháng":["场","場","塲"],"qí yín":["圻"],jiá:["圿","忦","恝","戞","扴","脥","荚","莢","蛱","蛺","裌","跲","郏","郟","鋏","铗","頬","頰","颊","鴶","鵊"],"zhǐ zhì":["坁"],bǎn:["坂","岅","昄","板","版","瓪","粄","舨","蝂","鈑","钣","阪","魬"],qǐn:["坅","寑","寝","寢","昑","梫","笉","螼","赾","鋟","锓"],"méi fén":["坆"],"rǒng kēng":["坈"],"fāng fáng":["坊"],"fèn bèn":["坋"],tān:["坍","怹","摊","擹","攤","滩","灘","瘫","癱","舑","貪","贪"],"huài pēi pī péi":["坏"],"dì làn":["坔"],tán:["坛","墰","墵","壇","壜","婒","憛","昙","曇","榃","檀","潭","燂","痰","磹","罈","罎","藫","談","譚","譠","谈","谭","貚","郯","醰","錟","顃"],bà:["坝","垻","壩","弝","欛","灞","爸","矲","覇","霸","鮁","鲅"],fén:["坟","墳","妢","岎","幩","枌","棼","汾","焚","燌","燓","羒","羵","蒶","蕡","蚠","蚡","豮","豶","轒","鐼","隫","馩","魵","黂","鼖","鼢","𣸣"],zhuì:["坠","墜","惴","甀","畷","礈","綴","縋","缀","缒","腏","膇","諈","贅","赘","醊","錣","鑆"],pō:["坡","岥","泼","溌","潑","釙","鏺","钋","頗","颇","䥽"],"pǎn bàn":["坢"],kūn:["坤","堃","堒","崐","崑","昆","晜","潉","焜","熴","猑","琨","瑻","菎","蜫","裈","裩","褌","醌","錕","锟","騉","髠","髡","髨","鯤","鲲","鵾","鶤","鹍"],diàn:["坫","垫","墊","壂","奠","婝","店","惦","扂","橂","殿","淀","澱","玷","琔","电","癜","簟","蜔","鈿","電","靛","驔"],"mù mǔ":["坶"],"kē kě":["坷","軻"],xuè:["坹","岤","桖","瀥","狘","瞲","謔","谑","趐"],"dǐ chí":["坻","柢"],lā:["垃","柆","菈","邋"],lǒng:["垄","垅","壟","壠","拢","攏","竉","陇","隴","𬕂"],mín:["垊","姄","岷","崏","捪","旻","旼","民","珉","琘","琝","瑉","痻","盿","砇","緍","緡","缗","罠","苠","鈱","錉","鍲","鴖"],"dòng tóng":["垌","峒","洞"],cí:["垐","嬨","慈","柌","濨","珁","瓷","甆","磁","礠","祠","糍","茨","詞","词","辝","辞","辤","辭","雌","飺","餈","鴜","鶿","鷀","鹚"],duī:["垖","堆","塠","痽","磓","鐓","鐜","鴭"],"duò duǒ":["垛"],"duǒ duò":["垜","挆"],chá:["垞","察","嵖","搽","槎","檫","猹","茬","茶","詧","靫","𥻗"],shǎng:["垧","晌","樉","賞","贘","赏","鋿","鏛","鑜"],shǒu:["垨","守","手","扌","艏","首"],da:["垯","繨","跶"],háng:["垳","斻","杭","筕","絎","绗","航","苀","蚢","裄","貥","迒","頏","颃","魧"],"ān ǎn":["垵"],xīng:["垶","惺","星","曐","煋","猩","瑆","皨","篂","腥","興","觪","觲","謃","騂","骍","鮏","鯹"],"yuàn huán":["垸"],bāng:["垹","帮","幇","幚","幫","捠","梆","浜","邦","邫","鞤","𠳐"],"póu fú":["垺"],cén:["埁","岑","涔"],"běng fēng":["埄"],"dì fáng":["埅"],"xiá jiā":["埉"],"mái mán":["埋"],làng:["埌","崀","浪","蒗","閬","㫰"],"shān yán":["埏"],"qín jīn":["埐"],"pǔ bù":["埔"],huā:["埖","婲","椛","硴","糀","花","蒊","蘤","誮","錵"],"suì sù":["埣"],"pí pì":["埤"],"qīng zhēng":["埥","鲭"],"wǎn wān":["埦"],lǔn:["埨","稐","𫭢"],"zhēng chéng":["埩"],kōng:["埪","崆","箜","躻","錓","鵼"],"cǎi cài":["埰","寀","采"],"chù tòu":["埱"],běng:["埲","琫","菶","鞛"],"kǎn xiàn":["埳"],"yì shì":["埶","醳"],péi:["培","毰","裴","裵","賠","赔","錇","锫","阫","陪"],"sào sǎo":["埽"],"jǐn qīn jìn":["堇"],"péng bèng":["堋"],"qiàn zàn jiàn":["堑"],àn:["堓","屵","岸","按","暗","案","胺","荌","豻","貋","錌","闇","隌","黯"],"duò huī":["堕","墮"],huán:["堚","寏","寰","峘","桓","洹","澴","獂","环","環","糫","繯","缳","羦","荁","萈","萑","豲","鍰","鐶","锾","镮","闤","阛","雈","鬟","鹮","𬘫","𤩽"],"bǎo bǔ pù":["堡"],"máo móu wǔ":["堥"],ruán:["堧","壖","撋"],"ài è yè":["堨"],gèng:["堩","暅"],méi:["堳","塺","媒","嵋","徾","攗","枚","栂","梅","楣","楳","槑","湄","湈","煤","猸","玫","珻","瑂","眉","睂","禖","脄","脢","腜","苺","莓","葿","郿","酶","鎇","镅","霉","鶥","鹛","黴"],dǔ:["堵","琽","睹","笃","篤","覩","賭","赌"],féng:["堸","綘","艂","逢"],hèng:["堼"],chūn:["堾","媋","旾","春","暙","杶","椿","槆","橁","櫄","瑃","箺","萅","蝽","輴","鰆","鶞","䲠"],jiǎng:["塂","奖","奨","奬","桨","槳","獎","耩","膙","蒋","蔣","講","讲","顜"],huāng:["塃","巟","慌","肓","荒","衁"],duàn:["塅","断","斷","椴","段","毈","煅","瑖","碫","簖","籪","緞","缎","腶","葮","躖","鍛","锻"],tǎ:["塔","墖","獭","獺","鮙","鰨","鳎"],wěng:["塕","奣","嵡","攚","暡","瞈","蓊"],"sāi sài sè":["塞"],zàng:["塟","弉","臓","臟","葬","蔵","銺"],tián:["塡","屇","恬","沺","湉","璳","甛","甜","田","畋","畑","碵","磌","胋","闐","阗","鴫","鷆","鷏"],zhèng:["塣","幁","政","証","諍","證","证","诤","郑","鄭","靕","鴊"],"tián zhèn":["填"],wēn:["塭","昷","榲","殟","温","溫","瑥","瘟","蕰","豱","輼","轀","辒","鎾","饂","鰛","鰮","鳁"],liù:["塯","廇","磟","翏","雡","霤","餾","鬸","鷚","鹨"],hǎi:["塰","海","烸","酼","醢"],lǎng:["塱","朖","朗","朤","烺","蓢","㮾"],bèng:["塴","揼","泵","甏","綳","蹦","迸","逬","鏰","镚"],chén:["塵","宸","尘","忱","敐","敶","晨","曟","栕","樄","沉","煁","瘎","臣","茞","莀","莐","蔯","薼","螴","訦","諶","軙","辰","迧","鈂","陈","陳","霃","鷐","麎"],"ōu qiū":["塸"],"qiàn jiàn":["塹"],"zhuān tuán":["塼"],shuǎng:["塽","慡","漺","爽","縔","鏯"],shú:["塾","婌","孰","璹","秫","贖","赎"],lǒu:["塿","嵝","嶁","甊","篓","簍"],chí:["墀","弛","持","池","漦","竾","筂","箎","篪","茌","荎","蚳","謘","貾","赿","踟","迟","迡","遅","遟","遲","鍉","馳","驰"],shù:["墅","庶","庻","怷","恕","戍","束","树","樹","沭","漱","潄","濖","竖","竪","絉","腧","荗","蒁","虪","術","裋","豎","述","鉥","錰","鏣","霔","鶐","𬬸"],"dì zhì":["墆","疐"],kàn:["墈","崁","瞰","矙","磡","衎","鬫"],chěn:["墋","夦","硶","碜","磣","贂","趻","踸","鍖"],"zhǐ zhuó":["墌"],qiǎng:["墏","繈","繦","羥","襁"],zēng:["増","增","憎","璔","矰","磳","罾","譄","鄫","鱛","䎖"],qiáng:["墙","墻","嫱","嬙","樯","檣","漒","牆","艢","蔃","蔷","蘠"],"kuài tuí":["墤"],"tuǎn dǒng":["墥"],"qiáo què":["墧"],"zūn dūn":["墫"],"qiāo áo":["墽"],"yì tú":["墿"],"xué bó jué":["壆"],lǎn:["壈","嬾","孄","孏","懒","懶","揽","擥","攬","榄","欖","浨","漤","灠","纜","缆","罱","覧","覽","览","醂","顲"],huài:["壊","壞","蘾"],rǎng:["壌","壤","攘","爙"],"làn xiàn":["壏"],dǎo:["壔","导","導","岛","島","嶋","嶌","嶹","捣","搗","擣","槝","祷","禂","禱","蹈","陦","隝","隯"],ruǐ:["壡","桵","橤","繠","蕊","蕋","蘂","蘃"],san:["壭"],zhuàng:["壮","壯","壵","撞","焋","状","狀"],"ké qiào":["壳","殼"],kǔn:["壸","壼","悃","捆","梱","硱","祵","稇","稛","綑","裍","閫","閸","阃"],mǎng:["壾","漭","茻","莽","莾","蠎"],cún:["壿","存"],"zhǐ zhōng":["夂"],"gǔ yíng":["夃"],"jiàng xiáng":["夅","降"],"páng féng fēng":["夆"],zhāi:["夈","捚","摘","斋","斎","榸","粂","齋"],"xuàn xiòng":["夐"],wài:["外","顡"],"wǎn yuàn wān yuān":["夗"],"mǎo wǎn":["夘"],mèng:["夢","夣","孟","梦","癦","霥"],"dà dài":["大"],"fū fú":["夫","姇","枎","粰"],guài:["夬","怪","恠"],yāng:["央","姎","抰","殃","泱","秧","胦","鉠","鍈","雵","鴦","鸯"],"hāng bèn":["夯"],gǎo:["夰","搞","杲","槀","槁","檺","稁","稾","稿","縞","缟","菒","藁","藳"],"tāo běn":["夲"],"tóu tou":["头"],"yǎn tāo":["夵"],"kuā kuà":["夸","誇"],"jiá jiā gā xiá":["夹"],huà:["夻","婳","嫿","嬅","崋","摦","杹","枠","桦","槬","樺","澅","画","畫","畵","繣","舙","話","諙","譮","话","黊"],"jiā jiá gā xiá":["夾"],ēn:["奀","恩","蒽"],"dī tì":["奃"],"yǎn yān":["奄","渰"],pào:["奅","疱","皰","砲","礟","礮","靤","麭"],nài:["奈","柰","渿","耐","萘","褦","錼","鼐"],"quān juàn":["奍","弮","棬"],zòu:["奏","揍"],"qì qiè xiè":["契"],kāi:["奒","开","揩","鐦","锎","開"],"bēn bèn":["奔","泍"],tào:["套"],"zàng zhuǎng":["奘"],běn:["奙","本","楍","畚","翉","苯"],"xùn zhuì":["奞"],shē:["奢","檨","猞","畭","畲","賒","賖","赊","輋","𪨶"],"hǎ pò tǎi":["奤"],"ào yù":["奥","奧","澚"],yūn:["奫","氲","氳","蒀","蒕","蝹","贇","赟","𫖳"],"duǒ chě":["奲"],"nǚ rǔ":["女"],nú:["奴","孥","笯","駑","驽"],"dīng dǐng tiǎn":["奵"],"tā jiě":["她"],nuán:["奻"],"hǎo hào":["好"],fàn:["奿","嬎","梵","汎","泛","滼","瀪","犯","畈","盕","笵","範","范","訉","販","贩","軬","輽","飯","飰","饭"],shuò:["妁","搠","朔","槊","烁","爍","矟","蒴","鎙","鑠","铄"],"fēi pèi":["妃"],wàng:["妄","忘","旺","望","朢"],zhuāng:["妆","妝","娤","庄","庒","桩","梉","樁","粧","糚","荘","莊","装","裝"],mā:["妈","媽"],"fū yōu":["妋"],"hài jiè":["妎"],dù:["妒","妬","杜","殬","渡","秺","芏","荰","螙","蠧","蠹","鍍","镀","靯","𬭊"],miào:["妙","庙","庿","廟","玅","竗"],"fǒu pēi pī":["妚"],"yuè jué":["妜"],niū:["妞"],"nà nàn":["妠"],tuǒ:["妥","嫷","庹","椭","楕","橢","鬌","鰖","鵎"],"wàn yuán":["妧"],fáng:["妨","房","肪","防","魴","鲂"],nī:["妮"],zhóu:["妯","碡"],zhāo:["妱","巶","招","昭","釗","鉊","鍣","钊","駋","𬬿"],"nǎi nǐ":["妳"],tǒu:["妵","敨","紏","蘣","黈"],"xián xuán xù":["妶"],"zhí yì":["妷","秇"],ē:["妸","妿","婀","屙"],mèi:["妹","媚","寐","抺","旀","昧","沬","煝","痗","眛","睸","祙","篃","蝞","袂","跊","鬽","魅"],"qī qì":["妻"],"xū xǔ":["姁","稰"],"shān shàn":["姍","姗","苫","釤","钐"],mán:["姏","慲","樠","蛮","蠻","謾","饅","馒","鬗","鬘","鰻","鳗"],jiě:["姐","媎","檞","毑","飷"],"wěi wēi":["委"],pīn:["姘","拼","礗","穦","馪","驞"],"huá huó":["姡"],"jiāo xiáo":["姣"],"gòu dù":["姤"],"lǎo mǔ":["姥"],"nián niàn":["姩"],zhěn:["姫","屒","弫","抮","昣","枕","畛","疹","眕","稹","縝","縥","缜","聄","萙","袗","裖","覙","診","诊","軫","轸","辴","駗","鬒"],héng:["姮","恆","恒","烆","珩","胻","蘅","衡","鑅","鴴","鵆","鸻"],"jūn xún":["姰"],"kuā hù":["姱"],"è yà":["姶"],"xiān shēn":["姺"],wá:["娃"],"ráo rǎo":["娆","嬈"],"shào shāo":["娋"],xiē:["娎","揳","楔","歇","蝎","蠍"],"wǔ méi mǔ":["娒"],"chuò lài":["娕"],niáng:["娘","嬢","孃"],"nà nuó":["娜","𦰡"],"pōu bǐ":["娝"],"něi suī":["娞"],tuì:["娧","煺","蛻","蜕","退","駾"],mǎn:["娨","屘","満","满","滿","螨","蟎","襔","鏋"],"wú wù yú":["娪"],"xī āi":["娭"],"zhuì shuì":["娷"],"dōng dòng":["娻"],"ǎi ái è":["娾"],"ē ě":["娿"],mián:["婂","嬵","宀","杣","棉","檰","櫋","眠","矈","矊","矏","綿","緜","绵","芇","蝒"],"pǒu péi bù":["婄"],biǎo:["婊","脿","表","裱","褾","諘","錶"],"fù fàn":["婏"],wǒ:["婐","婑","我"],"ní nǐ":["婗","棿"],"quán juàn":["婘","惓"],hūn:["婚","昏","昬","棔","涽","睧","睯","碈","荤","葷","蔒","轋","閽","阍"],"qiān jǐn":["婜"],"wān wà":["婠"],"lái lài":["婡","徕","徠"],"zhōu chōu":["婤"],"chuò nào":["婥"],"nüè àn":["婩"],"hùn kūn":["婫"],"dàng yáng":["婸"],nàn:["婻"],"ruò chuò":["婼"],jiǎ:["婽","岬","斚","斝","榎","槚","檟","玾","甲","胛","鉀","钾"],"tōu yú":["婾","媮"],"yù yú":["媀"],"wéi wěi":["媁"],"dì tí":["媂","珶","苐"],róu:["媃","揉","柔","渘","煣","瑈","瓇","禸","粈","糅","脜","腬","葇","蝚","蹂","輮","鍒","鞣","騥","鰇","鶔","𫐓"],"ruǎn nèn":["媆"],miáo:["媌","嫹","描","瞄","苗","鶓","鹋"],"yí pèi":["媐"],"mián miǎn":["媔"],"tí shì":["媞","惿"],"duò tuó":["媠","沲"],ǎo:["媪","媼","艹","芺","袄","襖","镺"],"chú zòu":["媰"],yìng:["媵","映","暎","硬","膡","鱦"],"qín shēn":["嫀"],jià:["嫁","幏","架","榢","稼","駕","驾"],sǎo:["嫂"],"zhēn zhěn":["嫃"],"jiē suǒ":["嫅"],"míng mǐng":["嫇"],niǎo:["嫋","嬝","嬲","茑","蔦","袅","裊","褭","鸟"],tāo:["嫍","幍","弢","慆","掏","搯","槄","涛","滔","濤","瑫","絛","縚","縧","绦","詜","謟","轁","鞱","韜","韬","飸","饕"],biáo:["嫑"],"piáo piāo":["嫖","薸"],xuán:["嫙","悬","懸","暶","檈","漩","玄","璇","璿","痃","蜁","𫠊"],"màn mān":["嫚"],kāng:["嫝","嵻","康","慷","槺","漮","砊","穅","糠","躿","鏮","鱇","𡐓","𩾌"],"hān nǎn":["嫨"],nèn:["嫩","嫰"],zhē:["嫬","遮"],"mā má":["嫲"],piè:["嫳"],zhǎn:["嫸","展","搌","斩","斬","琖","盏","盞","輾","醆","颭","飐"],"xiān yǎn jìn":["嬐"],liǎn:["嬚","敛","斂","琏","璉","羷","脸","臉","蔹","蘝","蘞","裣","襝","鄻"],"qióng huán xuān":["嬛"],dǒng:["嬞","懂","箽","董","蕫","諌"],cān:["嬠","湌","爘","飡","餐","驂","骖"],tiǎo:["嬥","宨","晀","朓","窱","脁"],bí:["嬶","荸","鼻"],liǔ:["嬼","柳","栁","桞","桺","橮","熮","珋","綹","绺","罶","羀","鋶","锍"],"qiān xiān":["孅","欦"],"xié huī":["孈"],"huān quán":["孉"],"lí lì":["孋","麗"],"zhú chuò":["孎"],kǒng:["孔","恐"],"mā zī":["孖"],"sūn xùn":["孙","孫"],"bèi bó":["孛","誖"],"yòu niū":["孧"],zhuǎn:["孨","竱","轉"],hái:["孩","骸"],nāo:["孬"],"chán càn":["孱"],bò:["孹","檗","蘗","譒"],nái:["孻","腉"],"níng nìng":["宁","寍","寗","寜","寧","甯"],zhái:["宅"],"tū jiā":["宊"],sòng:["宋","訟","誦","讼","诵","送","鎹","頌","颂","餸"],ròu:["宍","肉","譳"],zhūn:["宒","窀","衠","諄","谆","迍"],"mì fú":["宓"],"dàng tàn":["宕"],"wǎn yuān":["宛"],chǒng:["宠","寵"],qún:["宭","峮","帬","羣","群","裙","裠"],zǎi:["宰","崽"],"bǎo shí":["宲"],"jiā jia jie":["家"],"huāng huǎng":["宺"],kuān:["宽","寛","寬","臗","鑧","髋","髖"],"sù xiǔ xiù":["宿"],"jié zǎn":["寁"],"bìng bǐng":["寎"],"jìn qǐn":["寖"],"lóu jù":["寠"],"xiě xiè":["寫"],"qīn qìn":["寴"],cùn:["寸","籿"],duì:["对","対","對","怼","憝","懟","濧","瀩","碓","祋","綐","薱","譈","譵","轛","队","陮"],"lüè luó":["寽"],"shè yè yì":["射"],"jiāng jiàng qiāng":["将"],"jiāng jiàng":["將","浆","漿","畺"],zūn:["尊","嶟","樽","罇","遵","鐏","鱒","鳟","鶎","鷷","𨱔"],"shù zhù":["尌","澍"],xiǎo:["小","晓","暁","曉","皛","皢","筱","筿","篠","謏","𫍲"],"jié jí":["尐","诘","鞊"],"shǎo shào":["少"],ěr:["尒","尓","尔","栮","毦","洱","爾","珥","耳","薾","衈","趰","迩","邇","鉺","铒","餌","饵","駬"],"wāng yóu":["尢"],wāng:["尣","尩","尪","尫","汪"],liào:["尥","尦","廖","撂","料","炓","窷","鐐","镣","𪤗"],"méng máng lóng páng":["尨"],gà:["尬","魀"],"kuì kuǐ":["尯"],tuí:["尵","弚","穨","蘈","蹪","隤","頹","頺","頽","颓","魋","𬯎"],yǐn:["尹","嶾","引","朄","檃","檼","櫽","淾","濥","瘾","癮","粌","蘟","蚓","螾","讔","赺","趛","輑","鈏","靷"],"chǐ chě":["尺"],kāo:["尻","髛"],"jìn jǐn":["尽"],"wěi yǐ":["尾"],"niào suī":["尿"],céng:["层","層","嶒","驓"],diǎo:["屌"],"píng bǐng bīng":["屏"],lòu:["屚","漏","瘘","瘺","瘻","鏤","镂","陋"],"shǔ zhǔ":["属","屬"],"xiè tì":["屟"],"chè cǎo":["屮"],"tún zhūn":["屯"],"nì jǐ":["屰"],"hóng lóng":["屸"],"qǐ kǎi":["岂","豈"],áng:["岇","昂","昻"],"gǎng gāng":["岗","崗"],kě:["岢","敤","渇","渴","炣"],gǒu:["岣","狗","玽","笱","耇","耈","耉","苟","豿"],tiáo:["岧","岹","樤","祒","笤","芀","萔","蓚","蓨","蜩","迢","鋚","鎥","鞗","髫","鯈","鰷","鲦","齠","龆"],"qū jū":["岨"],lǐng:["岭","嶺","領","领"],pò:["岶","敀","洦","湐","烞","珀","破","砶","粕","蒪","魄"],"bā kè":["峇"],luò:["峈","摞","洛","洜","犖","珞","笿","纙","荦","詻","雒","駱","骆","鵅"],"fù niè":["峊"],ěn:["峎"],"zhì shì":["峙","崻"],qiǎ:["峠","跒","酠","鞐"],"qiáo jiào":["峤","癄"],"xié yé":["峫"],bū:["峬","庯","晡","誧","逋","鈽","錻","钸","餔","鵏"],chóng:["崇","崈","爞","虫","蝩","蟲","褈","隀"],"zú cuì":["崒","椊"],"líng léng":["崚"],"dòng dōng":["崠"],xiáo:["崤","洨","淆","訤","誵"],"pí bǐ":["崥","芘"],"zhǎn chán":["崭","嶃","嶄"],"wǎi wēi":["崴"],"yáng dàng":["崵"],"shì dié":["崼"],yào:["崾","曜","熎","燿","矅","穾","窔","筄","耀","艞","药","葯","薬","藥","袎","覞","詏","讑","靿","鷂","鹞","鼼"],"kān zhàn":["嵁"],"hán dǎng":["嵅"],"qiàn kàn":["嵌"],"wù máo":["嵍"],"kě jié":["嵑","嶱"],"wēi wěi":["嵔"],kē:["嵙","柯","棵","榼","樖","牁","牱","犐","珂","疴","瞌","磕","礚","科","稞","窠","萪","薖","蚵","蝌","趷","轲","醘","鈳","钶","頦","顆","颗","髁"],"dàng táng":["嵣"],"róng yíng":["嵤","爃"],"ái kǎi":["嵦"],"kāo qiāo":["嵪"],cuó:["嵯","嵳","痤","矬","蒫","蔖","虘","鹺","鹾"],"qiǎn qīn":["嵰"],"dì dié":["嵽"],cēn:["嵾"],dǐng:["嵿","艼","薡","鐤","頂","顶","鼎","鼑"],"áo ào":["嶅"],"pǐ pèi":["嶏"],"jiào qiáo":["嶠","潐"],"jué guì":["嶡","鳜"],"zhān shàn":["嶦","鳣"],"xiè jiè":["嶰"],"guī xī juàn":["嶲"],rū:["嶿"],"lì liè":["巁","棙","爄","綟"],"xī guī juàn":["巂"],"yíng hōng":["巆"],yǐng:["巊","廮","影","摬","梬","潁","瘿","癭","矨","穎","郢","鐛","頴","颍","颕","颖"],chǎo:["巐","炒","煼","眧","麨"],cuán:["巑","櫕","欑"],chuān:["巛","川","氚","瑏","穿"],"jīng xíng":["巠"],cháo:["巢","巣","晁","漅","潮","牊","窲","罺","謿","轈","鄛","鼌"],qiǎo:["巧","愀","髜"],gǒng:["巩","廾","拱","拲","栱","汞","珙","輁","鞏"],"chà chā chāi cī":["差"],"xiàng hàng":["巷"],shuài:["帅","帥","蟀"],pà:["帊","帕","怕","袙"],"tǎng nú":["帑"],"mò wà":["帓"],"tiē tiě tiè":["帖"],zhǒu:["帚","晭","疛","睭","箒","肘","菷","鯞"],"juǎn juàn":["帣"],shuì:["帨","涗","涚","睡","稅","税","裞"],"chóu dào":["帱","幬"],"jiǎn jiān sàn":["帴"],"shà qiè":["帹"],"qí jì":["帺","荠"],"shān qiāo shēn":["幓"],"zhuàng chuáng":["幢"],"chān chàn":["幨"],miè:["幭","懱","搣","滅","灭","烕","礣","篾","蔑","薎","蠛","衊","鑖","鱴","鴓"],"gān gàn":["干"],"bìng bīng":["并","幷"],"jī jǐ":["幾"],"guǎng ān":["广"],guǎng:["広","廣","犷","獷"],me:["庅"],"dùn tún":["庉"],"bài tīng":["庍"],"yìng yīng":["应"],"dǐ de":["底"],"dù duó":["度"],"máng méng páng":["庬"],"bìng píng":["庰"],chěng:["庱","悜","睈","逞","騁","骋"],"jī cuò":["庴"],qǐng:["庼","廎","檾","漀","苘","請","謦","请","頃","顷"],"guī wěi huì":["廆"],"jǐn qín":["廑"],kuò:["廓","扩","拡","擴","濶","筈","萿","葀","蛞","闊","阔","霩","鞟","鞹","韕","頢","鬠"],"qiáng sè":["廧","薔"],"yǐn yìn":["廴","隐","隠","隱","飮","飲","饮"],"pò pǎi":["廹","迫"],"nòng lòng":["弄"],"dì tì tuí":["弟"],"jué zhāng":["弡"],"mí mǐ":["弥","彌","靡"],chāo:["弨","怊","抄","欩","訬","超","鈔","钞"],yi:["弬"],shāo:["弰","旓","烧","焼","燒","筲","艄","萷","蕱","輎","髾","鮹"],"xuān yuān":["弲"],"qiáng qiǎng jiàng":["強","强"],"tán dàn":["弹","醈"],biè:["彆"],"qiáng jiàng qiǎng":["彊"],"jì xuě":["彐"],tuàn:["彖","褖"],yuē:["彟","曰","曱","矱"],"shān xiǎn":["彡"],wén:["彣","文","炆","珳","瘒","繧","聞","芠","蚉","蚊","螡","蟁","閺","閿","闅","闦","闻","阌","雯","馼","駇","魰","鳼","鴍","鼤","𫘜"],"péng bāng":["彭"],"piāo piào":["彯"],"zhuó bó":["彴"],"tuǒ yí":["彵"],"páng fǎng":["彷"],wǎng:["彺","往","徃","惘","枉","棢","網","网","罒","罓","罔","罖","菵","蛧","蝄","誷","輞","辋","魍"],cú:["徂","殂"],"dài dāi":["待"],huái:["徊","怀","懐","懷","槐","淮","耲","蘹","褢","褱","踝"],"wā wàng jiā":["徍"],"chěng zhèng":["徎"],"dé děi de":["得"],"cóng zòng":["從"],"shì tǐ":["徥"],"tí chí":["徲","鶗","鶙"],dé:["徳","德","恴","悳","惪","淂","鍀","锝"],"zhǐ zhēng":["徴","徵"],bié:["徶","癿","莂","蛂","襒","蹩"],"chōng zhǒng":["徸"],"jiǎo jiào":["徼","笅","筊"],"lòng lǒng":["徿"],"qú jù":["忂","渠","瞿","螶"],"dìng tìng":["忊"],gǎi:["忋","改"],rěn:["忍","栠","栣","秹","稔","綛","荏","荵","躵"],chàn:["忏","懴","懺","硟","羼","韂","顫"],tè:["忑","慝","特","蟘","鋱","铽"],"tè tēi tuī":["忒"],"gān hàn":["忓","攼"],"yì qì":["忔"],"tài shì":["忕"],"xī liě":["忚"],"yīng yìng":["応","應","譍"],"mǐn wěn mín":["忞","忟"],"sōng zhōng":["忪"],"yù shū":["忬","悆"],"qí shì":["忯","耆"],"tún zhūn dùn":["忳"],"qián qín":["忴","扲"],hún:["忶","浑","渾","餛","馄","魂","鼲"],niǔ:["忸","扭","炄","狃","紐","纽","莥","鈕","钮","靵"],"kuáng wǎng":["忹"],"kāng hàng":["忼"],"kài xì":["忾","愾"],òu:["怄","慪"],"bǎo bào":["怉"],"mín mén":["怋"],"zuò zhà":["怍"],zěn:["怎"],yàng:["怏","恙","样","様","樣","漾","羕","詇"],"kòu jù":["怐"],"náo niú":["怓"],"zhēng zhèng":["怔","掙","钲","铮"],"tiē zhān":["怗"],"hù gù":["怘"],"cū jù zū":["怚"],"sī sāi":["思"],"yóu chóu":["怞"],"tū dié":["怢"],"yōu yào":["怮"],xuàn:["怰","昡","楦","泫","渲","炫","琄","眩","碹","絢","縼","繏","绚","蔙","衒","袨","贙","鉉","鏇","铉","镟","颴"],"xù xuè":["怴"],"bì pī":["怶"],"xī shù":["怸"],"nèn nín":["恁"],"tiāo yáo":["恌"],"xī qī xù":["恓"],"xiào jiǎo":["恔"],"hū kuā":["恗"],nǜ:["恧","朒","衂","衄"],hèn:["恨"],"dòng tōng":["恫"],"quán zhuān":["恮"],"è wù ě wū":["恶","惡"],tòng:["恸","慟","憅","痛","衕"],"yuān juàn":["悁"],"qiāo qiǎo":["悄"],"jiè kè":["悈"],"hào jiào":["悎"],huǐ:["悔","檓","毀","毁","毇","燬","譭"],"mán mèn":["悗","鞔"],"yī yì":["悘","衣"],quān:["悛","箞","鐉","𨟠"],"kuī lǐ":["悝"],"yì niàn":["悥"],"mèn mēn":["悶"],guàn:["悹","悺","惯","慣","掼","摜","樌","欟","泴","涫","潅","灌","爟","瓘","盥","礶","祼","罆","罐","貫","贯","躀","遦","鏆","鑵","鱹","鸛","鹳"],"kōng kǒng":["悾"],"lǔn lùn":["惀"],guǒ:["惈","果","椁","槨","粿","綶","菓","蜾","裹","褁","輠","餜","馃"],"yuān wǎn":["惌","箢"],"lán lín":["惏"],"yù xù":["惐","淢"],"chuò chuì":["惙"],"hūn mèn":["惛"],"chǎng tǎng":["惝"],"suǒ ruǐ":["惢"],cǎn:["惨","慘","憯","黪","黲","䅟"],cán:["惭","慙","慚","残","殘","蚕","蝅","蠶","蠺"],"dàn dá":["惮","憚"],rě:["惹"],"yú tōu":["愉"],"kài qì":["愒"],"dàng táng shāng yáng":["愓"],"chén xìn dān":["愖"],"kè qià":["愘"],nuò:["愞","懦","懧","掿","搦","榒","稬","穤","糑","糥","糯","諾","诺","蹃","逽","鍩","锘"],gǎn:["感","擀","敢","桿","橄","澉","澸","皯","秆","稈","笴","芉","衦","赶","趕","鱤","鳡"],"còng sōng":["愡"],"sāi sī sǐ":["愢"],"gōng gòng hǒng":["愩","慐"],"shuò sù":["愬","洬"],"yáo yào":["愮"],huàng:["愰","曂","榥","滉","皝","皩","鎤","㿠"],zhěng:["愸","抍","拯","整","晸"],cǎo:["愺","艸","草","騲"],"xì xié":["慀"],"cǎo sāo":["慅"],"xù chù":["慉"],"qiè qiàn":["慊"],"cáo cóng":["慒"],"ào áo":["慠"],"lián liǎn":["慩","梿","槤","櫣"],"jìn qín jǐn":["慬"],"dì chì":["慸"],"zhí zhé":["慹"],"lóu lǚ":["慺","鷜"],còng:["憁","謥"],"zhī zhì":["憄","知","織","织"],chēng:["憆","摚","撐","撑","晿","柽","棦","橕","檉","泟","浾","琤","瞠","碀","緽","罉","蛏","蟶","赪","赬","鏿","鐣","阷","靗","頳","饓"],biē:["憋","虌","鱉","鳖","鼈","龞"],"chéng dèng zhèng":["憕"],"xǐ xī":["憘"],"duì dùn tūn":["憞"],"xiāo jiāo":["憢"],"xián xiàn":["憪"],"liáo liǎo":["憭","燎","爎","爒"],shéng:["憴","縄","繉","繩","绳","譝"],"náo nǎo náng":["憹"],"jǐng jìng":["憼"],"jǐ jiǎo":["憿"],"xuān huān":["懁"],"cǎo sāo sào":["懆"],mèn:["懑","懣","暪","焖","燜"],"mèng méng měng":["懜"],"ài yì nǐ":["懝"],"méng měng":["懞","瞢","矒"],"qí jī jì":["懠"],mǒ:["懡"],"lán xiàn":["懢"],"yōu yǒu":["懮"],"liú liǔ":["懰","藰"],ràng:["懹","譲","讓","让"],huān:["懽","欢","歓","歡","獾","讙","貛","酄","驩","鴅","鵍"],nǎn:["戁","揇","湳","煵","腩","蝻","赧"],"mí mó":["戂"],"gàng zhuàng":["戅","戆"],"zhuàng gàng":["戇"],"xū qu":["戌"],"xì hū":["戏","戯","戲"],"jiá gā":["戛"],zéi:["戝","蠈","賊","贼","鰂","鱡","鲗"],děng:["戥","等"],"hū xì":["戱"],chuō:["戳","踔","逴"],"biǎn piān":["扁"],"shǎng jiōng":["扄"],"shàn shān":["扇"],cái:["才","材","纔","裁","財","财"],"zhā zā zhá":["扎"],"lè lì cái":["扐"],"bā pá":["扒"],"dǎ dá":["打"],rēng:["扔"],"fǎn fú":["払"],"diǎo dí yuē lì":["扚"],"káng gāng":["扛"],"yū wū":["扜"],"yū wū kū":["扝"],"tuō chǐ yǐ":["扡"],"gǔ jié xì gē":["扢"],dèn:["扥","扽"],"sǎo sào":["扫","掃"],rǎo:["扰","擾","隢"],"xī chā qì":["扱"],"bān pān":["扳"],"bā ào":["扷"],"xī zhé":["扸"],"zhì sǔn kǎn":["扻"],zhǎo:["找","沼","瑵"],"kuáng wǎng zài":["抂"],"hú gǔ":["抇","鹄","鹘"],"bǎ bà":["把"],"dǎn shěn":["抌"],"nè nì ruì nà":["抐"],zhuā:["抓","檛","簻","膼","髽"],póu:["抔","裒"],"zhé shé zhē":["折"],"póu pōu fū":["抙","捊"],pāo:["抛","拋","脬","萢"],"ǎo ào niù":["抝"],"lūn lún":["抡","掄"],"qiǎng qiāng chēng":["抢"],"zhǐ zhǎi":["抧"],"bù pū":["抪","柨"],"yǎo tāo":["抭"],"hē hè qiā":["抲"],"nǐ ní":["抳"],"pī pēi":["抷"],"mǒ mò mā":["抹"],chōu:["抽","犨","犫","瘳","篘"],"jiā yá":["拁"],"fú bì":["拂","畐","鶝"],zhǎ:["拃","眨","砟","鮺","鲝"],"dān dàn dǎn":["担"],"chāi cā":["拆"],niān:["拈","蔫"],"lā lá lǎ là":["拉"],"bàn pàn":["拌"],pāi:["拍"],līn:["拎"],guǎi:["拐","枴","柺"],"tuò tà zhí":["拓"],"ào ǎo niù":["拗"],"jū gōu":["拘"],"pīn pàn fān":["拚"],"bài bái":["拜"],bài:["拝","敗","稗","粺","薭","贁","败","韛"],qiá:["拤"],"nǐng níng nìng":["拧"],"zé zhái":["择","擇"],hén:["拫","痕","鞎"],"kuò guā":["括"],"jié jiá":["拮"],nǐn:["拰"],shuān:["拴","栓","閂","闩"],"cún zùn":["拵"],"zā zǎn":["拶","桚"],kǎo:["拷","攷","栲","烤","考"],"yí chǐ hài":["拸"],"cè sè chuò":["拺"],"zhuài zhuāi yè":["拽"],"shí shè":["拾"],bāi:["挀","掰"],"kuò guāng":["挄"],nòng:["挊","挵","齈"],"jiào jiāo":["挍","敎","教"],"kuà kū":["挎"],"ná rú":["挐"],"tiāo tiǎo":["挑"],"dié shè":["挕"],liě:["挘","毟"],"yà yǎ":["挜","掗"],"wō zhuā":["挝"],"xié jiā":["挟","挾"],"dǎng dàng":["挡","擋"],"zhèng zhēng":["挣","正","症"],"āi ái":["挨"],"tuō shuì":["挩","捝"],"tǐ tì":["挮"],"suō shā":["挱"],"sā shā suō":["挲"],"kēng qiān":["挳","摼"],"bàng péng":["挷"],"ruó ruá":["挼"],"jiǎo kù":["捁"],"wǔ wú":["捂"],tǒng:["捅","桶","筒","筩","統","綂","统","㛚"],"huò chì":["捇"],"tú shū chá":["捈"],"lǚ luō":["捋"],"shāo shào":["捎","稍"],niē:["捏","揑"],"shù sǒng sōu":["捒"],"yé yú":["捓"],"jué zhuó":["捔"],"bù pú zhì":["捗"],zùn:["捘","銌"],lāo:["捞","撈","粩"],sǔn:["损","損","榫","笋","筍","箰","鎨","隼"],"wàn wǎn wān yù":["捥"],pěng:["捧","淎","皏"],shě:["捨"],"fǔ fù bǔ":["捬"],dáo:["捯"],"luò luǒ wǒ":["捰"],"juǎn quán":["捲"],"chēn tiǎn":["捵"],"niǎn niē":["捻"],"ruó wěi ré":["捼"],zuó:["捽","昨","秨","稓","筰","莋","鈼"],"wò xiá":["捾"],"qìng qiàn":["掅"],"póu pǒu":["掊"],qiā:["掐","葜"],"pái pǎi":["排"],"qiān wàn":["掔"],"yè yē":["掖"],"niè nǐ yì":["掜"],"huò xù":["掝"],"yàn shàn yǎn":["掞"],"zhěng dìng":["掟"],kòng:["控","鞚"],tuī:["推","蓷","藬"],"zōu zhōu chōu":["掫"],tiàn:["掭","舚"],kèn:["掯","裉","褃"],pá:["掱","杷","潖","爬","琶","筢"],"guó guāi":["掴"],"dǎn shàn":["掸","撣"],"chān xiān càn shǎn":["掺"],sāo:["掻","搔","溞","繅","缫","螦","騒","騷","鰠","鱢","鳋"],pèng:["掽","椪","槰","碰","踫"],"zhēng kēng":["揁"],"jiū yóu":["揂"],"jiān jiǎn":["揃","籛"],"pì chè":["揊"],"sāi zǒng cāi":["揌"],"tí dī dǐ":["提"],"zǒng sōng":["揔"],"huáng yóng":["揘"],"zǎn zuàn":["揝"],"xū jū":["揟"],"ké qiā":["揢"],"chuāi chuǎi chuài tuán zhuī":["揣"],"dì tì":["揥"],"lá là":["揦"],là:["揧","楋","溂","瓎","瘌","翋","臘","蝋","蝲","蠟","辢","辣","鑞","镴","鬎","鯻","𬶟"],"jiē qì":["揭"],"chòng dǒng":["揰"],"dié shé yè":["揲"],"jiàn qián jiǎn":["揵"],yé:["揶","爷","爺","瑘","鋣","鎁","铘"],chān:["搀","摻","攙","裧","襜","覘","觇","辿","鋓"],"gē gé":["搁","擱"],"lǒu lōu":["搂","摟"],"chōu zǒu":["搊"],chuāi:["搋"],sūn:["搎","槂","狲","猻","荪","蓀","蕵","薞","飧","飱"],"róng náng nǎng":["搑"],"péng bàng":["搒"],cuō:["搓","瑳","磋","蹉","遳","醝"],"kē è":["搕"],"nù nuò nòu":["搙"],"lā xié xiàn":["搚"],qiǔ:["搝","糗"],"xiǎn xiān":["搟"],"jié zhé":["搩"],"pán bān pó":["搫"],bān:["搬","攽","斑","斒","班","瘢","癍","肦","螁","螌","褩","辬","頒","颁","𨭉"],"zhì nái":["搱"],"wā wǎ wà":["搲"],huá:["搳","撶","滑","猾","蕐","螖","譁","鏵","铧","驊","骅","鷨"],"qiāng qiǎng chēng":["搶"],"tián shēn":["搷"],"ná nuò":["搻"],èn:["摁"],"shè niè":["摄","攝"],bìn:["摈","擯","殡","殯","膑","臏","髌","髕","髩","鬂","鬓","鬢"],"shā sà shǎi":["摋"],"chǎn sùn":["摌"],"jiū liú liáo jiǎo náo":["摎"],"féng pěng":["摓"],shuāi:["摔"],"dì tú zhí":["摕"],"qì jì chá":["摖"],"sōu sǒng":["摗"],"liǎn liàn":["摙"],"gài xì":["摡"],"hù chū":["摢"],tàng:["摥","烫","燙","鐋"],"nái zhì":["摨"],"mó mā":["摩"],"jiāng qiàng":["摪"],"áo qiáo":["摮"],"niè chè":["摰"],"mán màn":["摱"],"chàn cán":["摲"],"sè mí sù":["摵"],"biāo biào":["摽"],"juē jué":["撅"],piē:["撆","暼","氕","瞥"],"piě piē":["撇"],"zǎn zān zēn qián":["撍"],"sā sǎ":["撒"],hòng:["撔","訌","讧","闀","鬨"],"héng guàng":["撗"],niǎn:["撚","撵","攆","涊","焾","碾","簐","蹍","蹨","躎","輦","辇"],"chéng zhěng":["撜"],"huī wéi":["撝"],cāo:["撡","操","糙"],"xiāo sōu":["撨"],"liáo liāo":["撩"],"cuō zuǒ":["撮"],"wěi tuǒ":["撱"],cuān:["撺","攛","汆","蹿","躥","鑹","镩"],"qiào yāo jī":["撽"],"zhuā wō":["撾"],"lèi léi":["擂"],nǎng:["擃","攮","曩","灢"],"qíng jǐng":["擏"],kuǎi:["擓","蒯","㧟"],"pǐ bò":["擗"],"bò bāi":["擘"],"jù jǐ":["據"],mēng:["擝"],"sǒu sòu":["擞"],xǐng:["擤","箵","醒"],cā:["擦"],"níng nǐng nìng":["擰"],"zhì jié":["擳"],"là liè":["擸","爉"],"sòu sǒu":["擻"],"lì luò yuè":["擽"],"tī zhāi zhì":["擿"],pān:["攀","潘","眅","萠"],lèi:["攂","泪","涙","淚","禷","类","纇","蘱","酹","銇","錑","頛","頪","類","颣"],"cā sǎ":["攃"],"jùn pèi":["攈"],"lì luò":["攊","躒"],"là lài":["攋","櫴"],"lú luó":["攎"],"zǎn cuán":["攒"],"xiān jiān":["攕"],"mí mǐ mó":["攠"],"zǎn cuán zàn zuān":["攢"],zuàn:["攥"],"lì shài":["攦"],"lì luǒ":["攭"],"guǐ guì":["攱"],"jī qī yǐ":["攲"],fàng:["放"],"wù móu":["敄"],"chù shōu":["敊"],"gé guó è":["敋"],"duó duì":["敓","敚"],"duō què":["敠","敪"],"sàn sǎn":["散"],"dūn duì":["敦","镦"],"qī yǐ jī":["敧"],"xiào xué":["敩"],"shù shǔ shuò":["数","數"],"ái zhú":["敱","敳"],"xiòng xuàn":["敻"],"zhuó zhú":["斀"],"yì dù":["斁"],"lí tái":["斄"],"fěi fēi":["斐"],"yǔ zhōng":["斔"],"dòu dǒu":["斗"],"wò guǎn":["斡"],"tǒu tiǎo":["斢"],dòu:["斣","梪","浢","痘","窦","竇","脰","荳","豆","逗","郖","酘","閗","闘","餖","饾","鬥","鬦","鬪","鬬","鬭"],"yín zhì":["斦"],"chǎn jiè":["斺"],"wū yū yú":["於"],"yóu liú":["斿"],"páng bàng":["旁"],"máo mào":["旄"],"pī bì":["旇"],"xuán xuàn":["旋"],"wú mó":["无"],zǎo:["早","枣","栆","棗","澡","璪","薻","藻","蚤"],gā:["旮"],"gàn hàn":["旰"],"tái yīng":["旲"],"xū xù":["旴"],"tūn zhùn":["旽"],"wù wǔ":["旿"],"pò pèi":["昢"],zòng:["昮","猔","疭","瘲","粽","糉","糭","縦"],ǎi:["昹","毐","矮","蔼","藹","譪","躷","霭","靄"],"huàng huǎng":["晃"],xuǎn:["晅","癣","癬","选","選"],"xù kuā":["晇"],hǒng:["晎"],shài:["晒","曬"],"yūn yùn":["晕","煴"],"shèng chéng":["晟","椉","盛"],"jǐng yǐng":["景"],shǎn:["晱","熌","睒","覢","閃","闪","陕","陝"],"qǐ dù":["晵"],"ǎn àn yǎn":["晻"],"wǎng wàng":["暀"],zàn:["暂","暫","瓉","瓒","瓚","禶","襸","讃","讚","賛","贊","赞","蹔","鄼","錾","鏨","饡"],"yùn yūn":["暈"],"mín mǐn":["暋"],"dǔ shǔ":["暏"],shǔ:["暑","曙","潻","癙","糬","署","薥","薯","藷","蜀","蠴","襡","襩","鱪","鱰","黍","鼠","鼡"],"jiǎn lán":["暕"],nuǎn:["暖","煗","餪"],"bào pù":["暴"],"xī xǐ":["暿"],"pù bào":["曝","瀑"],"qū qǔ":["紶"],"qǔ qū":["曲"],"gèng gēng":["更"],"hū hù":["曶","雽"],"zēng céng":["曽","橧"],"céng zēng":["曾","竲"],"cǎn qián jiàn":["朁"],"qiè hé":["朅"],"bì pí":["朇","禆","笓","裨"],"yǒu yòu":["有"],"bān fén":["朌","鳻"],"fú fù":["服","洑"],"fěi kū":["朏","胐"],"qú xù chǔn":["朐"],"juān zuī":["朘"],"huāng máng wáng":["朚"],"qī jī":["期"],"tóng chuáng":["朣","橦"],zhá:["札","牐","箚","蚻","譗","鍘","铡","閘","闸"],"zhú shù shú":["朮"],"shù shú zhú":["术"],"zhū shú":["朱"],"pǔ pò pō piáo":["朴"],"dāo tiáo mù":["朷"],"guǐ qiú":["朹"],xiǔ:["朽","滫","潃","糔"],"chéng chēng":["朾"],zá:["杂","沯","砸","襍","雑","雜","雥","韴"],"yú wū":["杅"],"gān gǎn":["杆"],"chā chà":["杈"],"shān shā":["杉"],cūn:["村","皴","竴","膥","踆","邨"],"rèn ér":["杒","梕"],"sháo biāo":["杓"],"dì duò":["杕","枤"],"gū gài":["杚"],"yí zhì lí duò":["杝"],"gàng gāng":["杠"],"tiáo tiāo":["条","條"],"mà mǎ":["杩"],"sì zhǐ xǐ":["杫"],"yuán wán":["杬","蚖"],"bèi fèi":["杮"],"shū duì":["杸"],"niǔ chǒu":["杻"],"wò yuè":["枂","臒"],máo:["枆","毛","氂","渵","牦","矛","罞","茅","茆","蝥","蟊","軞","酕","鉾","錨","锚","髦","鶜"],"pī mì":["枈"],àng:["枊","盎","醠"],"fāng bìng":["枋"],"hù dǐ":["枑"],xín:["枔","襑","鐔","鬵"],"yāo yǎo":["枖"],"ě è":["枙"],"zhī qí":["枝"],"cōng zōng":["枞","樅"],"xiān zhēn":["枮"],"tái sì":["枱"],"gǒu jǔ gōu":["枸"],"bāo fú":["枹"],"yì xiè":["枻","栧"],"tuó duò":["柁","馱","駄","驮"],"yí duò lí":["柂"],"nǐ chì":["柅"],"pán bàn":["柈","跘"],"yǎng yàng yāng yīng":["柍"],"fù fū fǔ":["柎"],"bǎi bó bò":["柏"],mǒu:["某"],"sháo shào":["柖"],zhè:["柘","樜","浙","淛","蔗","蟅","這","鷓","鹧","䗪"],"yòu yóu":["柚","櫾"],"guì jǔ":["柜"],"zhà zuò":["柞"],"dié zhì":["柣","眰"],"zhā zǔ zū":["柤"],"chá zhā":["查","査"],"āo ào":["柪","軪"],"bā fú pèi bó biē":["柭"],"duò zuó wù":["柮"],"bì bié":["柲"],"zhù chù":["柷"],"bēi pēi":["柸"],"shì fèi":["柹"],"shān zhà shi cè":["栅"],"lì yuè":["栎","櫟"],"qì qiè":["栔","砌"],"qī xī":["栖","蹊"],"guā kuò":["栝"],"bīng bēn":["栟"],"xiào jiào":["校"],"jiàn zùn":["栫","袸"],"yǒu yù":["栯"],"hé hú":["核"],gēn:["根","跟"],"zhī yì":["栺"],"gé gē":["格"],"héng háng":["桁"],"guàng guāng":["桄"],"yí tí":["桋","荑"],sāng:["桑","桒","槡"],"jú jié":["桔"],"yú móu":["桙"],"ráo náo":["桡","橈"],"guì huì":["桧","檜"],"chén zhèn":["桭"],"tīng yíng":["桯"],"bó po":["桲"],"bèn fàn":["桳"],"fēng fèng":["桻","葑"],"sù yìn":["梀"],"tǐng tìng":["梃"],"xuān juān xié":["梋"],"tú chá":["梌"],"āo yòu":["梎"],kuǎn:["梡","欵","款","歀"],"shāo sào":["梢"],"qín chén cén":["梣"],"lí sì qǐ":["梩"],"chān yán":["梴"],"bīn bīng":["梹","槟","檳"],"táo chóu dào":["梼"],"cōng sōng":["棇"],"gùn hùn":["棍"],"dé zhé":["棏"],"pái bèi pèi":["棑"],"bàng pǒu bèi bēi":["棓"],"dì dài tì":["棣"],sēn:["森","椮","槮","襂"],"rěn shěn":["棯"],"léng lēng líng":["棱"],"fú sù":["棴"],"zōu sǒu":["棷"],zōu:["棸","箃","緅","諏","诹","邹","郰","鄒","鄹","陬","騶","驺","鯫","鲰","黀","齱","齺"],"zhào zhuō":["棹"],"chēn shēn":["棽"],"jiē qiè":["椄"],"yǐ yī":["椅"],"chóu zhòu diāo":["椆"],"qiāng kōng":["椌"],"zhuī chuí":["椎"],"bēi pí":["椑"],mēn:["椚"],"quān juàn quán":["椦"],"duǒ chuán":["椯"],"wěi huī":["椲"],"jiǎ jiā":["椵"],"hán jiān":["椷"],"shèn zhēn":["椹"],"yàn yà":["椻"],"zhā chá":["楂"],"guō kuǎ":["楇"],"jí zhì":["楖"],"kǔ hù":["楛"],"yóu yǒu":["楢"],"sǒng cōng":["楤"],"yuán xuàn":["楥"],"yǎng yàng yīng":["楧"],pián:["楩","胼","腁","賆","蹁","駢","騈","骈","骿","㛹"],"dié yè":["楪"],"dùn shǔn":["楯"],"còu zòu":["楱"],"dì dǐ shì":["楴"],"kǎi jiē":["楷"],"róu ròu":["楺"],"lè yuè":["楽"],"wēn yùn":["榅","鞰"],lǘ:["榈","櫚","氀","膢","藘","閭","闾","驢","驴"],shén:["榊","神","鉮","鰰","𬬹"],"bī pi":["榌"],"zhǎn niǎn zhèn":["榐"],"fú fù bó":["榑"],"jiàn jìn":["榗"],"bǎng bàng":["榜"],"shā xiè":["榝","樧"],nòu:["槈","耨","鎒","鐞"],"qiǎn lián xiàn":["槏"],gàng:["槓","焵","焹","筻","鿍"],gāo:["槔","槹","橰","櫜","睾","篙","糕","羔","臯","韟","餻","高","髙","鷎","鷱","鼛"],"diān zhěn zhēn":["槙"],"kǎn jiàn":["槛"],"xí dié":["槢"],"jī guī":["槣"],"róng yōng":["槦"],"tuán shuàn quán":["槫"],"qì sè":["槭"],"cuī zhǐ":["槯"],"yǒu chǎo":["槱"],"màn wàn":["槾"],"lí chī":["樆"],"léi lěi":["樏","櫑","礌"],"cháo jiǎo chāo":["樔"],"chēng táng":["樘"],"jiū liáo":["樛"],"mó mú":["模"],"niǎo mù":["樢"],"héng hèng":["横","橫"],xuě:["樰","膤","艝","轌","雪","鱈","鳕"],"fá fèi":["橃"],rùn:["橍","润","潤","膶","閏","閠","闰"],"zhǎn jiǎn":["橏"],shùn:["橓","瞚","瞬","舜","蕣","順","顺","鬊"],"tuí dūn":["橔"],"táng chēng":["橖"],"sù qiū":["橚"],"tán diàn":["橝"],"fén fèn fèi":["橨"],"rǎn yān":["橪"],"cū chu":["橻"],"shū qiāo":["橾"],"píng bò":["檘"],"zhái shì tú":["檡"],"biǎo biāo":["檦"],"qiān lián":["檶"],"nǐ mí":["檷"],"jiàn kǎn":["檻"],"nòu ruǎn rú":["檽"],"jī jì":["櫅","禨"],"huǎng guǒ gǔ":["櫎"],"lǜ chū":["櫖"],"miè mèi":["櫗"],ōu:["櫙","欧","歐","殴","毆","瓯","甌","膒","藲","謳","讴","鏂","鴎","鷗","鸥"],"zhù zhuó":["櫡"],"jué jì":["櫭"],"huái guī":["櫰"],"chán zhàn":["欃"],"wéi zuì":["欈"],cáng:["欌","鑶"],"yù yì":["欥"],"chù qù xì":["欪"],"kài ài":["欬"],"yì yīn":["欭"],"xì kài":["欯"],"shuò sòu":["欶"],"ǎi ēi éi ěi èi ê̄ ế ê̌ ề":["欸"],"qī yī":["欹"],"chuā xū":["欻"],"chǐ chuài":["欼"],"kǎn qiàn":["欿"],"kǎn kè":["歁"],"chuǎn chuán":["歂"],"yīn yān":["歅"],"jìn qūn":["歏"],pēn:["歕"],"xū chuā":["歘"],"xī shè":["歙"],"liǎn hān":["歛"],"zhì chí":["歭"],"sè shà":["歰"],sǐ:["死"],"wěn mò":["歾"],piǎo:["殍","皫","瞟","醥","顠"],"qíng jìng":["殑"],"fǒu bó":["殕"],"zhí shi":["殖"],"yè yān yàn":["殗"],"hūn mèi":["殙"],chòu:["殠","臰","遚"],"kuì huì":["殨","溃","潰"],cuàn:["殩","熶","爨","窜","竄","篡","簒"],"yīn yān yǐn":["殷"],"qìng kēng shēng":["殸"],"yáo xiáo xiào":["殽"],"gū gǔ":["毂","蛄"],"guàn wān":["毌"],"dú dài":["毒"],"xún xùn":["毥"],mú:["毪","氁"],"dòu nuò":["毭"],"sāi suī":["毸"],lu:["氇"],sào:["氉","瘙","矂","髞"],"shì zhī":["氏"],"dī dǐ":["氐"],"máng méng":["氓"],"yáng rì":["氜"],shuǐ:["水","氵","氺","閖"],"zhěng chéng zhèng":["氶"],tǔn:["氽"],"fán fàn":["氾"],"guǐ jiǔ":["氿"],"bīn pà pā":["汃"],"zhuó què":["汋"],"dà tài":["汏"],pìn:["汖","牝","聘"],"hàn hán":["汗","馯"],tu:["汢"],"tāng shāng":["汤","湯"],"zhī jì":["汥"],"gàn hán cén":["汵"],"wèn mén":["汶"],"fāng pāng":["汸"],"hǔ huǎng":["汻"],"niú yóu":["汼"],hàng:["沆"],"shěn chén":["沈"],"dùn zhuàn":["沌"],"nǜ niǔ":["沑"],"méi mò":["沒","没"],"tà dá":["沓"],"mì wù":["沕"],"hóng pāng":["沗"],"shā shà":["沙"],"zhuǐ zǐ":["沝"],"ōu òu":["沤","漚"],"jǔ jù":["沮"],"tuō duó":["沰"],"mǐ lì":["沵"],"yí chí":["沶"],"xiè yì":["泄"],"bó pō":["泊"],"mì bì":["泌","秘"],"chù shè":["泏"],"yōu yòu āo":["泑"],"pēng píng":["泙","硑"],"pào pāo":["泡"],"ní nì":["泥","秜"],"yuè sà":["泧"],"jué xuè":["泬","疦"],"lóng shuāng":["泷","瀧"],"luò pō":["泺","濼"],"zé shì":["泽","澤"],"sǎ xǐ":["洒"],"sè qì zì":["洓"],"xǐ xiǎn":["洗"],"kǎo kào":["洘"],"àn yàn è":["洝"],"lěi lèi":["洡"],"qiè jié":["洯"],"qiǎn jiān":["浅"],"jì jǐ":["济","済","濟","纪"],"hǔ xǔ":["浒","滸"],"jùn xùn":["浚","濬"],"yǐng chéng yíng":["浧"],"liàn lì":["浰"],"féng hóng":["浲","溄"],"jiǒng jiōng":["浻"],"suī něi":["浽"],"yǒng chōng":["涌"],"tūn yūn":["涒"],"wō guō":["涡","渦"],hēng:["涥","脝"],"zhǎng zhàng":["涨","漲"],"shòu tāo":["涭"],shuàn:["涮","腨"],"kōng náng":["涳"],"wò wǎn yuān":["涴"],"tuō tuò":["涶"],wō:["涹","猧","窝","窩","莴","萵","蜗","蝸","踒"],"qiè jí":["淁"],"guǒ guàn":["淉"],"lín lìn":["淋","獜","疄"],"tǎng chǎng":["淌"],"nào chuò zhuō":["淖"],"péng píng":["淜"],féi:["淝","肥","腓","蜰"],"pì pèi":["淠"],"niǎn shěn":["淰"],"biāo hǔ":["淲"],"chún zhūn":["淳"],"hùn hún":["混"],qiǎn:["淺","繾","缱","肷","膁","蜸","譴","谴","遣","鑓"],"wèn mín":["渂"],"rè ruò luò":["渃"],"dú dòu":["渎","瀆","读"],"jiàn jiān":["渐","溅","漸","濺"],"miǎn shéng":["渑","澠"],"nuǎn nuán":["渜"],"qiú wù":["渞"],"tíng tīng":["渟"],"dì tí dī":["渧"],"gǎng jiǎng":["港"],"hōng qìng":["渹"],tuān:["湍","煓"],"huì mǐn xū":["湏"],"xǔ xù":["湑"],pén:["湓","瓫","盆","葐"],"mǐn hūn":["湣"],"tuàn nuǎn":["湪"],"qiū jiǎo":["湫","湬"],"yān yīn":["湮"],"bàn pán":["湴"],"zhuāng hún":["湷"],"yàn guì":["溎"],"lián liǎn nián xián xiàn":["溓"],"dá tǎ":["溚","鿎"],"liū liù":["溜","澑","蹓"],lùn:["溣"],mǎ:["溤","犸","獁","玛","瑪","码","碼","遤","鎷","馬","马","鰢","鷌"],"zhēn qín":["溱"],"nì niào":["溺"],"chù xù":["滀","畜"],"wěng wēng":["滃"],"hào xuè":["滈"],"qì xì xiē":["滊"],"xíng yíng":["滎"],"zé hào":["滜"],"piāo piào piǎo":["漂"],"cóng sǒng":["漎"],"féng péng":["漨"],"luò tà":["漯"],"pēng bēn":["漰"],"chóng shuāng":["漴"],"huǒ kuò huò":["漷"],"liáo liú":["漻"],"cuǐ cuī":["漼"],"cóng zǒng":["潀"],"cóng zōng":["潈"],"pì piē":["潎"],"dàng xiàng":["潒"],"huáng guāng":["潢"],"liáo lào lǎo":["潦"],"cōng zòng":["潨"],"zhí zhì":["潪"],"tān shàn":["潬"],"tú zhā":["潳"],"sàn sǎ":["潵"],hēi:["潶","黑","黒","𬭶"],"chéng dèng":["澄","瀓"],"cūn cún":["澊"],"péng pēng":["澎"],"hòng gǒng":["澒","銾"],"wàn màn":["澫"],"kuài huì":["澮"],"guō wō":["濄"],"pēn fén":["濆"],"jí shà":["濈"],"huì huò":["濊"],"dǐng tìng":["濎"],"mǐ nǐ":["濔"],"bì pì":["濞"],"cuì zuǐ":["濢"],"hù huò":["濩"],"ǎi kài kè":["濭"],"wěi duì":["濻","瀢"],"zàn cuán":["濽","灒"],"yǎng yàng":["瀁"],"wǎng wāng":["瀇"],"mò miè":["瀎","眜"],suǐ:["瀡","膸","髓"],"huái wāi":["瀤"],"zùn jiàn":["瀳"],"yīng yǐng yìng":["瀴"],"ráng ràng":["瀼"],shuàng:["灀"],"zhuó jiào zé":["灂"],sǎ:["灑","訯","靸"],"luán luàn":["灓"],"dǎng tǎng":["灙"],"xún quán quàn":["灥"],"huǒ biāo":["灬"],"zhà yù":["灹"],"fén bèn":["炃"],"jiǒng guì":["炅"],"pàng fēng":["炐"],quē:["炔","缺","缼","蒛"],biān:["炞","煸","甂","砭","笾","箯","籩","編","编","蝙","邉","邊","鍽","鞭","鯾","鯿","鳊"],"zhāo zhào":["炤"],"zhuō chù":["炪"],"pào páo bāo":["炮"],"páo fǒu":["炰"],"shǎn qián shān":["炶"],"zhà zhá":["炸"],"jiǎo yào":["烄"],quǎn:["烇","犬","犭","畎","綣","绻","虇"],"yàng yáng":["烊"],"lào luò":["烙"],"huí huǐ":["烠"],rè:["热","熱"],"fú páo":["烰"],"xiè chè":["烲","焎"],"yàn shān":["烻"],"hūn xūn":["焄"],kào:["焅","犒","銬","铐","靠","鮳","鯌","鲓","㸆"],"juān yè":["焆"],"jùn qū":["焌"],"tāo dào":["焘"],"chǎo jù":["焣"],"wò ài":["焥"],"zǒng cōng":["焧"],"xī yì":["焬"],"xìn xīn":["焮"],"chāo zhuō":["焯"],"xiǒng yīng":["焸","焽"],kuǐ:["煃","跬","蹞","頍","𫠆"],"huī yùn xūn":["煇"],"jiǎo qiāo":["煍"],"qián shǎn shān":["煔"],"xī yí":["煕"],"shà shā":["煞"],"yè zhá":["煠"],"yáng yàng":["煬"],"ēn yūn":["煾"],"yūn yǔn":["熅"],"hè xiāo":["熇"],xióng:["熊","熋","雄"],"xūn xùn":["熏","爋"],gòng:["熕","貢","贡"],liū:["熘"],"cōng zǒng":["熜"],"lù āo":["熝"],"shú shóu":["熟"],"fēng péng":["熢"],"cuǐ suī":["熣"],tēng:["熥","膯","鼟"],"yùn yù":["熨"],"áo āo":["熬"],"hàn rǎn":["熯"],"ōu ǒu":["熰"],"huáng huǎng":["熿"],"chǎn dǎn chàn":["燀"],"jiāo zhuó qiáo jué":["燋"],"yàn yān":["燕"],"tài liè":["燤"],āo:["爊"],"yàn xún":["爓"],"jué jiào":["爝","覐","覚","覺","觉"],"lǎn làn":["爦"],"zhuǎ zhǎo":["爪"],"zhǎo zhuǎ":["爫"],"fù fǔ":["父"],diē:["爹","褺","跌"],zāng:["牂","羘","臧","賍","賘","贓","贜","赃","髒"],"piàn piān":["片"],"biān miàn":["牑"],bǎng:["牓","綁","绑"],"yǒu yōng":["牗"],"chēng chèng":["牚","竀"],niú:["牛","牜"],"jiū lè":["牞"],"mù móu":["牟"],māng:["牤"],"gē qiú":["牫"],"yòu chōu":["牰"],"tè zhí":["犆"],bēn:["犇","錛","锛"],"jiān qián":["犍","玪"],má:["犘","痲","蔴","蟇","麻"],"máo lí":["犛"],"bá quǎn":["犮"],"zhuó bào":["犳"],"àn hān":["犴"],"kàng gǎng":["犺"],"pèi fèi":["犻"],"fān huān":["犿"],kuáng:["狂","狅","誑","诳","軖","軠","鵟","𫛭"],"yí quán chí":["狋"],"xīng shēng":["狌"],"tuó yí":["狏"],kǔ:["狜","苦"],"huán huān":["狟"],"hé mò":["狢"],"tà shì":["狧"],"máng dòu":["狵"],"xī shǐ":["狶"],suān:["狻","痠","酸"],"bài pí":["猈"],"jiān yàn":["猏","豣"],"yī yǐ":["猗"],"yá wèi":["猚"],cāi:["猜"],"māo máo":["猫","貓"],"chuàn chuān":["猭"],"tuān tuàn":["猯","貒"],"yà jiá qiè":["猰"],"hè xiē gé hài":["猲"],"biān piàn":["猵","獱"],"bó pò":["猼"],"háo gāo":["獋"],"fén fèn":["獖"],"yào xiāo":["獟"],"shuò xī":["獡"],"gé liè xiē":["獦"],"nòu rú":["獳"],"náo nǎo yōu":["獶"],ráng:["獽","瓤","禳","穣","穰","蘘","躟","鬤"],"náo yōu":["獿"],"lǜ shuài":["率"],"wáng wàng":["王"],"yáng chàng":["玚"],"mín wén":["玟"],"bīn fēn":["玢"],"mén yǔn":["玧"],"qiāng cāng":["玱","瑲","篬"],"án gān":["玵"],"xuán xián":["玹"],"cī cǐ":["玼","跐"],"yí tāi":["珆"],"zǔ jù":["珇"],fà:["珐","琺","蕟","髪","髮"],"yín kèn":["珢"],"huī hún":["珲"],"xuán qióng":["琁"],"fú fū":["琈"],"bǐng pín":["琕"],"cuì sè":["琗"],"yù wéi":["琟"],"tiǎn tiàn":["琠"],"zhuó zuó":["琢"],"běng pěi":["琣"],guǎn:["琯","璭","痯","筦","管","舘","輨","錧","館","馆","鳤"],"hún huī":["琿"],"xié jiē":["瑎"],"chàng dàng yáng":["瑒"],"tiàn zhèn":["瑱"],"bīn pián":["瑸","璸"],"tú shū":["瑹"],cuǐ:["璀","皠","趡"],"zǎo suǒ":["璅"],"jué qióng":["璚"],"lú fū":["璷"],"jì zī":["璾"],suí:["瓍","綏","绥","遀","随","隨","髄"],"mí xǐ":["瓕"],"qióng wěi wèi":["瓗"],"huán yè yà":["瓛"],"bó páo":["瓟"],"zhí hú":["瓡"],piáo:["瓢","闝"],"wǎ wà":["瓦"],"xiáng hóng":["瓨"],wèng:["瓮","甕","罋","蕹","齆"],"shèn shén":["甚"],ruí:["甤","緌","蕤"],yòng:["用","砽","苚","蒏","醟","㶲"],shuǎi:["甩"],béng:["甭","甮"],"yóu zhá":["甴"],"diàn tián shèng":["甸"],"tǐng dīng":["町","甼"],"zāi zī":["甾"],"bì qí":["畁"],"dá fú":["畗"],"cè jì":["畟"],"zāi zī tián":["畠"],"zhì chóu shì":["畤"],"fān pān":["畨","番"],"shē yú":["畬"],"dāng dàng dǎng":["當"],"jiāng qiáng":["疆"],"pǐ yǎ shū":["疋"],"jié qiè":["疌"],"yí nǐ":["疑"],nè:["疒","眲","訥","讷"],"gē yì":["疙"],"nüè yào":["疟","瘧"],"lì lài":["疠","癘"],"yǎ xiā":["疨"],xuē:["疶","蒆","薛","辥","辪","靴","鞾"],"dǎn da":["疸"],"fá biǎn":["疺"],"fèi féi":["疿","痱"],"shān diàn":["痁"],"téng chóng":["痋"],"tōng tóng":["痌"],"wěi yòu yù":["痏"],"tān shǐ":["痑"],"pū pù":["痡","鋪"],"bēng péng":["痭"],"má lìn":["痳"],"tiǎn diàn":["痶"],"ān yè è":["痷"],"kē ē":["痾"],"zhì chì":["瘈"],"jiǎ xiá xiā":["瘕"],"lěi huì":["瘣"],"chài cuó":["瘥"],"diān chēn":["瘨"],"da dá":["瘩"],"biě biē":["瘪"],qué:["瘸"],"dàn dān":["癉"],"guì wēi":["癐"],"nòng nóng":["癑"],"biē biě":["癟"],"bō bǒ":["癷"],bái:["白"],"jí bī":["皀"],"de dì dí dī":["的"],"pā bà":["皅"],"gāo háo":["皋"],"gāo yáo":["皐"],"lì luò bō":["皪"],"zhā cǔ":["皻"],"zhāo zhǎn dǎn":["皽"],"jiān jiàn":["监","監","鋻","间","鞬"],"gài gě hé":["盖"],"máng wàng":["盳"],yuǎn:["盶","逺","遠"],"tián xián":["盷"],"xiāng xiàng":["相"],dǔn:["盹","趸","躉"],"xì pǎn":["盻"],"shěng xǐng":["省"],"yún hùn":["眃"],"miǎn miàn":["眄"],"kàn kān":["看"],"yìng yāng yǎng":["眏"],"yǎo āo ǎo":["眑"],"jū xū kōu":["眗"],"yí chì":["眙"],"dié tì":["眣"],"bǐng fǎng":["眪"],"pàng pán":["眫"],"mī mí":["眯","瞇"],"xuàn shùn xún":["眴"],tiào:["眺","粜","糶","覜","趒"],"zhe zhuó zháo zhāo":["着"],"qiáo shào xiāo":["睄"],"cuó zhuài":["睉"],gùn:["睔","謴"],"suì zuì":["睟"],"pì bì":["睥","稫","辟"],"yì zé gāo":["睪"],"xǐng xìng":["睲"],"guì wèi kuì":["瞆"],"kòu jì":["瞉"],"qióng huán":["瞏"],"mán mén":["瞒","瞞"],"diāo dōu":["瞗"],"lou lóu lǘ":["瞜"],"shùn rún":["瞤"],"liào liǎo":["瞭","钌"],"jiàn xián":["瞯"],"wǔ mí":["瞴"],"guì kuì":["瞶"],"nǐng chēng":["矃"],"huò yuè":["矆"],"mēng méng":["矇"],"kuàng guō":["矌"],"guàn quán":["矔"],"mǎn mán":["矕"],"jīn guān qín":["矜"],"jīn qín guān":["矝"],"yù xù jué":["矞"],"jiǎo jiáo":["矫","矯"],duǎn:["短"],"shí dàn":["石"],"gāng qiāng kòng":["矼"],"huā xū":["砉"],"pīn bīn fēn":["砏"],"yán yàn":["研","硏"],"luǒ kē":["砢"],"fú fèi":["砩","笰"],"zhǔ zhù":["砫"],"lá lì lā":["砬"],"kuāng guāng":["硄"],"gè luò":["硌"],"shuò shí":["硕","碩"],"wèi wéi ái":["硙"],"què kè kù":["硞"],"mǎng bàng":["硥"],"luò lòng":["硦"],"yǒng tóng":["硧"],nüè:["硸","虐"],"kēng kěng":["硻"],"yān yǎn":["硽"],"zhuì chuí duǒ":["硾"],"kōng kòng":["硿"],"zòng cóng":["碂"],"jiān zhàn":["碊"],"lù liù":["碌","陆"],"què xī":["碏"],"lún lǔn lùn":["碖"],"náo gāng":["碙"],"jié yà":["碣"],"wèi wěi":["碨"],"tí dī":["碮"],"chá chā":["碴"],"qiāo què":["碻"],"sù xiè":["碿"],"liú liù":["磂","遛","鎦","馏"],"sī tí":["磃"],"bàng páng":["磅"],"huá kě gū":["磆"],"wěi kuǐ":["磈"],"xiá qià yà":["磍"],"lián qiān":["磏"],"wèi ái gài":["磑"],"lá lā":["磖"],"áo qiāo":["磝"],"pēng pèng":["磞","閛"],"yīn yǐn":["磤"],"lěi léi":["磥"],"mó mò":["磨"],"qì zhú":["磩"],"láo luò":["磱"],"pán bō":["磻"],"jí shé":["磼"],"hé qiāo qiào":["礉"],"kè huò":["礊"],"què hú":["礐"],"è qì":["礘"],cǎ:["礤","礸"],"xián xín":["礥"],"léi lěi lèi":["礧"],"yán yǎn":["礹"],"qí zhǐ":["祇","蚔"],"bēng fāng":["祊"],"bì mì":["祕"],suàn:["祘","笇","筭","算","蒜"],"piào piāo":["票"],"jì zhài":["祭"],"shuì lèi":["祱"],"jìn jīn":["禁"],"chán shàn":["禅"],"yáng shāng":["禓"],"zhī zhǐ tí":["禔"],"shàn chán":["禪"],"yú yù ǒu":["禺"],"zǐ zì":["秄"],"chá ná":["秅"],"zhǒng zhòng chóng":["种"],"hào mào":["秏"],"kù kū":["秙"],zū:["租","葅"],chèng:["秤","穪"],"huó kuò":["秮","秳"],"chēng chèn chèng":["称","稱"],"shì zhì":["秲","銴"],"fù pū":["秿"],"xùn zè":["稄"],"tú shǔ":["稌"],"zhùn zhǔn":["稕"],"jī qí":["稘","綨","觭"],"léng líng":["稜"],"zuì zú sū":["稡"],"xì qiè":["稧","郄"],"zhǒng zhòng":["種"],"zōng zǒng":["稯"],"xián jiān liàn":["稴"],"zī jiū":["稵"],"jī qǐ":["稽"],ròng:["穃"],"shān cǎn cēn":["穇"],"mén méi":["穈"],"jǐ jì":["穖"],"xiāo rào":["穘"],"zhuō bó":["穛"],"tóng zhǒng zhòng":["穜"],zuō:["穝"],"biāo pāo":["穮","藨"],"zhuō jué":["穱"],"cuán zàn":["穳"],"kōng kòng kǒng":["空"],"yū yǔ":["穻"],zhǎi:["窄","鉙"],báo:["窇","雹"],"kū zhú":["窋"],"jiào liáo liù":["窌"],"wā guī":["窐"],"tiǎo yáo":["窕"],"xūn yìn":["窨"],"yà yē":["窫"],"tián diān yǎn":["窴"],"chāo kē":["窼"],"kuǎn cuàn":["窽","窾"],"chù qì":["竐"],"qǔ kǒu":["竘"],"jìng zhěn":["竧"],"kǎn kàn":["竷"],"zhú dǔ":["竺"],"lè jīn":["竻"],"zhuì ruì":["笍"],"háng hàng":["笐"],"cén jìn hán":["笒"],"dā xiá nà":["笚"],"zé zuó":["笮"],"lóng lǒng":["笼","篭","籠","躘","龓"],"zhù zhú":["筑","築"],"dá dā":["答","荅"],shāi:["筛","篩","簁","籭"],"yún jūn":["筠"],"láng làng":["筤","郎","阆"],"zhì zhǐ":["筫"],o:["筽"],"póu bù fú pú":["箁"],"pái bēi":["箄"],gè:["箇","虼","鉻","铬"],"tái chí":["箈"],"guǎi dài":["箉"],"zhào dào":["箌"],"jīng qìng":["箐"],"lín lǐn":["箖"],"jùn qūn":["箘"],"shī yí":["箷","釶"],"yuē yào chuò":["箹"],"xiāo shuò qiào":["箾"],"gōng gǎn lǒng":["篢"],"páng péng":["篣"],"zhuó huò":["篧"],"jiǎn jiān":["篯"],"dí zhú":["篴"],"zān cēn cǎn":["篸"],"zhuàn suǎn zuàn":["篹"],"piǎo biāo":["篻"],"guó guì":["簂"],"cè jí":["簎"],"mì miè":["簚"],"shāi sī":["簛"],"sǔn zhuàn":["簨"],"gàn gǎn":["簳"],"bò bǒ":["簸"],"bó bù":["簿"],shi:["籂"],"zhēn jiān":["籈"],"zhuàn zuǎn":["籑"],"fān pān biān":["籓"],"sǒu shǔ":["籔"],zuǎn:["籫","繤","纂","纉","纘","缵"],nǚ:["籹","釹","钕"],"shā chǎo":["粆"],"kāng jīng":["粇"],fěn:["粉","黺"],cū:["粗","觕","麁","麄","麤"],"nián zhān":["粘"],"cè sè":["粣"],"zhōu yù":["粥"],"shēn sǎn":["糁"],"biān biǎn":["糄","萹"],miàn:["糆","面","靣","麪","麫","麵","麺"],"hú hū hù":["糊"],"gǔ gòu":["糓"],"mí méi":["糜"],"sǎn shēn":["糝","糣"],zāo:["糟","蹧","遭","醩"],"mì sī":["糸"],"jiū jiǔ":["糺"],"xì jì":["系","繫"],"zhēng zhěng":["糽"],"chà chǎ":["紁","衩"],"yuē yāo":["約","约"],"hóng gōng":["紅","红"],"hé gē":["紇","纥"],"wén wèn":["紋","纹"],fóu:["紑"],"jì jié jiè":["紒"],"pī pí bǐ":["紕","纰"],"jīn jìn":["紟"],"zhā zā":["紥","紮"],hā:["紦"],"fū fù":["紨"],"chōu chóu":["紬"],"lèi léi lěi":["累"],"bō bì":["紴"],"tiǎn zhěn":["紾"],"jiōng jiǒng":["絅"],"jié jiē":["結","结","节"],"guà kuā":["絓"],"bǎi mò":["絔"],"gēng huán":["絙"],"jié xié":["絜"],"quán shuān":["絟"],"gǎi ǎi":["絠"],"luò lào":["絡","络"],"bīng bēng pēng":["絣"],"gěi jǐ":["給","给"],"tóng tōng dòng":["絧"],"tiào diào dào":["絩"],"lěi lèi léi":["絫"],"gāi hài":["絯"],"chī zhǐ":["絺"],"wèn miǎn mán wàn":["絻"],"huán huàn wàn":["綄"],"qīn xiān":["綅"],"tì tí":["綈"],"yán xiàn":["綖"],"zōng zèng zòng":["綜"],"chēn lín":["綝"],"zhǔn zhùn":["綧"],"qiàn qīng zhēng":["綪"],"qìng qǐ":["綮"],"lún guān":["綸","纶"],"chuò chāo":["綽","绰"],"tián tǎn chān":["緂"],"lǜ lù":["緑","绿"],"ruǎn ruàn":["緛"],"jí qī":["緝"],"zhòng chóng":["緟","重"],"miáo máo":["緢"],"xiè yè":["緤"],huǎn:["緩","缓","㬊"],"gēng gèng":["緪","縆"],"tōu xū shū":["緰"],"zōng zòng":["緵","繌"],"yùn gǔn":["緷"],"guā wō":["緺"],"yùn yūn wēn":["緼","縕"],"bāng bàng":["縍"],"gǔ hú":["縎","鶻"],"cī cuò suǒ":["縒"],"cuī shuāi":["縗"],"róng rǒng ròng":["縙"],"zài zēng":["縡"],cài:["縩","菜","蔡"],"féng fèng":["縫"],"suō sù":["縮","缩"],"yǎn yǐn":["縯","酓"],"zòng zǒng":["縱","纵"],"zhuàn juàn":["縳"],"mò mù":["縸","莫"],"piǎo piāo":["縹","缥"],"fán pó":["繁"],"bēng bèng":["繃"],"móu miù miào liǎo":["繆"],"yáo yóu zhòu":["繇"],"zēng zèng":["繒","缯"],"jú jué":["繘"],"chuō chuò":["繛"],"zūn zǔn":["繜"],rào:["繞","绕","遶"],"chǎn chán":["繟"],"huì huí":["繢","缋","藱"],"qiāo sāo zǎo":["繰"],"jiǎo zhuó":["繳","缴"],"dàn tán chán":["繵"],nǒng:["繷"],"pú fú":["纀"],"yào lì":["纅"],"rǎng xiāng":["纕"],"lí sǎ xǐ lǐ":["纚"],"xiān qiàn":["纤"],"jīng jìng":["经"],"tí tì":["绨"],"bēng běng bèng":["绷"],"zōng zèng":["综"],"jī qī":["缉"],"wēn yùn yūn":["缊"],"fèng féng":["缝"],"shuāi cuī suī":["缞"],"miù móu liáo miào mù":["缪"],"qiāo sāo":["缲"],fǒu:["缶","缹","缻","雬","鴀"],"bà ba pí":["罢","罷"],"guà guǎi":["罫"],"yáng xiáng":["羊","羏"],"měi gāo":["羙"],"yì xī":["羛"],"qiǎng qiān":["羟"],"qiāng kòng":["羫"],"qián xián yán":["羬"],nóu:["羺"],"hóng gòng":["羾"],"pī bì pō":["翍"],"qú yù":["翑"],ké:["翗"],"qiào qiáo":["翘"],"zhái dí":["翟"],"dào zhōu":["翢"],"hóu qú":["翵"],shuǎ:["耍"],"ruǎn nuò":["耎"],"ér nài":["耏"],"zhuān duān":["耑"],"pá bà":["耙"],"chí sì":["耛"],"qù chú":["耝"],"lún lǔn":["耣"],"jí jiè":["耤"],"tāng tǎng":["耥"],pǎng:["耪","覫"],"zhá zé":["耫"],"yē yé":["耶"],"yún yíng":["耺"],"wà tuǐ zhuó":["聉"],"ér nǜ":["聏"],"tiē zhé":["聑"],"dǐ zhì":["聜"],qié:["聺"],"nǐ jiàn":["聻"],"lèi lē":["肋"],cào:["肏","襙","鄵","鼜"],"bó dí":["肑"],"xiào xiāo":["肖"],"dù dǔ":["肚"],chāi:["肞","釵","钗"],"hán qín hàn":["肣"],"pàng pán pàn":["肨","胖"],"zhūn chún":["肫"],āng:["肮","骯"],"yù yō":["育"],"pí bǐ bì":["肶"],"fèi bì":["胇"],"bèi bēi":["背"],"fèi zǐ":["胏"],"píng pēng":["胓","苹"],"fū fú zhǒu":["胕"],"shèng shēng":["胜"],kuà:["胯","跨","骻"],"gǎi hǎi":["胲"],"gē gé gā":["胳"],"néng nài":["能"],"guī kuì":["胿"],"mài mò":["脉"],"zāng zàng":["脏"],"jiǎo jué":["脚","角"],cuǒ:["脞"],"de te":["脦"],"zuī juān":["脧"],něi:["脮","腇","餒","馁","鮾","鯘"],"pú fǔ":["脯"],niào:["脲"],shuí:["脽"],guò:["腂","過","鐹"],"là xī":["腊"],"yān ā":["腌"],"gāo gào":["膏"],"lù biāo":["膔"],chuái:["膗"],"zhuān chuán chún zhuǎn":["膞"],chuài:["膪","踹"],"fán pán":["膰"],"wǔ hū":["膴"],"shān dàn":["膻"],tún:["臀","臋","蛌","豘","豚","軘","霕","飩","饨","魨","鲀","黗"],"bì bei":["臂"],"là gé":["臈"],"sào sāo":["臊"],nào:["臑","閙","闹","鬧"],"ní luán":["臡"],"qiān xián":["臤"],"guàng jiǒng":["臦"],"guǎng jiǒng":["臩"],"chòu xiù":["臭"],"mián biān":["臱"],"dié zhí":["臷"],"zhī jìn":["臸"],"shè shě":["舍"],pù:["舖","舗"],"bān bō pán":["般"],kuā:["舿"],"gèn gěn":["艮"],"sè shǎi":["色"],"fú bó":["艴"],"jiāo qiú":["艽"],"chāi chā":["芆"],"sháo què":["芍"],"hù xià":["芐"],"zì zǐ":["芓"],"huì hū":["芔"],"tún chūn":["芚"],"jiè gài":["芥"],"xù zhù":["芧"],"yuán yán":["芫"],"xīn xìn":["芯"],"lún huā":["芲"],"wù hū":["芴"],"gōu gǒu":["芶"],"mào máo":["芼"],"fèi fú":["芾"],"chán yín":["苂"],qiē:["苆"],"sū sù":["苏"],"tiáo sháo":["苕"],"lì jī":["苙"],"kē hē":["苛"],"jù qǔ":["苣"],"ruò rě":["若"],"zhù níng":["苧"],"pā bó":["苩"],xiú:["苬"],"zhǎ zuó":["苲"],"jū chá":["苴"],nié:["苶"],"shēng ruí":["苼"],"qié jiā":["茄"],"zǐ cí":["茈"],"qiàn xī":["茜"],chǎi:["茝"],"fá pèi":["茷"],ráo:["荛","蕘","襓","饒","饶"],"yíng xíng":["荥"],"qián xún":["荨","蕁"],"yìn yīn":["荫"],"hé hè":["荷"],"shā suō":["莎"],"péng fēng":["莑"],"shēn xīn":["莘"],"wǎn guān guǎn":["莞"],"yóu sù":["莤"],"shāo xiāo":["莦","蛸"],"làng liáng":["莨"],"piǎo fú":["莩"],"wèn wǎn miǎn":["莬"],"shì shí":["莳","蒔"],"tù tú":["莵"],"xiān liǎn":["莶","薟"],"wǎn yù":["菀"],"zōu chù":["菆"],"lù lǜ":["菉"],"jūn jùn":["菌"],"niè rěn":["菍"],"zī zì zāi":["菑"],"tú tù":["菟"],"jiē shà":["菨"],"qiáo zhǎo":["菬"],"tái zhī chí":["菭"],"fēi fěi":["菲","蜚"],"qín qīn jīn":["菳"],"zū jù":["菹","蒩"],"lǐn má":["菻"],"tián tiàn":["菾"],tiē:["萜","貼","贴"],"luò là lào luō":["落"],"zhù zhuó zhe":["著"],"shèn rèn":["葚"],"gě gé":["葛"],"jùn suǒ":["葰"],"kuì kuài":["蒉"],"rú ná":["蒘"],"méng mēng měng":["蒙"],"yuán huán":["蒝"],"xú shú":["蒣"],"xí xì":["蒵"],"mì míng":["蓂"],"sōu sǒu":["蓃"],"gài gě hé hài":["蓋"],"yǎo zhuó":["蓔"],"diào tiáo dí":["蓧"],"xū qiū fū":["蓲"],"zí jú":["蓻"],"liǎo lù":["蓼"],xu:["蓿"],"hàn hǎn":["蔊"],"màn wàn mán":["蔓"],"pó bò":["蔢"],"fān fán bō":["蕃"],"hóng hòng":["蕻"],"yù ào":["薁","隩"],"xí xiào":["薂"],"báo bó bò":["薄"],"cí zī":["薋"],"wàn luàn":["薍"],"kǎo hāo":["薧"],"yuǎn wěi":["薳"],"zhòu chóu":["薵"],"wō mái":["薶"],"xiāo hào":["藃"],"yù xù xū":["藇"],"jiè jí":["藉"],"diào zhuó":["藋"],"cáng zàng":["藏"],lǎ:["藞"],"chú zhū":["藸"],"pín píng":["蘋"],"gān hán":["虷"],"hóng jiàng":["虹"],"huī huǐ":["虺"],"xiā há":["虾"],"mǎ mà mā":["蚂"],"fāng bàng":["蚄"],"bàng bèng":["蚌"],"jué quē":["蚗"],"qín qián":["蚙"],"gōng zhōng":["蚣"],"fǔ fù":["蚥"],"dài dé":["蚮"],"gǒu qú xù":["蚼"],"bǒ pí":["蚾"],"shé yí":["蛇"],tiě:["蛈","鉄","銕","鐡","鐵","铁","驖"],"gé luò":["蛒"],"máng bàng":["蛖"],"yì xǔ":["蛡"],"há gé":["蛤"],"qiè ní":["蛪"],"é yǐ":["蛾"],"zhē zhé":["蜇"],"là zhà":["蜡"],suò:["蜶","逤"],"yóu qiú":["蝤"],"xiā hā":["蝦"],"xī qī":["螇"],"bī pí":["螕"],"nài něng":["螚"],"hé xiá":["螛"],"guì huǐ":["螝"],"mǎ mā mà":["螞"],"shì zhē":["螫"],"zhì dié":["螲"],"jiàn chán":["螹"],"ma má mò":["蟆"],"mǎng měng":["蟒"],"biē bié":["蟞"],"bēn fèi":["蟦"],"láo liáo":["蟧"],"yín xún":["蟫"],"lí lǐ":["蠡"],"xuè xiě":["血"],"xíng háng hàng héng":["行"],"shuāi cuī":["衰"],"tuó tuō":["袉"],"lǐng líng":["袊"],"bào páo pào":["袌"],"jù jiē":["袓"],"hè kè":["袔"],"yí yì":["袘","貤"],"nà jué":["袦"],"bèi pī":["被"],"chǐ nuǒ":["袲"],"chǐ qǐ duǒ nuǒ":["袳"],"jiá qiā jié":["袷"],"bó mò":["袹"],"guī guà":["袿"],"liè liě":["裂"],"chéng chěng":["裎"],"jiē gé":["裓"],"dāo chóu":["裯"],"shang cháng":["裳"],"yuān gǔn":["裷"],"yǎn ān":["裺"],"tì xī":["裼"],"fù fú":["褔"],"chǔ zhǔ":["褚"],"tuì tùn":["褪"],lǎi:["襰"],"yào yāo":["要"],"qín tán":["覃"],"jiàn xiàn":["見","见"],piǎn:["覑","諞","谝","貵","𡎚"],"piē miè":["覕"],"yíng yǐng":["覮"],"qù qū":["覰","覷","觑"],"jiàn biǎn":["覵"],"luó luǎn":["覶"],"zī zuǐ":["觜"],"huà xiè":["觟"],"jiě jiè xiè":["解","觧"],"xué hù":["觷"],"lì lù":["觻"],tǎo:["討","讨"],zhùn:["訰"],"zī zǐ":["訾"],"yí dài":["詒","诒"],xiòng:["詗","诇"],"diào tiǎo":["誂"],"yí chǐ chì":["誃"],"lǎng làng":["誏"],"ēi éi ěi èi xī":["誒","诶"],shuà:["誜"],"yǔ yù":["語","语","雨"],"shuō shuì yuè":["說","说"],"shuí shéi":["誰","谁"],"qū juè":["誳"],"chī lài":["誺"],"nì ná":["誽"],"diào tiáo":["調"],"pǐ bēi":["諀"],"jì jī":["諅"],"zé zuò zhǎ cuò":["諎"],"chù jí":["諔"],"háo xià":["諕"],"lùn lún":["論","论"],"shì dì":["諟"],"huà guā":["諣"],"xǐ shāi āi":["諰"],"nán nàn":["諵","難"],miù:["謬","谬"],zèn:["譖","谮"],"shí zhì":["識","识"],"juàn xuān":["讂"],"yí tuī":["讉"],zhán:["讝"],"xǔ hǔ":["许"],"xiáng yáng":["详"],"tiáo diào zhōu":["调"],"chén shèn":["谌"],"mí mèi":["谜"],"màn mán":["谩"],"gǔ yù":["谷"],"huō huò huá":["豁"],"zhì zhài":["豸"],"huān huán":["貆"],"kěn kūn":["貇"],"mò hé":["貈"],"mò hé háo":["貉"],"jù lóu":["貗"],"zé zhài":["責","责"],"dài tè":["貸"],"bì bēn":["賁"],"jiǎ gǔ jià":["賈"],"xiōng mín":["賯"],càng:["賶"],"zhuàn zuàn":["賺","赚"],"wàn zhuàn":["贃"],"gàn gòng zhuàng":["贛"],"yuán yùn":["贠"],"bēn bì":["贲"],"jiǎ gǔ":["贾"],zǒu:["走","赱","鯐"],"dié tú":["趃"],"jū qiè":["趄"],"qū cù":["趋","趨"],"jí jié":["趌"],"guā huó":["趏"],"què qì jí":["趞"],"tàng tāng":["趟"],"chuō zhuó":["趠"],"qù cù":["趣"],"yuè tì":["趯"],"bō bào":["趵"],"kuà wù":["趶"],"guì jué":["趹"],"fāng fàng páng":["趽"],"páo bà":["跁"],"qí qǐ":["跂"],"jiàn chén":["跈"],"pǎo páo":["跑"],"diǎn diē tiē":["跕"],"jū jù qiè":["跙"],bǒ:["跛"],"luò lì":["跞"],"dài duò duō chí":["跢"],zhuǎi:["跩"],"bèng pián":["跰"],"tiào táo":["跳"],"shū chōu":["跾"],"liàng liáng":["踉"],"tà tā":["踏"],chǎ:["蹅","鑔","镲"],"dí zhí":["蹢"],"dēng dèng":["蹬","鐙","镫"],cèng:["蹭"],"dūn cún":["蹲"],"juě jué":["蹶"],liāo:["蹽"],"xiè sǎ":["躠"],tǐ:["躰","軆","骵"],"yà zhá gá":["轧","軋"],"xìn xiàn":["軐"],"fàn guǐ":["軓"],"zhuàn zhuǎn":["転"],"zhóu zhòu":["軸","轴"],bú:["轐","醭","鳪"],"zhuǎn zhuàn zhuǎi":["转"],"zǎi zài":["载"],"niǎn zhǎn":["辗"],"biān bian":["边"],"dào biān":["辺"],"yǐ yí":["迆","迤","迱"],"guò guo guō":["过"],"wàng kuāng":["迋"],"hái huán":["还"],"zhè zhèi":["这"],"yuǎn yuàn":["远"],"zhì lì":["迣"],"zhù wǎng":["迬"],"zhuī duī":["追"],"shì kuò":["适"],tòu:["透"],"tōng tòng":["通"],guàng:["逛"],"dǎi dài":["逮"],"suì suí":["遂"],"tí dì":["遆"],"yí wèi":["遗"],"shì dí zhé":["適"],cà:["遪"],"huán hái":["還"],"lí chí":["邌"],"kàng háng":["邟"],"nà nèi nā":["那"],"xié yá yé yú xú":["邪"],"gāi hái":["郂"],"huán xún":["郇"],"chī xī":["郗"],hǎo:["郝"],"lì zhí":["郦"],"xiáo ǎo":["郩"],"dōu dū":["都"],liǎo:["曢","鄝","镽"],"zàn cuán cuó":["酂","酇"],"dīng dǐng":["酊"],"cù zuò":["酢"],"fā pō":["酦"],"shāi shī":["酾"],niàng:["酿","醸"],"qiú chōu":["醔"],"pō fā":["醗","醱"],"chǎn chěn":["醦"],"yàn liǎn xiān":["醶"],"niàng niáng":["釀"],"lǐ li":["里"],"lí xǐ xī":["釐"],"liǎo liào":["釕"],"dīng dìng":["釘","钉"],"qiǎo jiǎo":["釥"],"yú huá":["釪"],"huá wū":["釫"],"rì rèn jiàn":["釰","釼"],"dì dài":["釱"],"pī zhāo":["釽"],"yá yé":["釾"],"bǎ pá":["鈀","钯"],"tā tuó":["鉈","铊"],běi:["鉳"],"bǐng píng":["鉼"],"hā kē":["鉿","铪"],chòng:["銃","铳"],"xiǎng jiōng":["銄"],"yù sì":["銉"],"xù huì":["銊"],"rén rěn":["銋"],"shàn shuò":["銏"],"chì lì":["銐"],"xiǎn xǐ":["銑","铣"],"hóu xiàng":["銗"],"diào tiáo yáo":["銚"],"xiān kuò tiǎn guā":["銛","銽","铦"],"zhé niè":["銸"],"zhōng yōng":["銿"],"tōu tù dòu":["鋀"],"méi méng":["鋂"],"wàn jiǎn":["鋄","鎫"],"tǐng dìng":["鋌","铤"],"juān jiān cuān":["鋑"],"sī tuó":["鋖"],"juān xuān juàn":["鋗"],"wú huá wū":["鋘"],"zhuó chuò":["鋜"],"xíng xìng jīng":["鋞"],"jū jú":["鋦","锔"],"zuì niè":["鋷"],"yuān yuǎn wǎn wān":["鋺"],"gāng gàng":["鋼","钢"],zhuī:["錐","锥","騅","骓","鵻"],ā:["錒","锕"],"cuō chā":["鎈"],"suǒ sè":["鎍"],"yáo zú":["鎐"],"yè tà gé":["鎑"],"qiāng chēng":["鎗"],"gé lì":["鎘","镉","鬲"],"bī pī bì":["鎞"],"gǎo hào":["鎬"],"zú chuò":["鏃"],"xiū xiù":["鏅"],"shòu sōu":["鏉"],"dí dī":["鏑","镝"],"qiāo sǎn càn":["鏒"],"lù áo":["鏕"],"tāng táng":["鏜"],"jiàn zàn":["鏩"],"huì suì ruì":["鏸"],"qiǎng qiāng":["鏹","镪"],"sǎn xiàn sà":["鏾"],"jiǎn jiàn":["鐧","锏"],"dāng chēng":["鐺","铛"],"zuān zuàn":["鑽"],"sà xì":["钑"],"yào yuè":["钥"],"tǒu dǒu":["钭"],"zuàn zuān":["钻"],"qiān yán":["铅"],"pí pī":["铍"],"yáo diào tiáo":["铫"],"tāng tàng":["铴"],"pù pū":["铺"],"tán xiān":["锬"],"liù liú":["镏"],"hào gǎo":["镐"],"táng tāng":["镗"],"tán chán xín":["镡"],"huò shǎn":["閄"],"hàn bì":["閈","闬"],"kāng kàng":["閌","闶"],"xián jiàn jiān jiǎn":["閒"],"xiā xiǎ":["閕"],"xiǎ kě":["閜"],"biàn guān":["閞"],"hé gé":["閤","颌"],"hòng xiàng":["閧"],"sē xī":["閪"],"tíng tǐng":["閮"],"è yān":["閼","阏"],"hòng juǎn xiàng":["闂"],"bǎn pàn":["闆"],"dū shé":["闍","阇"],"què quē":["闕"],"tāng táng chāng":["闛"],"kàn hǎn":["闞","阚"],"xì sè tà":["闟"],"mēn mèn":["闷"],"quē què":["阙"],"yán diàn":["阽"],"ā ē":["阿"],"bēi pō pí":["陂"],"yàn yǎn":["隁"],"yú yáo shù":["隃"],"lóng lōng":["隆"],"duì zhuì":["隊"],"suí duò":["隋"],"gāi qí ái":["隑"],"huī duò":["隓","隳"],"wěi kuí":["隗"],"lì dài":["隸"],"zhuī cuī wéi":["隹"],"hè hú":["隺","鶮"],"jùn juàn":["隽","雋"],"nán nàn nuó":["难"],"què qiāo qiǎo":["雀"],"guàn huán":["雚"],"guī xī":["雟"],"sè xí":["雭"],án:["雸"],"wù méng":["雺"],tèng:["霯"],"lù lòu":["露"],mái:["霾"],"jìng liàng":["靚"],"gé jí":["革"],bǎ:["靶"],"yāng yàng":["鞅"],"gé tà sǎ":["鞈"],"biān yìng":["鞕"],"qiào shāo":["鞘"],"juān xuān":["鞙"],"shàng zhǎng":["鞝"],"pí bǐng bì bēi":["鞞"],la:["鞡"],"xiè dié":["鞢"],ēng:["鞥"],"móu mù":["鞪"],"bì bǐng":["鞸"],"mèi wà":["韎"],rǒu:["韖"],"shè xiè":["韘"],"yùn wēn":["韫"],"dùn dú":["頓","顿"],duǐ:["頧"],luō:["頱"],"bīn pín":["頻"],yóng:["顒","颙","鰫"],mān:["顢","颟"],"jǐng gěng":["颈"],"jié xié jiá":["颉"],"kē ké":["颏"],"pín bīn":["频"],"chàn zhàn":["颤"],"fēng fěng":["風","风"],"biāo diū":["颩"],"bá fú":["颰"],"sāo sōu":["颾"],"liù liáo":["飂"],"shí sì yì":["食"],"yǎng juàn":["飬"],"zhù tǒu":["飳"],"yí sì":["飴"],"zuò zé zhā":["飵"],tiè:["飻","餮"],"xiǎng náng":["饟"],"táng xíng":["饧"],"gē le":["饹"],"chā zha":["馇"],"náng nǎng":["馕"],"yūn wò":["馧"],"zhī shì":["馶"],"xìn jìn":["馸"],"kuài jué":["駃"],zǎng:["駔","驵"],"tái dài":["駘"],"xún xuān":["駨"],"liáng láng":["駺"],piàn:["騗","騙","骗","魸"],"dài tái":["骀"],"sāo sǎo":["骚"],"gǔ gū":["骨"],"bèi mó":["骳"],"xiāo qiāo":["骹"],"bǎng pǎng":["髈"],"bó jué":["髉"],"bì pǒ":["髲"],"máo méng":["髳"],"kuò yuè":["髺"],"bā bà":["魞","鲃"],"jì cǐ":["鮆"],"bó bà":["鮊"],"zhǎ zhà":["鮓","鲊"],"chóu dài":["鮘"],"luò gé":["鮥"],"guī xié wā kuí":["鮭"],"xiān xiǎn":["鮮","鲜"],"pū bū":["鯆"],"yì sī":["鯣"],"bà bó":["鲌"],"guī xié":["鲑"],"sāi xǐ":["鳃"],"niǎo diǎo":["鳥"],"diāo zhāo":["鳭"],"gān hàn yàn":["鳱"],"fū guī":["鳺"],"jiān qiān zhān":["鳽"],"hé jiè":["鶡"],"piān biǎn":["鶣"],"chuàn zhì":["鶨"],"cāng qiāng":["鶬"],"sǔn xùn":["鶽"],"biāo páo":["麃"],"zhù cū":["麆"],"jūn qún":["麇","麕"],chi:["麶"],"mó me":["麼"],"mó me ma":["麽"],"mí mǒ":["麿"],"dàn shèn":["黮"],"zhěn yān":["黰"],"dǎn zhǎn":["黵"],"miǎn mǐn měng":["黾"],hōu:["齁"],nàng:["齉"],"qí jì zī zhāi":["齐"],"yín kěn yǎn":["龂"],"yín kěn":["龈"],"gōng wò":["龏"],"guī jūn qiū":["龜","龟"],"kuí wā":["䖯"],lōu:["䁖"],"ōu qū":["𫭟"],"lóu lǘ":["𦝼"],"gǎ gā gá":["嘎"],"wā guà":["坬"],"zhǐ dǐ":["茋"],"gǒng hóng":["硔"],"yáo xiào":["滧"]},M=new Wn;Object.keys(vn).forEach(n=>{const i=vn[n];for(let g of i)M.set(g,n)});const rg=["zh","ch","sh","z","c","s","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","y","w",""],jg=["j","q","x"],ag=["uān","uán","uǎn","uàn","uan","uē","ué","uě","uè","ue","ūn","ún","ǔn","ùn","un","ū","ú","ǔ","ù","u"],bg={uān:"üān",uán:"üán",uǎn:"üǎn",uàn:"üàn",uan:"üan",uē:"üē",ué:"üé",uě:"üě",uè:"üè",ue:"üe",ūn:"ǖn",ún:"ǘn",ǔn:"ǚn",ùn:"ǜn",un:"ün",ū:"ǖ",ú:"ǘ",ǔ:"ǚ",ù:"ǜ",u:"ü"},xg=["ia","ian","iang","iao","ie","iu","iong","ua","uai","uan","uang","ue","ui","uo","üan","üe","van","ve"],Pn={一:"yì",二:"èr",三:"sān",四:"sì",五:"wǔ",六:"liù",七:"qī",八:"bā",九:"jiǔ",十:"shí",百:"bǎi",千:"qiān",万:"wàn",亿:"yì",单:"dān",两:"liǎng",双:"shuāng",多:"duō",几:"jǐ",十一:"shí yī",零一:"líng yī",第一:"dì yī",一十:"yī shí",一十一:"yī shí yī"},Sn={重:"chóng",行:"háng",斗:"dǒu",更:"gēng"};function mg(){const n={零一:"líng yī","〇一":"líng yī",十一:"shí yī",一十:"yī shí",第一:"dì yī",一十一:"yī shí yī"};for(let i in Pn)for(let g in Sn){const u=`${i}${g}`,h=`${Pn[i]} ${Sn[g]}`;n[u]=h}return n}const Tn=mg(),fg=Object.keys(Tn).map(n=>({zh:n,pinyin:Tn[n],probability:1e-12,length:S(n),priority:v.Normal,dict:Symbol("rule")})),Yn={不:{bú:[4]},一:{yí:[4],yì:[1,2,3]}},wg={不:["的","而","之","后","也","还","地"],一:["的","而","之","后","也","还","是"]},qg=Object.keys(Yn);function pg(n,i,g){if(qg.indexOf(n)===-1)return W(n);if(i===g&&i&&W(i)!==i)return G(W(n));if(g&&!wg[n].includes(g)){const u=W(g);if(u!==g){const h=J(u),s=Yn[n];for(let o in s)if(s[o].indexOf(Number(h))!==-1)return o}}}function kg(n,i){if(n==="了"&&(!i||!M.get(i)))return"liǎo"}function vg(n,i){if(n==="々")return!i||!M.get(i)?"tóng":M.get(i).split(" ")[0]}function Cn(n,i,g){return vg(n,i)||kg(n,i)||pg(n,i,g)||W(n)}const en={南宫:"nán gōng",第五:"dì wǔ",万俟:"mò qí",司马:"sī mǎ",上官:"shàng guān",欧阳:"ōu yáng",夏侯:"xià hóu",诸葛:"zhū gě",闻人:"wén rén",东方:"dōng fāng",赫连:"hè lián",皇甫:"huáng fǔ",尉迟:"yù chí",公羊:"gōng yáng",澹台:"tán tái",公冶:"gōng yě",宗政:"zōng zhèng",濮阳:"pú yáng",淳于:"chún yú",太叔:"tài shū",申屠:"shēn tú",公孙:"gōng sūn",仲孙:"zhòng sūn",轩辕:"xuān yuán",令狐:"líng hú",钟离:"zhōng lí",宇文:"yǔ wén",长孙:"zhǎng sūn",慕容:"mù róng",鲜于:"xiān yú",闾丘:"lǘ qiū",司徒:"sī tú",司空:"sī kōng",亓官:"qí guān",司寇:"sī kòu",仉督:"zhǎng dū",子车:"zǐ jū",颛孙:"zhuān sūn",端木:"duān mù",巫马:"wū mǎ",公西:"gōng xī",漆雕:"qī diāo",乐正:"yuè zhèng",壤驷:"rǎng sì",公良:"gōng liáng",拓跋:"tuò bá",夹谷:"jiá gǔ",宰父:"zǎi fǔ",榖梁:"gǔ liáng",段干:"duàn gān",百里:"bǎi lǐ",东郭:"dōng guō",南门:"nán mén",呼延:"hū yán",羊舌:"yáng shé",梁丘:"liáng qiū",左丘:"zuǒ qiū",东门:"dōng mén",西门:"xī mén",句龙:"gōu lóng",毌丘:"guàn qiū",赵:"zhào",钱:"qián",孙:"sūn",李:"lǐ",周:"zhōu",吴:"wú",郑:"zhèng",王:"wáng",冯:"féng",陈:"chén",褚:"chǔ",卫:"wèi",蒋:"jiǎng",沈:"shěn",韩:"hán",杨:"yáng",朱:"zhū",秦:"qín",尤:"yóu",许:"xǔ",何:"hé",吕:"lǚ",施:"shī",张:"zhāng",孔:"kǒng",曹:"cáo",严:"yán",华:"huà",金:"jīn",魏:"wèi",陶:"táo",姜:"jiāng",戚:"qī",谢:"xiè",邹:"zōu",喻:"yù",柏:"bǎi",水:"shuǐ",窦:"dòu",章:"zhāng",云:"yún",苏:"sū",潘:"pān",葛:"gě",奚:"xī",范:"fàn",彭:"péng",郎:"láng",鲁:"lǔ",韦:"wéi",昌:"chāng",马:"mǎ",苗:"miáo",凤:"fèng",花:"huā",方:"fāng",俞:"yú",任:"rén",袁:"yuán",柳:"liǔ",酆:"fēng",鲍:"bào",史:"shǐ",唐:"táng",费:"fèi",廉:"lián",岑:"cén",薛:"xuē",雷:"léi",贺:"hè",倪:"ní",汤:"tāng",滕:"téng",殷:"yīn",罗:"luó",毕:"bì",郝:"hǎo",邬:"wū",安:"ān",常:"cháng",乐:"yuè",于:"yú",时:"shí",傅:"fù",皮:"pí",卞:"biàn",齐:"qí",康:"kāng",伍:"wǔ",余:"yú",元:"yuán",卜:"bǔ",顾:"gù",孟:"mèng",平:"píng",黄:"huáng",和:"hé",穆:"mù",萧:"xiāo",尹:"yǐn",姚:"yáo",邵:"shào",湛:"zhàn",汪:"wāng",祁:"qí",毛:"máo",禹:"yǔ",狄:"dí",米:"mǐ",贝:"bèi",明:"míng",臧:"zāng",计:"jì",伏:"fú",成:"chéng",戴:"dài",谈:"tán",宋:"sòng",茅:"máo",庞:"páng",熊:"xióng",纪:"jǐ",舒:"shū",屈:"qū",项:"xiàng",祝:"zhù",董:"dǒng",梁:"liáng",杜:"dù",阮:"ruǎn",蓝:"lán",闵:"mǐn",席:"xí",季:"jì",麻:"má",强:"qiáng",贾:"jiǎ",路:"lù",娄:"lóu",危:"wēi",江:"jiāng",童:"tóng",颜:"yán",郭:"guō",梅:"méi",盛:"shèng",林:"lín",刁:"diāo",钟:"zhōng",徐:"xú",邱:"qiū",骆:"luò",高:"gāo",夏:"xià",蔡:"cài",田:"tián",樊:"fán",胡:"hú",凌:"líng",霍:"huò",虞:"yú",万:"wàn",支:"zhī",柯:"kē",昝:"zǎn",管:"guǎn",卢:"lú",莫:"mò",经:"jīng",房:"fáng",裘:"qiú",缪:"miào",干:"gān",解:"xiè",应:"yīng",宗:"zōng",丁:"dīng",宣:"xuān",贲:"bēn",邓:"dèng",郁:"yù",单:"shàn",杭:"háng",洪:"hóng",包:"bāo",诸:"zhū",左:"zuǒ",石:"shí",崔:"cuī",吉:"jí",钮:"niǔ",龚:"gōng",程:"chéng",嵇:"jī",邢:"xíng",滑:"huá",裴:"péi",陆:"lù",荣:"róng",翁:"wēng",荀:"xún",羊:"yáng",於:"yū",惠:"huì",甄:"zhēn",曲:"qū",家:"jiā",封:"fēng",芮:"ruì",羿:"yì",储:"chǔ",靳:"jìn",汲:"jí",邴:"bǐng",糜:"mí",松:"sōng",井:"jǐng",段:"duàn",富:"fù",巫:"wū",乌:"wū",焦:"jiāo",巴:"bā",弓:"gōng",牧:"mù",隗:"wěi",山:"shān",谷:"gǔ",车:"chē",侯:"hóu",宓:"mì",蓬:"péng",全:"quán",郗:"xī",班:"bān",仰:"yǎng",秋:"qiū",仲:"zhòng",伊:"yī",宫:"gōng",宁:"nìng",仇:"qiú",栾:"luán",暴:"bào",甘:"gān",钭:"tǒu",厉:"lì",戎:"róng",祖:"zǔ",武:"wǔ",符:"fú",刘:"liú",景:"jǐng",詹:"zhān",束:"shù",龙:"lóng",叶:"yè",幸:"xìng",司:"sī",韶:"sháo",郜:"gào",黎:"lí",蓟:"jì",薄:"bó",印:"yìn",宿:"sù",白:"bái",怀:"huái",蒲:"pú",邰:"tái",从:"cóng",鄂:"è",索:"suǒ",咸:"xián",籍:"jí",赖:"lài",卓:"zhuó",蔺:"lìn",屠:"tú",蒙:"méng",池:"chí",乔:"qiáo",阴:"yīn",鬱:"yù",胥:"xū",能:"nài",苍:"cāng",双:"shuāng",闻:"wén",莘:"shēn",党:"dǎng",翟:"zhái",谭:"tán",贡:"gòng",劳:"láo",逄:"páng",姬:"jī",申:"shēn",扶:"fú",堵:"dǔ",冉:"rǎn",宰:"zǎi",郦:"lì",雍:"yōng",郤:"xì",璩:"qú",桑:"sāng",桂:"guì",濮:"pú",牛:"niú",寿:"shòu",通:"tōng",边:"biān",扈:"hù",燕:"yān",冀:"jì",郏:"jiá",浦:"pǔ",尚:"shàng",农:"nóng",温:"wēn",别:"bié",庄:"zhuāng",晏:"yàn",柴:"chái",瞿:"qú",阎:"yán",充:"chōng",慕:"mù",连:"lián",茹:"rú",习:"xí",宦:"huàn",艾:"ài",鱼:"yú",容:"róng",向:"xiàng",古:"gǔ",易:"yì",慎:"shèn",戈:"gē",廖:"liào",庾:"yǔ",终:"zhōng",暨:"jì",居:"jū",衡:"héng",步:"bù",都:"dū",耿:"gěng",满:"mǎn",弘:"hóng",匡:"kuāng",国:"guó",文:"wén",寇:"kòu",广:"guǎng",禄:"lù",阙:"quē",东:"dōng",欧:"ōu",殳:"shū",沃:"wò",利:"lì",蔚:"wèi",越:"yuè",夔:"kuí",隆:"lóng",师:"shī",巩:"gǒng",厍:"shè",聂:"niè",晁:"cháo",勾:"gōu",敖:"áo",融:"róng",冷:"lěng",訾:"zī",辛:"xīn",阚:"kàn",那:"nā",简:"jiǎn",饶:"ráo",空:"kōng",曾:"zēng",母:"mǔ",沙:"shā",乜:"niè",养:"yǎng",鞠:"jū",须:"xū",丰:"fēng",巢:"cháo",关:"guān",蒯:"kuǎi",相:"xiàng",查:"zhā",后:"hòu",荆:"jīng",红:"hóng",游:"yóu",竺:"zhú",权:"quán",逯:"lù",盖:"gě",益:"yì",桓:"huán",公:"gōng",牟:"móu",哈:"hǎ",言:"yán",福:"fú",肖:"xiāo",区:"ōu",覃:"qín",朴:"piáo",繁:"pó",员:"yùn",句:"gōu",要:"yāo",过:"guō",钻:"zuān",谌:"chén",折:"shé",召:"shào",郄:"qiè",撒:"sǎ",甯:"nìng",六:"lù",啜:"chuài",行:"xíng"},Pg=Object.keys(en).map(n=>({zh:n,pinyin:en[n],probability:1+S(n),length:S(n),priority:v.Surname,dict:Symbol("surname")})),Dn={这个:"zhè ge",成为:"chéng wéi",认为:"rèn wéi",作为:"zuò wéi",部分:"bù fen",要求:"yāo qiú",应该:"yīng gāi",增长:"zēng zhǎng",提供:"tí gōng",觉得:"jué de",任务:"rèn wu",那个:"nà ge",称为:"chēng wéi",为主:"wéi zhǔ",了解:"liǎo jiě",处理:"chǔ lǐ",皇上:"huáng shang",只要:"zhǐ yào",大量:"dà liàng",力量:"lì liàng",几乎:"jī hū",干部:"gàn bù",目的:"mù dì",行为:"xíng wéi",只见:"zhǐ jiàn",认识:"rèn shi",市长:"shì zhǎng",师父:"shī fu",调查:"diào chá",重新:"chóng xīn",分为:"fēn wéi",知识:"zhī shi",导弹:"dǎo dàn",质量:"zhì liàng",行款:"háng kuǎn",行列:"háng liè",行话:"háng huà",行业:"háng yè",隔行:"gé háng",在行:"zài háng",行家:"háng jia",内行:"nèi háng",外行:"wài háng",同行:"tóng háng",本行:"běn háng",行伍:"háng wǔ",洋行:"yáng háng",银行:"yín háng",商行:"shāng háng",支行:"zhī háng",总行:"zǒng háng",行情:"háng qíng",懂行:"dǒng háng",行规:"háng guī",行当:"háng dang",行货:"háng huò",太行:"tài háng",入行:"rù háng",中行:"zhōng háng",农行:"nóng háng",工行:"gōng háng",建行:"jiàn háng",各行:"gè háng",行号:"háng hào",行高:"háng gāo",行首:"háng shǒu",行尾:"háng wěi",行末:"háng mò",行长:"háng cháng",行距:"háng jù",换行:"huàn háng",行会:"háng huì",行辈:"háng bèi",行道:"háng dào",道行:"dào heng",参与:"cān yù",充分:"chōng fèn",尽管:"jǐn guǎn",生长:"shēng zhǎng",数量:"shù liàng",应当:"yīng dāng",院长:"yuàn zhǎng",强调:"qiáng diào",只能:"zhǐ néng",音乐:"yīn yuè",以为:"yǐ wéi",处于:"chǔ yú",部长:"bù zhǎng",蒙古:"měng gǔ",只有:"zhǐ yǒu",适当:"shì dàng",只好:"zhǐ hǎo",成长:"chéng zhǎng",高兴:"gāo xìng",不了:"bù liǎo",产量:"chǎn liàng",胖子:"pàng zi",显得:"xiǎn de",只是:"zhǐ shì",似的:"shì de",率领:"shuài lǐng",改为:"gǎi wéi",不禁:"bù jīn",成分:"chéng fèn",答应:"dā ying",少年:"shào nián",兴趣:"xìng qù",太监:"tài jian",休息:"xiū xi",校长:"xiào zhǎng",更新:"gēng xīn",合同:"hé tong",喝道:"hè dào",重庆:"chóng qìng",重建:"chóng jiàn",使得:"shǐ de",审查:"shěn chá",累计:"lěi jì",给予:"jǐ yǔ",极为:"jí wéi",冠军:"guàn jūn",仿佛:"fǎng fú",头发:"tóu fa",投降:"tóu xiáng",家长:"jiā zhǎng",仔细:"zǐ xì",要是:"yào shi",将领:"jiàng lǐng",含量:"hán liàng",更为:"gèng wéi",积累:"jī lěi",地处:"dì chǔ",县长:"xiàn zhǎng",少女:"shào nǚ",路上:"lù shang",只怕:"zhǐ pà",能量:"néng liàng",储量:"chǔ liàng",供应:"gōng yìng",挑战:"tiǎo zhàn",西藏:"xī zàng",记得:"jì de",总量:"zǒng liàng",当真:"dàng zhēn",将士:"jiàng shì",差别:"chā bié",较为:"jiào wéi",长老:"zhǎng lǎo",大夫:"dài fu",差异:"chā yì",懂得:"dǒng de",尽量:"jǐn liàng",模样:"mú yàng",的确:"dí què",为首:"wéi shǒu",便宜:"pián yi",更名:"gēng míng",石头:"shí tou",州长:"zhōu zhǎng",为止:"wéi zhǐ",漂亮:"piào liang",炮弹:"pào dàn",藏族:"zàng zú",角色:"jué sè",当作:"dàng zuò",尽快:"jǐn kuài",人为:"rén wéi",重复:"chóng fù",胡同:"hú tòng",差距:"chā jù",弟兄:"dì xiong",大将:"dà jiàng",睡觉:"shuì jiào",一觉:"yí jiào",团长:"tuán zhǎng",队长:"duì zhǎng",区长:"qū zhǎng",难得:"nán dé",丫头:"yā tou",会长:"huì zhǎng",弟弟:"dì di",王爷:"wáng ye",重量:"zhòng liàng",誉为:"yù wéi",家伙:"jiā huo",华山:"huà shān",椅子:"yǐ zi",流量:"liú liàng",长大:"zhǎng dà",勉强:"miǎn qiǎng",会计:"kuài jì",过分:"guò fèn",济南:"jǐ nán",调动:"diào dòng",燕京:"yān jīng",少将:"shào jiàng",中毒:"zhòng dú",晓得:"xiǎo de",变更:"biàn gēng",打更:"dǎ gēng",认得:"rèn de",苹果:"píng guǒ",念头:"niàn tou",挣扎:"zhēng zhá",三藏:"sān zàng",剥削:"bō xuē",丞相:"chéng xiàng",少量:"shǎo liàng",寻思:"xún si",夺得:"duó dé",干线:"gàn xiàn",呼吁:"hū yù",处罚:"chǔ fá",长官:"zhǎng guān",柏林:"bó lín",亲戚:"qīn qi",身分:"shēn fèn",胳膊:"gē bo",着手:"zhuó shǒu",炸弹:"zhà dàn",咳嗽:"ké sou",叶子:"yè zi",外长:"wài zhǎng",供给:"gōng jǐ",师长:"shī zhǎng",变量:"biàn liàng",应有:"yīng yǒu",下载:"xià zài",乐器:"yuè qì",间接:"jiàn jiē",底下:"dǐ xià",打扮:"dǎ bàn",子弹:"zǐ dàn",弹药:"dàn yào",热量:"rè liàng",削弱:"xuē ruò",骨干:"gǔ gàn",容量:"róng liàng",模糊:"mó hu",转动:"zhuàn dòng",称呼:"chēng hu",科长:"kē zhǎng",处置:"chǔ zhì",着重:"zhuó zhòng",着急:"zháo jí",强迫:"qiǎng pò",庭长:"tíng zhǎng",首相:"shǒu xiàng",喇嘛:"lǎ ma",镇长:"zhèn zhǎng",只管:"zhǐ guǎn",重重:"chóng chóng",免得:"miǎn de",着实:"zhuó shí",度假:"dù jià",真相:"zhēn xiàng",相貌:"xiàng mào",处分:"chǔ fèn",委屈:"wěi qu",为期:"wéi qī",伯伯:"bó bo",伯子:"bǎi zi",圈子:"quān zi",见识:"jiàn shi",笼罩:"lǒng zhào",与会:"yù huì",都督:"dū du",都市:"dū shì",成都:"chéng dū",首都:"shǒu dū",帝都:"dì dū",王都:"wáng dū",东都:"dōng dū",都护:"dū hù",都城:"dū chéng",建都:"jiàn dū",迁都:"qiān dū",故都:"gù dū",定都:"dìng dū",中都:"zhōng dū",六安:"lù ān",宰相:"zǎi xiàng",较量:"jiào liàng",对称:"duì chèn",总长:"zǒng zhǎng",相公:"xiàng gong",空白:"kòng bái",打量:"dǎ liang",水分:"shuǐ fèn",舌头:"shé tou",没收:"mò shōu",行李:"xíng li",判处:"pàn chǔ",散文:"sǎn wén",处境:"chǔ jìng",孙子:"sūn zi",拳头:"quán tou",打发:"dǎ fā",组长:"zǔ zhǎng",骨头:"gǔ tou",宁可:"nìng kě",更换:"gēng huàn",薄弱:"bó ruò",还原:"huán yuán",重修:"chóng xiū",重来:"chóng lái",只顾:"zhǐ gù",爱好:"ài hào",馒头:"mán tou",军长:"jūn zhǎng",首长:"shǒu zhǎng",厂长:"chǎng zhǎng",司长:"sī zhǎng",长子:"zhǎng zǐ",强劲:"qiáng jìng",恰当:"qià dàng",头儿:"tóu er",站长:"zhàn zhǎng",折腾:"zhē teng",相处:"xiāng chǔ",统率:"tǒng shuài",中将:"zhōng jiàng",命中:"mìng zhòng",名将:"míng jiàng",木头:"mù tou",动弹:"dòng tan",地壳:"dì qiào",干活:"gàn huó",少爷:"shào ye",水量:"shuǐ liàng",补给:"bǔ jǐ",尾巴:"wěi ba",来得:"lái de",好奇:"hào qí",钥匙:"yào shi",当做:"dàng zuò",沉着:"chén zhuó",哑巴:"yǎ ba",车子:"chē zi",上将:"shàng jiàng",恶心:"ě xīn",担子:"dàn zi",应届:"yīng jiè",主角:"zhǔ jué",运转:"yùn zhuǎn",兄长:"xiōng zhǎng",格式:"gé shì",正月:"zhēng yuè",营长:"yíng zhǎng",当成:"dàng chéng",女婿:"nǚ xu",咽喉:"yān hóu",重阳:"chóng yáng",化为:"huà wéi",吐蕃:"tǔ bō",钻进:"zuān jìn",乐队:"yuè duì",亮相:"liàng xiàng",被子:"bèi zi",舍得:"shě de",杉木:"shā mù",击中:"jī zhòng",排长:"pái zhǎng",假期:"jià qī",分量:"fèn liàng",数次:"shù cì",提防:"dī fáng",吆喝:"yāo he",查处:"chá chǔ",量子:"liàng zǐ",里头:"lǐ tou",调研:"diào yán",伺候:"cì hou",重申:"chóng shēn",枕头:"zhěn tou",拚命:"pīn mìng",社长:"shè zhǎng",归还:"guī huán",批量:"pī liàng",畜牧:"xù mù",点着:"diǎn zháo",甚为:"shèn wéi",小将:"xiǎo jiàng",着眼:"zhuó yǎn",处死:"chǔ sǐ",厌恶:"yàn wù",鼓乐:"gǔ yuè",树干:"shù gàn",秘鲁:"bì lǔ",大方:"dà fāng",外头:"wài tou",班长:"bān zhǎng",星宿:"xīng xiù",宁愿:"nìng yuàn",钦差:"qīn chāi",为数:"wéi shù",勾当:"gòu dàng",削减:"xuē jiǎn",间谍:"jiàn dié",埋怨:"mán yuàn",结实:"jiē shi",计量:"jì liáng",淹没:"yān mò",村长:"cūn zhǎng",连长:"lián zhǎng",自给:"zì jǐ",武将:"wǔ jiàng",温差:"wēn chā",直奔:"zhí bèn",供求:"gōng qiú",剂量:"jì liàng",道长:"dào zhǎng",泄露:"xiè lòu",王八:"wáng ba",切割:"qiē gē",间隔:"jiàn gé",一晃:"yì huǎng",长假:"cháng jià",令狐:"líng hú",为害:"wéi hài",句子:"jù zi",偿还:"cháng huán",疙瘩:"gē da",燕山:"yān shān",堵塞:"dǔ sè",夺冠:"duó guàn",扎实:"zhā shi",电荷:"diàn hè",看守:"kān shǒu",复辟:"fù bì",郁闷:"yù mèn",尽早:"jǐn zǎo",切断:"qiē duàn",指头:"zhǐ tou",为生:"wéi shēng",畜生:"chù sheng",切除:"qiē chú",着力:"zhuó lì",着想:"zhuó xiǎng",级差:"jí chā",投奔:"tóu bèn",棍子:"gùn zi",含糊:"hán hu",少妇:"shào fù",兴致:"xìng zhì",纳闷:"nà mèn",干流:"gàn liú",卷起:"juǎn qǐ",扇子:"shàn zi",更改:"gēng gǎi",笼络:"lǒng luò",喇叭:"lǎ ba",载荷:"zài hè",妥当:"tuǒ dàng",为难:"wéi nán",着陆:"zhuó lù",燕子:"yàn zi",干吗:"gàn má",白发:"bái fà",总得:"zǒng děi",夹击:"jiā jī",曝光:"bào guāng",曲调:"qǔ diào",相机:"xiàng jī",叫化:"jiào huà",角逐:"jué zhú",啊哟:"ā yō",载重:"zài zhòng",长辈:"zhǎng bèi",出差:"chū chāi",垛口:"duǒ kǒu",撇开:"piē kāi",厅长:"tīng zhǎng",组分:"zǔ fèn",误差:"wù chā",家当:"jiā dàng",传记:"zhuàn jì",个子:"gè zi",铺设:"pū shè",干事:"gàn shì",杆菌:"gǎn jūn",定量:"dìng liàng",运载:"yùn zài",会儿:"huì er",酋长:"qiú zhǎng",重返:"chóng fǎn",差额:"chā é",露面:"lòu miàn",钻研:"zuān yán",大城:"dài chéng",上当:"shàng dàng",销量:"xiāo liàng",作坊:"zuō fang",照相:"zhào xiàng",哎呀:"āi yā",调集:"diào jí",看中:"kàn zhòng",议长:"yì zhǎng",风筝:"fēng zheng",辟邪:"bì xié",空隙:"kòng xì",更迭:"gēng dié",偏差:"piān chā",声调:"shēng diào",适量:"shì liàng",屯子:"tún zi",无量:"wú liàng",空地:"kòng dì",调度:"diào dù",散射:"sǎn shè",创伤:"chuāng shāng",海参:"hǎi shēn",满载:"mǎn zài",重叠:"chóng dié",落差:"luò chā",单调:"dān diào",老将:"lǎo jiàng",人参:"rén shēn",间断:"jiàn duàn",重现:"chóng xiàn",夹杂:"jiā zá",调用:"diào yòng",萝卜:"luó bo",附着:"fù zhuó",应声:"yìng shēng",主将:"zhǔ jiàng",罪过:"zuì guo",咀嚼:"jǔ jué",为政:"wéi zhèng",过量:"guò liàng",乐曲:"yuè qǔ",负荷:"fù hè",枪弹:"qiāng dàn",悄然:"qiǎo rán",处方:"chǔ fāng",悄声:"qiǎo shēng",曲子:"qǔ zi",情调:"qíng diào",挑衅:"tiǎo xìn",代为:"dài wéi",了结:"liǎo jié",打中:"dǎ zhòng",酒吧:"jiǔ bā",懒得:"lǎn de",增量:"zēng liàng",衣着:"yī zhuó",部将:"bù jiàng",要塞:"yào sài",茶几:"chá jī",杠杆:"gàng gǎn",出没:"chū mò",鲜有:"xiǎn yǒu",间隙:"jiàn xì",重担:"zhòng dàn",重演:"chóng yǎn",重试:"chóng shì",应酬:"yìng chou",只当:"zhǐ dāng",毋宁:"wú nìng",包扎:"bāo zā",前头:"qián tou",卷烟:"juǎn yān",非得:"fēi děi",弹道:"dàn dào",杆子:"gān zi",门将:"mén jiàng",后头:"hòu tou",喝彩:"hè cǎi",暖和:"nuǎn huo",累积:"lěi jī",调遣:"diào qiǎn",倔强:"jué jiàng",宝藏:"bǎo zàng",丧事:"sāng shì",约莫:"yuē mo",纤夫:"qiàn fū",更替:"gēng tì",装载:"zhuāng zài",背包:"bēi bāo",帖子:"tiě zi",松散:"sōng sǎn",呼喝:"hū hè",可恶:"kě wù",自转:"zì zhuàn",供电:"gōng diàn",反省:"fǎn xǐng",坦率:"tǎn shuài",苏打:"sū dá",本分:"běn fèn",落得:"luò de",鄙薄:"bǐ bó",相间:"xiāng jiàn",单薄:"dān bó",混蛋:"hún dàn",贞观:"zhēn guān",附和:"fù hè",能耐:"néng nài",吓唬:"xià hu",未了:"wèi liǎo",引着:"yǐn zháo",抽调:"chōu diào",沙子:"shā zi",席卷:"xí juǎn",标的:"biāo dì",别扭:"biè niu",思量:"sī liang",喝采:"hè cǎi",论语:"lún yǔ",盖子:"gài zi",分外:"fèn wài",弄堂:"lòng táng",乐舞:"yuè wǔ",雨量:"yǔ liàng",毛发:"máo fà",差遣:"chāi qiǎn",背负:"bēi fù",转速:"zhuàn sù",声乐:"shēng yuè",夹攻:"jiā gōng",供水:"gōng shuǐ",主干:"zhǔ gàn",惩处:"chéng chǔ",长相:"zhǎng xiàng",公差:"gōng chāi",榴弹:"liú dàn",省得:"shěng de",条子:"tiáo zi",重围:"chóng wéi",阻塞:"zǔ sè",劲风:"jìng fēng",纠葛:"jiū gé",颠簸:"diān bǒ",点中:"diǎn zhòng",重创:"zhòng chuāng",姥姥:"lǎo lao",迷糊:"mí hu",公家:"gōng jia",几率:"jī lǜ",苦闷:"kǔ mèn",度量:"dù liàng",差错:"chā cuò",暑假:"shǔ jià",参差:"cēn cī",搭载:"dā zài",助长:"zhù zhǎng",相称:"xiāng chèn",红晕:"hóng yùn",舍命:"shě mìng",喜好:"xǐ hào",列传:"liè zhuàn",劲敌:"jìng dí",蛤蟆:"há ma",请假:"qǐng jià",钉子:"dīng zi",沉没:"chén mò",高丽:"gāo lí",休假:"xiū jià",无为:"wú wéi",巴结:"bā jie",了得:"liǎo dé",变相:"biàn xiàng",核弹:"hé dàn",亲家:"qìng jia",承载:"chéng zài",喝问:"hè wèn",还击:"huán jī",交还:"jiāo huán",将令:"jiàng lìng",单于:"chán yú",空缺:"kòng quē",绿林:"lù lín",胆量:"dǎn liàng",执着:"zhí zhuó",低调:"dī diào",闭塞:"bì sè",轻薄:"qīng bó",得当:"dé dàng",占卜:"zhān bǔ",扫帚:"sào zhou",龟兹:"qiū cí",年长:"nián zhǎng",外传:"wài zhuàn",头子:"tóu zi",裁缝:"cái feng",礼乐:"lǐ yuè",血泊:"xuè pō",散乱:"sǎn luàn",动量:"dòng liàng",倒腾:"dǎo teng",取舍:"qǔ shě",咱家:"zán jiā",长发:"cháng fà",爪哇:"zhǎo wā",弹壳:"dàn ké",省悟:"xǐng wù",嚷嚷:"rāng rang",连累:"lián lèi",应得:"yīng dé",族长:"zú zhǎng",柜子:"guì zi",擂鼓:"léi gǔ",眩晕:"xuàn yùn",调配:"tiáo pèi",躯干:"qū gàn",差役:"chāi yì",坎坷:"kǎn kě",少儿:"shào ér",乐团:"yuè tuán",养分:"yǎng fèn",退还:"tuì huán",格调:"gé diào",语调:"yǔ diào",音调:"yīn diào",乐府:"yuè fǔ",古朴:"gǔ pǔ",打点:"dǎ diǎn",差使:"chāi shǐ",匀称:"yún chèn",瘦削:"shòu xuē",膏药:"gāo yao",吞没:"tūn mò",调任:"diào rèn",散居:"sǎn jū",上头:"shàng tóu",风靡:"fēng mǐ",放假:"fàng jià",估量:"gū liang",失当:"shī dàng",中弹:"zhòng dàn",妄为:"wàng wéi",长者:"zhǎng zhě",起哄:"qǐ hòng",末了:"mò liǎo",相声:"xiàng sheng",校正:"jiào zhèng",劝降:"quàn xiáng",矢量:"shǐ liàng",沉闷:"chén mèn",给与:"jǐ yǔ",解法:"jiě fǎ",塞外:"sài wài",将校:"jiàng xiào",嗜好:"shì hào",没落:"mò luò",朴刀:"pō dāo",片子:"piān zi",切削:"qiē xiāo",弹丸:"dàn wán",稀薄:"xī bó",亏得:"kuī dé",间歇:"jiàn xiē",翘首:"qiáo shǒu",色调:"sè diào",处决:"chǔ jué",表率:"biǎo shuài",尺子:"chǐ zi",招降:"zhāo xiáng",称职:"chèn zhí",斗篷:"dǒu peng",铺子:"pù zi",底子:"dǐ zi",负载:"fù zài",干警:"gàn jǐng",倒数:"dào shǔ",将官:"jiàng guān",锄头:"chú tou",归降:"guī xiáng",疟疾:"nüè ji",唠叨:"láo dao",限量:"xiàn liàng",屏息:"bǐng xī",重逢:"chóng féng",器乐:"qì yuè",氢弹:"qīng dàn",脖颈:"bó gěng",妃子:"fēi zi",处事:"chǔ shì",参量:"cān liàng",轻率:"qīng shuài",缥缈:"piāo miǎo",中奖:"zhòng jiǎng",才干:"cái gàn",施舍:"shī shě",卷子:"juàn zi",游说:"yóu shuì",巷子:"xiàng zi",膀胱:"páng guāng",切勿:"qiè wù",看管:"kān guǎn",风头:"fēng tou",精干:"jīng gàn",高差:"gāo chā",恐吓:"kǒng hè",扁担:"biǎn dàn",给养:"jǐ yǎng",格子:"gé zi",供需:"gōng xū",反差:"fǎn chā",飞弹:"fēi dàn",微薄:"wēi bó",发型:"fà xíng",即兴:"jí xìng",攒动:"cuán dòng",间或:"jiàn huò",浅薄:"qiǎn bó",乐章:"yuè zhāng",顺差:"shùn chā",调子:"diào zi",相位:"xiàng wèi",转子:"zhuàn zǐ",劲旅:"jìng lǚ",咔嚓:"kā chā",了事:"liǎo shì",转悠:"zhuàn you",当铺:"dàng pù",爪子:"zhuǎ zi",单子:"dān zi",好战:"hào zhàn",燕麦:"yàn mài",只许:"zhǐ xǔ",干练:"gàn liàn",女将:"nǚ jiàng",酒量:"jiǔ liàng",划船:"huá chuán",伎俩:"jì liǎng",挑拨:"tiǎo bō",少校:"shào xiào",着落:"zhuó luò",憎恶:"zēng wù",刻薄:"kè bó",要挟:"yāo xié",用处:"yòng chu",还手:"huán shǒu",模具:"mú jù",执著:"zhí zhuó",喝令:"hè lìng",保长:"bǎo zhǎng",吸着:"xī zhe",症结:"zhēng jié",公转:"gōng zhuàn",校勘:"jiào kān",重提:"chóng tí",扫兴:"sǎo xìng",铺盖:"pū gài",长史:"zhǎng shǐ",差价:"chā jià",压根:"yà gēn",怔住:"zhèng zhù",应允:"yīng yǔn",切入:"qiē rù",战将:"zhàn jiàng",年少:"nián shào",舍身:"shě shēn",执拗:"zhí niù",处世:"chǔ shì",中风:"zhòng fēng",等量:"děng liàng",放量:"fàng liàng",腔调:"qiāng diào",老少:"lǎo shào",没入:"mò rù",瓜葛:"guā gé",将帅:"jiàng shuài",车载:"chē zài",窝囊:"wō nang",长进:"zhǎng jìn",可汗:"kè hán",并州:"bīng zhōu",供销:"gōng xiāo",切片:"qiē piàn",差事:"chāi shì",知会:"zhī hui",鹰爪:"yīng zhǎo",处女:"chǔ nǚ",切磋:"qiē cuō",日头:"rì tou",押解:"yā jiè",滋长:"zī zhǎng",道观:"dào guàn",脚色:"jué sè",当量:"dāng liàng",婆家:"pó jia",缘分:"yuán fèn",空闲:"kòng xián",好色:"hào sè",怒喝:"nù hè",笼统:"lǒng tǒng",边塞:"biān sài",何曾:"hé céng",重合:"chóng hé",零散:"líng sǎn",轰隆:"hōng lōng",化子:"huà zi",内蒙:"nèi měng",数落:"shǔ luò",逆差:"nì chā",牟利:"móu lì",栅栏:"zhà lan",中标:"zhòng biāo",调档:"diào dàng",佝偻:"gōu lóu",场子:"chǎng zi",甲壳:"jiǎ qiào",重温:"chóng wēn",炮制:"páo zhì",返还:"fǎn huán",自传:"zì zhuàn",高调:"gāo diào",殷红:"yān hóng",固着:"gù zhuó",强求:"qiǎng qiú",本相:"běn xiàng",骄横:"jiāo hèng",草率:"cǎo shuài",气闷:"qì mèn",着色:"zhuó sè",宁肯:"nìng kěn",兴头:"xìng tou",拘泥:"jū nì",夹角:"jiā jiǎo",发髻:"fà jì",猛将:"měng jiàng",约摸:"yuē mo",拖累:"tuō lěi",呢绒:"ní róng",钻探:"zuān tàn",夹层:"jiā céng",落魄:"luò pò",巷道:"hàng dào",运量:"yùn liàng",解闷:"jiě mèn",空儿:"kòng er",估摸:"gū mo",好客:"hào kè",钻孔:"zuān kǒng",糊弄:"hù nòng",荥阳:"xíng yáng",烦闷:"fán mèn",仓卒:"cāng cù",分叉:"fēn chà",厂子:"chǎng zi",小调:"xiǎo diào",少阳:"shào yáng",受降:"shòu xiáng",染坊:"rǎn fáng",胳臂:"gē bei",将门:"jiàng mén",模板:"mú bǎn",配给:"pèi jǐ",为伍:"wéi wǔ",跟头:"gēn tou",划算:"huá suàn",累赘:"léi zhui",哄笑:"hōng xiào",晕眩:"yūn xuàn",干掉:"gàn diào",缝制:"féng zhì",难处:"nán chù",着意:"zhuó yì",蛮横:"mán hèng",奇数:"jī shù",短发:"duǎn fà",生还:"shēng huán",还清:"huán qīng",看护:"kān hù",直率:"zhí shuài",奏乐:"zòu yuè",载客:"zài kè",专横:"zhuān hèng",湮没:"yān mò",空格:"kòng gé",铺垫:"pū diàn",良将:"liáng jiàng",哗啦:"huā lā",散漫:"sǎn màn",脱发:"tuō fà",送还:"sòng huán",埋没:"mái mò",累及:"lěi jí",薄雾:"bó wù",调离:"diào lí",舌苔:"shé tāi",机长:"jī zhǎng",栓塞:"shuān sè",配角:"pèi jué",切口:"qiē kǒu",创口:"chuāng kǒu",哈欠:"hā qian",实弹:"shí dàn",铺平:"pū píng",哈达:"hǎ dá",懒散:"lǎn sǎn",实干:"shí gàn",填空:"tián kòng",刁钻:"diāo zuān",乐师:"yuè shī",量变:"liàng biàn",诱降:"yòu xiáng",搪塞:"táng sè",征调:"zhēng diào",夹道:"jiā dào",干咳:"gān ké",止咳:"zhǐ ké",乐工:"yuè gōng",划过:"huá guò",着火:"zháo huǒ",更正:"gēng zhèng",给付:"jǐ fù",空子:"kòng zi",哪吒:"né zhā",正着:"zhèng zháo",刷子:"shuā zi",丧葬:"sāng zàng",夹带:"jiā dài",安分:"ān fèn",中意:"zhòng yì",长孙:"zhǎng sūn",校订:"jiào dìng",卷曲:"juǎn qū",载运:"zài yùn",投弹:"tóu dàn",柞蚕:"zuò cán",份量:"fèn liàng",调换:"diào huàn",了然:"liǎo rán",咧嘴:"liě zuǐ",典当:"diǎn dàng",寒假:"hán jià",长兄:"zhǎng xiōng",给水:"jǐ shuǐ",须发:"xū fà",枝干:"zhī gàn",属相:"shǔ xiàng",哄抢:"hōng qiǎng",刻划:"kè huà",塞子:"sāi zi",单干:"dān gàn",还乡:"huán xiāng",兆头:"zhào tou",寺观:"sì guàn",督率:"dū shuài",啊哈:"ā ha",割舍:"gē shě",抹布:"mā bù",好恶:"hào wù",下处:"xià chǔ",消长:"xiāo zhǎng",离间:"lí jiàn",准头:"zhǔn tou",校对:"jiào duì",什物:"shí wù",番禺:"pān yú",佛爷:"fó ye",吗啡:"mǎ fēi",盐分:"yán fèn",虎将:"hǔ jiàng",薄荷:"bò he",独处:"dú chǔ",空位:"kòng wèi",铺路:"pū lù",乌拉:"wū lā",调回:"diào huí",来头:"lái tou",闲散:"xián sǎn",胶卷:"jiāo juǎn",冒失:"mào shi",干劲:"gàn jìn",弦乐:"xián yuè",相国:"xiàng guó",丹参:"dān shēn",助兴:"zhù xìng",铺开:"pū kāi",次长:"cì zhǎng",发卡:"fà qiǎ",拮据:"jié jū",刹车:"shā chē",生发:"shēng fà",重播:"chóng bō",缝合:"féng hé",音量:"yīn liàng",少尉:"shào wèi",冲压:"chòng yā",苍劲:"cāng jìng",厚薄:"hòu báo",威吓:"wēi hè",外相:"wài xiàng",呼号:"hū háo",着迷:"zháo mí",挑担:"tiāo dàn",纹路:"wén lù",还俗:"huán sú",强横:"qiáng hèng",着数:"zhāo shù",降顺:"xiáng shùn",挑明:"tiǎo míng",眯缝:"mī feng",分内:"fèn nèi",更衣:"gēng yī",软和:"ruǎn huo",尽兴:"jìn xìng",号子:"hào zi",爪牙:"zhǎo yá",败将:"bài jiàng",猜中:"cāi zhòng",结扎:"jié zā",没空:"méi kòng",夹缝:"jiā fèng",拾掇:"shí duo",掺和:"chān huo",簸箕:"bò ji",电量:"diàn liàng",荷载:"hè zǎi",调式:"diào shì",处身:"chǔ shēn",打手:"dǎ shǒu",弹弓:"dàn gōng",横蛮:"hèng mán",能干:"néng gàn",校点:"jiào diǎn",加载:"jiā zài",干校:"gàn xiào",哄传:"hōng chuán",校注:"jiào zhù",淤塞:"yū sè",马扎:"mǎ zhá",月氏:"yuè zhī",高干:"gāo gàn",经传:"jīng zhuàn",曾孙:"zēng sūn",好斗:"hào dòu",关卡:"guān qiǎ",逃奔:"táo bèn",磨蹭:"mó ceng",牟取:"móu qǔ",颤栗:"zhàn lì",蚂蚱:"mà zha",撮合:"cuō he",趔趄:"liè qie",摔打:"shuāi dǎ",台子:"tái zi",分得:"fēn de",粘着:"nián zhuó",采邑:"cài yì",散装:"sǎn zhuāng",婀娜:"ē nuó",兴味:"xìng wèi",行头:"xíng tou",气量:"qì liàng",调运:"diào yùn",处治:"chǔ zhì",乐音:"yuè yīn",充塞:"chōng sè",恫吓:"dòng hè",论调:"lùn diào",相中:"xiāng zhòng",民乐:"mín yuè",炮仗:"pào zhang",丧服:"sāng fú",骁将:"xiāo jiàng",量刑:"liàng xíng",缝补:"féng bǔ",财会:"cái kuài",大干:"dà gàn",历数:"lì shǔ",校场:"jiào chǎng",塞北:"sài běi",识相:"shí xiàng",辱没:"rǔ mò",鲜亮:"xiān liàng",语塞:"yǔ sè",露脸:"lòu liǎn",凉快:"liáng kuai",腰杆:"yāo gǎn",溜达:"liū da",嘎嘎:"gā gā",公干:"gōng gàn",桔梗:"jié gěng",挑逗:"tiǎo dòu",看门:"kān mén",乐歌:"yuè gē",拓片:"tà piàn",挑动:"tiǎo dòng",准将:"zhǔn jiàng",遒劲:"qiú jìng",磨坊:"mò fáng",逶迤:"wēi yí",搅和:"jiǎo huo",摩挲:"mó suō",作弄:"zuò nòng",苗头:"miáo tou",打颤:"dǎ zhàn",大藏:"dà zàng",畜牲:"chù shēng",勾搭:"gōu da",树荫:"shù yīn",树杈:"shù chà",铁杆:"tiě gǎn",将相:"jiàng xiàng",份子:"fèn zi",视差:"shì chā",绿荫:"lǜ yīn",枪杆:"qiāng gǎn",缝纫:"féng rèn",愁闷:"chóu mèn",点将:"diǎn jiàng",华佗:"huà tuó",劲射:"jìng shè",箱笼:"xiāng lǒng",终了:"zhōng liǎo",鬓发:"bìn fà",结巴:"jiē ba",苦干:"kǔ gàn",看家:"kān jiā",正旦:"zhēng dàn",中肯:"zhòng kěn",厦门:"xià mén",东莞:"dōng guǎn",食量:"shí liàng",宫调:"gōng diào",间作:"jiàn zuò",弹片:"dàn piàn",差池:"chā chí",漂白:"piǎo bái",杠子:"gàng zi",调处:"tiáo chǔ",好动:"hào dòng",转炉:"zhuàn lú",屏气:"bǐng qì",夹板:"jiā bǎn",哀乐:"āi yuè",干道:"gàn dào",苦处:"kǔ chù",劈柴:"pǐ chái",长势:"zhǎng shì",天华:"tiān huá",共处:"gòng chǔ",校验:"jiào yàn",出塞:"chū sài",磨盘:"mò pán",萎靡:"wěi mǐ",奔丧:"bēn sāng",唱和:"chàng hè",大调:"dà diào",非分:"fēi fèn",钻营:"zuān yíng",夹子:"jiā zi",超载:"chāo zài",更始:"gēng shǐ",铃铛:"líng dang",披散:"pī sàn",发还:"fā huán",转轮:"zhuàn lún",横财:"hèng cái",泡桐:"pāo tóng",抛撒:"pāo sǎ",天呀:"tiān yā",糊糊:"hū hu",躯壳:"qū qiào",通量:"tōng liàng",奉还:"fèng huán",午觉:"wǔ jiào",闷棍:"mèn gùn",浪头:"làng tou",砚台:"yàn tái",油坊:"yóu fáng",学长:"xué zhǎng",过载:"guò zài",笔调:"bǐ diào",衣被:"yī bèi",畜产:"xù chǎn",调阅:"diào yuè",蛮干:"mán gàn",曾祖:"zēng zǔ",提干:"tí gàn",变调:"biàn diào",覆没:"fù mò",模子:"mú zi",乐律:"yuè lǜ",称心:"chèn xīn",木杆:"mù gān",重印:"chóng yìn",自省:"zì xǐng",提调:"tí diào",看相:"kàn xiàng",芋头:"yù tou",下切:"xià qiē",塞上:"sài shàng",铺张:"pū zhāng",藤蔓:"téng wàn",薄幸:"bó xìng",解数:"xiè shù",褪去:"tuì qù",霰弹:"xiàn dàn",柚木:"yóu mù",痕量:"hén liàng",雅乐:"yǎ yuè",号哭:"háo kū",诈降:"zhà xiáng",猪圈:"zhū juàn",咋舌:"zé shé",铣床:"xǐ chuáng",防弹:"fáng dàn",健将:"jiàn jiàng",丽水:"lí shuǐ",削发:"xuē fà",空当:"kòng dāng",多相:"duō xiàng",鲜见:"xiǎn jiàn",划桨:"huá jiǎng",载波:"zài bō",跳蚤:"tiào zao",俏皮:"qiào pí",吧嗒:"bā dā",结发:"jié fà",了断:"liǎo duàn",同调:"tóng diào",石磨:"shí mò",时差:"shí chā",鼻塞:"bí sè",挑子:"tiāo zi",推磨:"tuī mò",武侯:"wǔ hóu",抹煞:"mǒ shā",调转:"diào zhuǎn",籍没:"jí mò",还债:"huán zhài",调演:"diào yǎn",分划:"fēn huá",奇偶:"jī ǒu",断喝:"duàn hè",闷雷:"mèn léi",狼藉:"láng jí",饭量:"fàn liàng",还礼:"huán lǐ",转调:"zhuǎn diào",星相:"xīng xiàng",手相:"shǒu xiàng",配乐:"pèi yuè",盖头:"gài tou",连杆:"lián gǎn",簿记:"bù jì",刀把:"dāo bà",量词:"liàng cí",名角:"míng jué",步调:"bù diào",校本:"jiào běn",账簿:"zhàng bù",隽永:"juàn yǒng",稍为:"shāo wéi",易传:"yì zhuàn",乐谱:"yuè pǔ",牵累:"qiān lěi",答理:"dā li",喝斥:"hè chì",吟哦:"yín é",干渠:"gàn qú",海量:"hǎi liàng",精当:"jīng dàng",着床:"zhuó chuáng",月相:"yuè xiàng",庶几:"shù jī",宫观:"gōng guàn",论处:"lùn chǔ",征辟:"zhēng bì",厚朴:"hòu pò",介壳:"jiè qiào",吭哧:"kēng chī",咯血:"kǎ xiě",铺陈:"pū chén",重生:"chóng shēng",乐理:"yuè lǐ",哀号:"āi háo",藏历:"zàng lì",刚劲:"gāng jìng",削平:"xuē píng",浓荫:"nóng yīn",城垛:"chéng duǒ",当差:"dāng chāi",正传:"zhèng zhuàn",并处:"bìng chǔ",创面:"chuāng miàn",旦角:"dàn jué",薄礼:"bó lǐ",晃荡:"huàng dang",臊子:"sào zi",家什:"jiā shí",闷头:"mēn tóu",美发:"měi fà",度数:"dù shu",着凉:"zháo liáng",闯将:"chuǎng jiàng",几案:"jī àn",姘头:"pīn tou",差数:"chā shù",散碎:"sǎn suì",壅塞:"yōng sè",寒颤:"hán zhàn",牵强:"qiān qiǎng",无间:"wú jiàn",轮转:"lún zhuàn",号叫:"háo jiào",铺排:"pū pái",降伏:"xiáng fú",轧钢:"zhá gāng",东阿:"dōng ē",病假:"bìng jià",累加:"lěi jiā",梗塞:"gěng sè",弹夹:"dàn jiā",钻心:"zuān xīn",晃眼:"huǎng yǎn",魔爪:"mó zhǎo",标量:"biāo liàng",憋闷:"biē mèn",猜度:"cāi duó",处士:"chǔ shì",官差:"guān chāi",讨还:"tǎo huán",长门:"cháng mén",馏分:"liú fēn",里弄:"lǐ lòng",色相:"sè xiàng",雅兴:"yǎ xìng",角力:"jué lì",弹坑:"dàn kēng",枝杈:"zhī chà",夹具:"jiā jù",处刑:"chǔ xíng",悍将:"hàn jiàng",好学:"hào xué",好好:"hǎo hǎo",银发:"yín fà",扫把:"sào bǎ",法相:"fǎ xiàng",贵干:"guì gàn",供气:"gōng qì",空余:"kòng yú",捆扎:"kǔn zā",瘠薄:"jí bó",浆糊:"jiàng hu",嘎吱:"gā zhī",调令:"diào lìng",法帖:"fǎ tiè",淋病:"lìn bìng",调派:"diào pài",转盘:"zhuàn pán",供稿:"gōng gǎo",差官:"chāi guān",忧闷:"yōu mèn",教长:"jiào zhǎng",重唱:"chóng chàng",酒兴:"jiǔ xìng",乐坛:"yuè tán",花呢:"huā ní",叱喝:"chì hè",膀臂:"bǎng bì",得空:"dé kòng",转圈:"zhuàn quān",横暴:"hèng bào",哄抬:"hōng tái",引吭:"yǐn háng",载货:"zài huò",中计:"zhòng jì",官长:"guān zhǎng",相面:"xiàng miàn",看头:"kàn tou",盼头:"pàn tou",意兴:"yì xìng",军乐:"jūn yuè",累次:"lěi cì",骨嘟:"gǔ dū",燕赵:"yān zhào",报丧:"bào sāng",弥撒:"mí sa",挨斗:"ái dòu",扁舟:"piān zhōu",丑角:"chǒu jué",吊丧:"diào sāng",强将:"qiáng jiàng",重奏:"chóng zòu",发辫:"fà biàn",着魔:"zháo mó",着法:"zhāo fǎ",盛放:"shèng fàng",填塞:"tián sè",凶横:"xiōng hèng",稽首:"qǐ shǒu",碑帖:"bēi tiè",冲量:"chōng liàng",发菜:"fà cài",假发:"jiǎ fà",翻卷:"fān juǎn",小量:"xiǎo liàng",胶着:"jiāo zhuó",里子:"lǐ zi",调调:"diào diao",散兵:"sǎn bīng",高挑:"gāo tiǎo",播撒:"bō sǎ",夹心:"jiā xīn",扇动:"shān dòng",叨扰:"tāo rǎo",霓裳:"ní cháng",捻子:"niǎn zi",弥缝:"mí féng",撒布:"sǎ bù",场院:"cháng yuàn",省亲:"xǐng qīn",提拉:"tí lā",惯量:"guàn liàng",强逼:"qiáng bī",强征:"qiáng zhēng",晕车:"yùn chē",数道:"shù dào",带累:"dài lèi",拓本:"tà běn",嫌恶:"xián wù",宿将:"sù jiàng",龟裂:"jūn liè",缠夹:"chán jiā",发式:"fà shì",隔扇:"gé shàn",天分:"tiān fèn",癖好:"pǐ hào",四通:"sì tōng",白术:"bái zhú",划伤:"huá shāng",角斗:"jué dòu",听差:"tīng chāi",岁差:"suì chā",丧礼:"sāng lǐ",脉脉:"mò mò",削瘦:"xuē shòu",撒播:"sǎ bō",莎草:"suō cǎo",犍为:"qián wéi",调头:"diào tóu",龙卷:"lóng juǎn",外调:"wài diào",字帖:"zì tiè",卷发:"juǎn fà",揣度:"chuǎi duó",洋相:"yáng xiàng",散光:"sǎn guāng",骨碌:"gū lu",薄命:"bó mìng",笼头:"lóng tóu",咽炎:"yān yán",碌碡:"liù zhou",片儿:"piàn er",纤手:"qiàn shǒu",散体:"sǎn tǐ",内省:"nèi xǐng",强留:"qiáng liú",解送:"jiè sòng",反间:"fǎn jiàn",少壮:"shào zhuàng",留空:"liú kōng",告假:"gào jià",咳血:"ké xuè",薄暮:"bó mù",铺轨:"pū guǐ",磨削:"mó xuē",治丧:"zhì sāng",叉子:"chā zi",哄动:"hōng dòng",蛾子:"é zi",出落:"chū luò",股长:"gǔ zhǎng",贵处:"guì chù",还魂:"huán hún",例假:"lì jià",刹住:"shā zhù",身量:"shēn liàng",同好:"tóng hào",模量:"mó liàng",更生:"gēng shēng",服丧:"fú sāng",率直:"shuài zhí",字模:"zì mú",散架:"sǎn jià",答腔:"dā qiāng",交恶:"jiāo wù",薄情:"bó qíng",眼泡:"yǎn pāo",袅娜:"niǎo nuó",草垛:"cǎo duò",冲劲:"chòng jìn",呢喃:"ní nán",切中:"qiè zhòng",挑灯:"tiǎo dēng",还愿:"huán yuàn",激将:"jī jiàng",更鼓:"gēng gǔ",没药:"mò yào",败兴:"bài xìng",切面:"qiē miàn",散户:"sǎn hù",累进:"lěi jìn",背带:"bēi dài",秤杆:"chèng gǎn",碾坊:"niǎn fáng",簿子:"bù zi",扳手:"bān shǒu",铅山:"yán shān",儒将:"rú jiàng",重光:"chóng guāng",剪发:"jiǎn fà",长上:"zhǎng shàng",小传:"xiǎo zhuàn",压轴:"yā zhòu",弱冠:"ruò guàn",花卷:"huā juǎn",横祸:"hèng huò",夹克:"jiā kè",光晕:"guāng yùn",披靡:"pī mǐ",对调:"duì diào",夹持:"jiā chí",空额:"kòng é",平调:"píng diào",铺床:"pū chuáng",丧钟:"sāng zhōng",作乐:"zuò lè",少府:"shào fǔ",数数:"shuò shuò",奔头:"bèn tou",进给:"jìn jǐ",率性:"shuài xìng",乐子:"lè zi",绑扎:"bǎng zā",挑唆:"tiǎo suō",漂洗:"piǎo xǐ",夹墙:"jiā qiáng",咳喘:"ké chuǎn",乜斜:"miē xie",错处:"cuò chù",闷酒:"mèn jiǔ",时调:"shí diào",重孙:"chóng sūn",经幢:"jīng chuáng",圩场:"xū chǎng",调门:"diào mén",花头:"huā tóu",划拉:"huá la",套色:"tào shǎi",粗率:"cū shuài",相率:"xiāng shuài",款识:"kuǎn zhì",吁请:"yù qǐng",荫蔽:"yīn bì",文蛤:"wén gé",嘀嗒:"dī dā",调取:"diào qǔ",交差:"jiāo chāi",落子:"luò zǐ",相册:"xiàng cè",絮叨:"xù dao",落发:"luò fà",异相:"yì xiàng",浸没:"jìn mò",角抵:"jué dǐ",卸载:"xiè zài",春卷:"chūn juǎn",扎挣:"zhá zheng",畜养:"xù yǎng",吡咯:"bǐ luò",垛子:"duò zi",恶少:"è shào",发际:"fà jì",红苕:"hóng sháo",糨糊:"jiàng hu",哭丧:"kū sāng",稍息:"shào xī",晕船:"yùn chuán",校样:"jiào yàng",外差:"wài chā",脚爪:"jiǎo zhǎo",铺展:"pū zhǎn",芫荽:"yán sui",夹紧:"jiā jǐn",尿泡:"suī pào",丧乱:"sāng luàn",凶相:"xiōng xiàng",华发:"huá fà",打场:"dǎ cháng",云量:"yún liàng",正切:"zhèng qiē",划拳:"huá quán",划艇:"huá tǐng",评传:"píng zhuàn",拉纤:"lā qiàn",句读:"jù dòu",散剂:"sǎn jì",骨殖:"gǔ shi",塞音:"sè yīn",铺叙:"pū xù",阏氏:"yān zhī",冷颤:"lěng zhàn",煞住:"shā zhù",少男:"shào nán",管乐:"guǎn yuè",号啕:"háo táo",纳降:"nà xiáng",拥塞:"yōng sè",万乘:"wàn shèng",杆儿:"gǎn ér",葛藤:"gé téng",簿籍:"bù jí",皮夹:"pí jiā",校准:"jiào zhǔn",允当:"yǔn dàng",器量:"qì liàng",选调:"xuǎn diào",扮相:"bàn xiàng",干才:"gàn cái",基干:"jī gàn",割切:"gē qiē",国乐:"guó yuè",卡壳:"qiǎ ké",辟谷:"bì gǔ",磨房:"mò fáng",咿呀:"yī yā",芥末:"jiè mo",薄技:"bó jì",产假:"chǎn jià",诗兴:"shī xìng",重出:"chóng chū",转椅:"zhuàn yǐ",酌量:"zhuó liang",簿册:"bù cè",藏青:"zàng qīng",的士:"dī shì",调人:"diào rén",解元:"jiè yuán",茎干:"jīng gàn",巨量:"jù liàng",榔头:"láng tou",率真:"shuài zhēn",喷香:"pèn xiāng",锁钥:"suǒ yuè",虾蟆:"há má",相图:"xiàng tú",兴会:"xìng huì",灶头:"zào tóu",重婚:"chóng hūn",钻洞:"zuān dòng",忖度:"cǔn duó",党参:"dǎng shēn",调温:"diào wēn",杆塔:"gān tǎ",葛布:"gé bù",拱券:"gǒng xuàn",夹生:"jiā shēng",露馅:"lòu xiàn",恰切:"qià qiè",散见:"sǎn jiàn",哨卡:"shào qiǎ",烫发:"tàng fà",体量:"tǐ liàng",挺括:"tǐng kuò",系带:"jì dài",相士:"xiàng shì",羊圈:"yáng juàn",转矩:"zhuàn jǔ",吧台:"bā tái",苍术:"cāng zhú",菲薄:"fěi bó",蛤蚧:"gé jiè",蛤蜊:"gé lí",瓜蔓:"guā wàn",怪相:"guài xiàng",临帖:"lín tiè",女红:"nǚ gōng",刨床:"bào chuáng",翘楚:"qiáo chǔ",数九:"shǔ jiǔ",谈兴:"tán xìng",雄劲:"xióng jìng",扎染:"zā rǎn",遮荫:"zhē yīn",周正:"zhōu zhèng",赚头:"zhuàn tou",扒手:"pá shǒu",搀和:"chān huo",诚朴:"chéng pǔ",肚量:"dù liàng",干结:"gān jié",工尺:"gōng chě",家累:"jiā lěi",曲水:"qū shuǐ",沙参:"shā shēn",挑花:"tiǎo huā",阿门:"ā mén",背篓:"bēi lǒu",瘪三:"biē sān",裁处:"cái chǔ",创痛:"chuāng tòng",福相:"fú xiàng",更动:"gēng dòng",豪兴:"háo xìng",还阳:"huán yáng",还嘴:"huán zuǐ",借调:"jiè diào",卷云:"juǎn yún",流弹:"liú dàn",想头:"xiǎng tou",削价:"xuē jià",校阅:"jiào yuè",雅量:"yǎ liàng",别传:"bié zhuàn",薄酒:"bó jiǔ",春假:"chūn jià",发妻:"fà qī",哗哗:"huā huā",宽绰:"kuān chuo",了悟:"liǎo wù",切花:"qiē huā",审度:"shěn duó",应许:"yīng xǔ",转台:"zhuàn tái",仔猪:"zǐ zhū",裁量:"cái liáng",藏戏:"zàng xì",乘兴:"chéng xìng",绸缪:"chóu móu",摧折:"cuī zhé",调经:"tiáo jīng",调职:"diào zhí",缝缀:"féng zhuì",骨朵:"gū duǒ",核儿:"hú er",恒量:"héng liàng",还价:"huán jià",浑朴:"hún pǔ",苦差:"kǔ chāi",面糊:"miàn hù",煞车:"shā chē",省视:"xǐng shì",什锦:"shí jǐn",信差:"xìn chāi",余切:"yú qiē",攒眉:"cuán méi",炸糕:"zhá gāo",钻杆:"zuàn gǎn",扒灰:"pá huī",拌和:"bàn huò",长调:"cháng diào",大溜:"dà liù",抖搂:"dǒu lōu",飞转:"fēi zhuàn",干仗:"gàn zhàng",好胜:"hào shèng",画片:"huà piàn",搅混:"jiǎo hún",螺杆:"luó gǎn",木模:"mù mú",怒号:"nù háo",频数:"pín shù",无宁:"wú níng",遗少:"yí shào",邮差:"yóu chāi",占卦:"zhān guà",占星:"zhān xīng",重审:"chóng shěn",自量:"zì liàng",调防:"diào fáng",发廊:"fà láng",反调:"fǎn diào",缝子:"fèng zi",更夫:"gēng fū",骨子:"gǔ zi",光杆:"guāng gǎn",夹棍:"jiā gùn",居丧:"jū sāng",巨贾:"jù gǔ",看押:"kān yā",空转:"kōng zhuàn",量力:"liàng lì",炮烙:"páo luò",赔还:"péi huán",扑扇:"pū shān",散记:"sǎn jì",散件:"sǎn jiàn",删削:"shān xuē",射干:"shè gàn",条几:"tiáo jī",偷空:"tōu kòng",削壁:"xuē bì",校核:"jiào hé",阴干:"yīn gān",择菜:"zhái cài",重九:"chóng jiǔ",主调:"zhǔ diào",自禁:"zì jīn",吧唧:"bā jī",便溺:"biàn niào",词调:"cí diào",叨咕:"dáo gu",落枕:"lào zhěn",铺砌:"pū qì",刷白:"shuà bái",委靡:"wěi mǐ",系泊:"xì bó",相马:"xiàng mǎ",熨帖:"yù tiē",转筋:"zhuàn jīn",棒喝:"bàng hè",傧相:"bīn xiàng",镐头:"gǎo tóu",间苗:"jiàn miáo",乐池:"yuè chí",卖相:"mài xiàng",屏弃:"bǐng qì",铅弹:"qiān dàn",切变:"qiē biàn",请调:"qǐng diào",群氓:"qún méng",散板:"sǎn bǎn",省察:"xǐng chá",事假:"shì jià",纤绳:"qiàn shéng",重影:"chóng yǐng",耕种:"gēng zhòng",种地:"zhòng dì",种菜:"zhòng cài",栽种:"zāi zhòng",接种:"jiē zhòng",垦种:"kěn zhòng",种殖:"zhòng zhí",种瓜:"zhòng guā",种豆:"zhòng dòu",种树:"zhòng shù",睡着:"shuì zháo",笼子:"lóng zi",重启:"chóng qǐ",重整:"chóng zhěng",重弹:"chóng tán",重足:"chóng zú",重山:"chóng shān",重游:"chóng yóu",重峦:"chóng luán",爷爷:"yé ye",奶奶:"nǎi nai",姥爷:"lǎo ye",爸爸:"bà ba",妈妈:"mā ma",婶婶:"shěn shen",舅舅:"jiù jiu",姑姑:"gū gu",叔叔:"shū shu",姨夫:"yí fu",舅母:"jiù mu",姑父:"gū fu",姐夫:"jiě fu",婆婆:"pó po",公公:"gōng gong",舅子:"jiù zi",姐姐:"jiě jie",哥哥:"gē ge",妹妹:"mèi mei",妹夫:"mèi fu",姨子:"yí zi",宝宝:"bǎo bao",娃娃:"wá wa",孩子:"hái zi",日子:"rì zi",样子:"yàng zi",狮子:"shī zi",身子:"shēn zi",架子:"jià zi",嫂子:"sǎo zi",鼻子:"bí zi",亭子:"tíng zi",折子:"zhé zi",面子:"miàn zi",脖子:"bó zi",辈子:"bèi zi",帽子:"mào zi",拍子:"pāi zi",柱子:"zhù zi",辫子:"biàn zi",鸽子:"gē zi",房子:"fáng zi",丸子:"wán zi",摊子:"tān zi",牌子:"pái zi",胡子:"hú zi",鬼子:"guǐ zi",矮子:"ǎi zi",鸭子:"yā zi",小子:"xiǎo zi",影子:"yǐng zi",屋子:"wū zi",对子:"duì zi",点子:"diǎn zi",本子:"běn zi",种子:"zhǒng zi",儿子:"ér zi",兔子:"tù zi",骗子:"piàn zi",院子:"yuàn zi",猴子:"hóu zi",嗓子:"sǎng zi",侄子:"zhí zi",柿子:"shì zi",钳子:"qián zi",虱子:"shī zi",瓶子:"píng zi",豹子:"bào zi",筷子:"kuài zi",篮子:"lán zi",绳子:"shéng zi",嘴巴:"zuǐ ba",耳朵:"ěr duo",茄子:"qié zi",蚌埠:"bèng bù",崆峒:"kōng tóng",琵琶:"pí pa",蘑菇:"mó gu",葫芦:"hú lu",狐狸:"hú li",桔子:"jú zi",盒子:"hé zi",桌子:"zhuō zi",竹子:"zhú zi",师傅:"shī fu",衣服:"yī fu",袜子:"wà zi",杯子:"bēi zi",刺猬:"cì wei",麦子:"mài zi",队伍:"duì wu",知了:"zhī liǎo",鱼儿:"yú er",馄饨:"hún tun",灯笼:"dēng long",庄稼:"zhuāng jia",聪明:"cōng ming",镜子:"jìng zi",银子:"yín zi",盘子:"pán zi",了却:"liǎo què",力气:"lì qi",席子:"xí zi",林子:"lín zi",朝霞:"zhāo xiá",朝夕:"zhāo xī",朝气:"zhāo qì",翅膀:"chì bǎng",省长:"shěng zhǎng",臧否:"zāng pǐ",否泰:"pǐ tài",变得:"biàn de",丈夫:"zhàng fu",豆腐:"dòu fu",笔杆:"bǐ gǎn",枞阳:"zōng yáng",行人:"xíng rén",打着:"dǎ zhe",第一:"dì yī",万一:"wàn yī",之一:"zhī yī",得之:"dé zhī",统一:"tǒng yī",唯一:"wéi yī",专一:"zhuān yī",单一:"dān yī",如一:"rú yī",其一:"qí yī",合一:"hé yī",逐一:"zhú yī",周一:"zhōu yī",初一:"chū yī",研一:"yán yī",归一:"guī yī",假一:"jiǎ yī",闻一:"wén yī",了了:"liǎo liǎo",公了:"gōng liǎo",私了:"sī liǎo",一月:"yī yuè",一号:"yī hào",一级:"yī jí",一等:"yī děng",一哥:"yī gē",月一:"yuè yī",一一:"yī yī",二一:"èr yī",三一:"sān yī",四一:"sì yī",五一:"wǔ yī",六一:"liù yī",七一:"qī yī",八一:"bā yī",九一:"jiǔ yī","一〇":"yī líng",一零:"yī líng",一二:"yī èr",一三:"yī sān",一四:"yī sì",一五:"yī wǔ",一六:"yī liù",一七:"yī qī",一八:"yī bā",一九:"yī jiǔ",一又:"yī yòu",一饼:"yī bǐng",一楼:"yī lóu",为例:"wéi lì",为准:"wéi zhǔn",沧海:"cāng hǎi",难为:"nán wéi",责难:"zé nàn",患难:"huàn nàn",磨难:"mó nàn",大难:"dà nàn",刁难:"diāo nàn",殉难:"xùn nàn",落难:"luò nàn",罹难:"lí nàn",灾难:"zāi nàn",难民:"nàn mín",苦难:"kǔ nàn",危难:"wēi nàn",发难:"fā nàn",逃难:"táo nàn",避难:"bì nàn",遇难:"yù nàn",阻难:"zǔ nàn",厄难:"è nàn",徇难:"xùn nàn",空难:"kōng nàn",喜欢:"xǐ huan",朝朝:"zhāo zhāo",不行:"bù xíng",轧轧:"yà yà",弯曲:"wān qū",扭曲:"niǔ qū",曲直:"qū zhí",委曲:"wěi qū",酒曲:"jiǔ qū",曲径:"qū jìng",曲解:"qū jiě",歪曲:"wāi qū",曲线:"qū xiàn",曲阜:"qū fù",九曲:"jiǔ qū",曲折:"qū zhé",曲肱:"qū gōng",曲意:"qū yì",仡佬:"gē lǎo"},Sg=Object.keys(Dn).map(n=>({zh:n,pinyin:Dn[n],probability:2e-8,length:2,priority:v.Normal,dict:Symbol("dict2")})),Mn={为什么:"wèi shén me",实际上:"shí jì shang",检察长:"jiǎn chá zhǎng",干什么:"gàn shén me",这会儿:"zhè huì er",尽可能:"jǐn kě néng",董事长:"dǒng shì zhǎng",了不起:"liǎo bù qǐ",参谋长:"cān móu zhǎng",朝鲜族:"cháo xiǎn zú",海内外:"hǎi nèi wài",禁不住:"jīn bú zhù",柏拉图:"bó lā tú",不在乎:"bú zài hu",洛杉矶:"luò shān jī",有点儿:"yǒu diǎn er",迫击炮:"pǎi jī pào",不得了:"bù dé liǎo",马尾松:"mǎ wěi sōng",运输量:"yùn shū liàng",发脾气:"fā pí qi",士大夫:"shì dà fū",鸭绿江:"yā lù jiāng",压根儿:"yà gēn er",对得起:"duì de qǐ",那会儿:"nà huì er",自个儿:"zì gě er",物理量:"wù lǐ liàng",怎么着:"zěn me zhāo",明晃晃:"míng huǎng huǎng",节假日:"jié jià rì",心里话:"xīn lǐ huà",发行量:"fā xíng liàng",兴冲冲:"xìng chōng chōng",分子量:"fēn zǐ liàng",国子监:"guó zǐ jiàn",老大难:"lǎo dà nán",党内外:"dǎng nèi wài",这么着:"zhè me zhāo",少奶奶:"shào nǎi nai",暗地里:"àn dì lǐ",更年期:"gēng nián qī",工作量:"gōng zuò liàng",背地里:"bèi dì lǐ",山里红:"shān li hóng",好好儿:"hǎo hāo er",交响乐:"jiāo xiǎng yuè",好意思:"hǎo yì si",吐谷浑:"tǔ yù hún",没意思:"méi yì si",理发师:"lǐ fà shī",塔什干:"tǎ shí gān",充其量:"chōng qí liàng",靠得住:"kào de zhù",车行道:"chē xíng dào",人行道:"rén xíng dào",中郎将:"zhōng láng jiàng",照明弹:"zhào míng dàn",烟幕弹:"yān mù dàn",没奈何:"mò nài hé",乱哄哄:"luàn hōng hōng",惠更斯:"huì gēng sī",载重量:"zài zhòng liàng",瞧得起:"qiáo de qǐ",纪传体:"jì zhuàn tǐ",阿房宫:"ē páng gōng",卷心菜:"juǎn xīn cài",戏班子:"xì bān zi",过得去:"guò de qù",花岗石:"huā gāng shí",外甥女:"wài sheng nǚ",团团转:"tuán tuán zhuàn",大堡礁:"dà bǎo jiāo",燃烧弹:"rán shāo dàn",劳什子:"láo shí zi",摇滚乐:"yáo gǔn yuè",夹竹桃:"jiā zhú táo",闹哄哄:"nào hōng hōng",三连冠:"sān lián guàn",重头戏:"zhòng tóu xì",二人转:"èr rén zhuàn",节骨眼:"jiē gǔ yǎn",知识面:"zhī shi miàn",护士长:"hù shi zhǎng",信号弹:"xìn hào dàn",干电池:"gān diàn chí",枪杆子:"qiāng gǎn zi",哭丧棒:"kū sāng bàng",鼻咽癌:"bí yān ái",瓦岗军:"wǎ gāng jūn",买得起:"mǎi de qǐ",癞蛤蟆:"lài há ma",脊梁骨:"jǐ liang gǔ",子母弹:"zǐ mǔ dàn",开小差:"kāi xiǎo chāi",女强人:"nǚ qiáng rén",英雄传:"yīng xióng zhuàn",爵士乐:"jué shì yuè",说笑话:"shuō xiào hua",碰头会:"pèng tóu huì",玻璃钢:"bō li gāng",曳光弹:"yè guāng dàn",少林拳:"shào lín quán",咏叹调:"yǒng tàn diào",少先队:"shào xiān duì",灵长目:"líng zhǎng mù",对着干:"duì zhe gàn",蒙蒙亮:"méng méng liàng",软骨头:"ruǎn gǔ tou",铺盖卷:"pū gài juǎn",和稀泥:"huò xī ní",背黑锅:"bēi hēi guō",红彤彤:"hóng tōng tōng",武侯祠:"wǔ hóu cí",打哆嗦:"dǎ duō suo",户口簿:"hù kǒu bù",马尾藻:"mǎ wěi zǎo",夜猫子:"yè māo zi",打手势:"dǎ shǒu shì",龙王爷:"lóng wáng yé",气头上:"qì tóu shang",糊涂虫:"hú tu chóng",笔杆子:"bǐ gǎn zi",占便宜:"zhàn pián yi",打主意:"dǎ zhǔ yì",多弹头:"duō dàn tóu",露一手:"lòu yì shǒu",堰塞湖:"yàn sè hú",保得住:"bǎo de zhù",趵突泉:"bào tū quán",奥得河:"ào de hé",司务长:"sī wù zhǎng",禁不起:"jīn bù qǐ",什刹海:"shí chà hǎi",莲花落:"lián huā lào",见世面:"jiàn shì miàn",豁出去:"huō chū qù",电位差:"diàn wèi chā",挨个儿:"āi gè er",那阵儿:"nà zhèn er",肺活量:"fèi huó liàng",大师傅:"dà shī fu",掷弹筒:"zhì dàn tǒng",打呼噜:"dǎ hū lu",广渠门:"ān qú mén",未见得:"wèi jiàn dé",大婶儿:"dà shěn er",谈得来:"tán de lái",脚丫子:"jiǎo yā zi",空包弹:"kōng bāo dàn",窝里斗:"wō li dòu",弹着点:"dàn zhuó diǎn",个头儿:"gè tóu er",看得起:"kàn de qǐ",糊涂账:"hú tu zhàng",大猩猩:"dà xīng xing",禁得起:"jīn de qǐ",法相宗:"fǎ xiàng zōng",可怜相:"kě lián xiàng",吃得下:"chī de xià",汉堡包:"hàn bǎo bāo",闹嚷嚷:"nào rāng rāng",数来宝:"shǔ lái bǎo",合得来:"hé de lái",干性油:"gān xìng yóu",闷葫芦:"mèn hú lu",呱呱叫:"guā guā jiào",西洋参:"xī yáng shēn",林荫道:"lín yīn dào",拉家常:"lā jiā cháng",卷铺盖:"juǎn pū gài",过得硬:"guò de yìng",飞将军:"fēi jiāng jūn",挑大梁:"tiǎo dà liáng",哈巴狗:"hǎ ba gǒu",过家家:"guò jiā jiā",催泪弹:"cuī lèi dàn",雨夹雪:"yǔ jiā xuě",敲竹杠:"qiāo zhú gàng",列车长:"liè chē zhǎng",华达呢:"huá dá ní",犯得着:"fàn de zháo",土疙瘩:"tǔ gē da",煞风景:"shā fēng jǐng",轻量级:"qīng liàng jí",羞答答:"xiū dā dā",石子儿:"shí zǐ er",达姆弹:"dá mǔ dàn",科教片:"kē jiào piān",侃大山:"kǎn dà shān",丁点儿:"dīng diǎn er",吃得消:"chī de xiāo",捋虎须:"luō hǔ xū",高丽参:"gāo lí shēn",众生相:"zhòng shēng xiàng",咽峡炎:"yān xiá yán",禁得住:"jīn de zhù",吃得开:"chī de kāi",柞丝绸:"zuò sī chóu",应声虫:"yìng shēng chóng",数得着:"shǔ de zháo",傻劲儿:"shǎ jìn er",铅玻璃:"qiān bō li",可的松:"kě dì sōng",划得来:"huá de lái",晕乎乎:"yūn hū hū",屎壳郎:"shǐ ke làng",尥蹶子:"liào juě zi",藏红花:"zàng hóng huā",闷罐车:"mèn guàn chē",卡脖子:"qiǎ bó zi",红澄澄:"hóng deng deng",赶得及:"gǎn de jí",当间儿:"dāng jiàn er",露马脚:"lòu mǎ jiǎo",鸡内金:"jī nèi jīn",犯得上:"fàn de shàng",钉齿耙:"dīng chǐ bà",饱和点:"bǎo hé diǎn",龙爪槐:"lóng zhǎo huái",喝倒彩:"hè dào cǎi",定冠词:"dìng guàn cí",担担面:"dàn dan miàn",吃得住:"chī de zhù",爪尖儿:"zhuǎ jiān er",支着儿:"zhī zhāo er",折跟头:"zhē gēn tou",阴着儿:"yīn zhāo er",烟卷儿:"yān juǎn er",宣传弹:"xuān chuán dàn",信皮儿:"xìn pí er",弦切角:"xián qiē jiǎo",缩砂密:"sù shā mì",说得来:"shuō de lái",水漂儿:"shuǐ piāo er",耍笔杆:"shuǎ bǐ gǎn",数得上:"shǔ de shàng",数不着:"shǔ bù zháo",数不清:"shǔ bù qīng",什件儿:"shí jiàn er",生死簿:"shēng sǐ bù",扇风机:"shān fēng jī",撒呓挣:"sā yì zheng",日记簿:"rì jì bù",热得快:"rè de kuài",亲家公:"qìng jia gōng",奇函数:"jī hán shù",拍纸簿:"pāi zhǐ bù",努劲儿:"nǔ jìn er",泥娃娃:"ní wá wa",内切圆:"nèi qiē yuán",哪会儿:"nǎ huì er",闷头儿:"mēn tóu er",没谱儿:"méi pǔ er",铆劲儿:"mǎo jìn er",溜肩膀:"liū jiān bǎng",了望台:"liào wàng tái",老来少:"lǎo lái shào",坤角儿:"kūn jué er",考勤簿:"kǎo qín bù",卷笔刀:"juǎn bǐ dāo",进给量:"jìn jǐ liàng",划不来:"huá bù lái",汗褂儿:"hàn guà er",鼓囊囊:"gǔ nāng nāng",够劲儿:"gòu jìn er",公切线:"gōng qiē xiàn",搁得住:"gé de zhù",赶浪头:"gǎn làng tóu",赶得上:"gǎn de shàng",干酵母:"gān jiào mǔ",嘎渣儿:"gā zhā er",嘎嘣脆:"gā bēng cuì",对得住:"duì de zhù",逗闷子:"dòu mèn zi",顶呱呱:"dǐng guā guā",滴溜儿:"dī liù er",大轴子:"dà zhòu zi",打板子:"dǎ bǎn zi",寸劲儿:"cùn jìn er",醋劲儿:"cù jìn er",揣手儿:"chuāi shǒu er",冲劲儿:"chòng jìn er",吃得来:"chī de lái",不更事:"bù gēng shì",奔头儿:"bèn tou er",百夫长:"bǎi fū zhǎng",娃娃亲:"wá wa qīn",死劲儿:"sǐ jìn er",骨朵儿:"gū duǒ er",功劳簿:"gōng láo bù",都江堰:"dū jiāng yàn",一担水:"yí dàn shuǐ",否极泰:"pǐ jí tài",泰来否:"tài lái pǐ",咳特灵:"ké tè líng",开户行:"kāi hù háng",郦食其:"lì yì jī",花事了:"huā shì liǎo",一更更:"yì gēng gēng",一重山:"yì chóng shān",风一更:"fēng yì gēng",雪一更:"xuě yì gēng",归一码:"guī yì mǎ",星期一:"xīng qī yī",礼拜一:"lǐ bài yī",一季度:"yī jì dù",一月一:"yī yuè yī",一字马:"yī zì mǎ",一是一:"yī shì yī",一次方:"yī cì fāng",一阳指:"yī yáng zhǐ",一字决:"yī zì jué",一年级:"yī nián jí",一不做:"yī bú zuò",屈戌儿:"qū qu ér",难为水:"nán wéi shuǐ",难为情:"nán wéi qíng",行一行:"xíng yì háng",别别的:"biè bié de",干哪行:"gàn nǎ háng",干一行:"gàn yì háng",曲别针:"qū bié zhēn"},Tg=Object.keys(Mn).map(n=>({zh:n,pinyin:Mn[n],probability:2e-8,length:3,priority:v.Normal,dict:Symbol("dict3")})),En={成吉思汗:"chéng jí sī hán",四通八达:"sì tōng bā dá",一模一样:"yì mú yí yàng",青藏高原:"qīng zàng gāo yuán",阿弥陀佛:"ē mí tuó fó",解放思想:"jiè fàng sī xiǎng",所作所为:"suǒ zuò suǒ wéi",迷迷糊糊:"mí mí hu hū",荷枪实弹:"hè qiāng shí dàn",兴高采烈:"xìng gāo cǎi liè",无能为力:"wú néng wéi lì",布鲁塞尔:"bù lǔ sài ěr",为所欲为:"wéi suǒ yù wéi",克什米尔:"kè shí mǐ ěr",没完没了:"méi wán méi liǎo",不为人知:"bù wéi rén zhī",结结巴巴:"jiē jiē bā bā",前仆后继:"qián pū hòu jì",铺天盖地:"pū tiān gài dì",直截了当:"zhí jié liǎo dàng",供不应求:"gōng bú yìng qiú",御史大夫:"yù shǐ dà fū",不为瓦全:"bù wéi wǎ quán",不可收拾:"bù kě shōu shi",胡作非为:"hú zuò fēi wéi",分毫不差:"fēn háo bú chà",模模糊糊:"mó mó hu hū",不足为奇:"bù zú wéi qí",悄无声息:"qiǎo wú shēng xī",了如指掌:"liǎo rú zhǐ zhǎng",深恶痛绝:"shēn wù tòng jué",高高兴兴:"gāo gāo xìng xìng",唉声叹气:"āi shēng tàn qì",汉藏语系:"hàn zàng yǔ xì",处心积虑:"chǔ xīn jī lǜ",泣不成声:"qì bù chéng shēng",半夜三更:"bàn yè sān gēng",失魂落魄:"shī hún luò pò",二十八宿:"èr shí bā xiù",转来转去:"zhuàn lái zhuàn qù",数以万计:"shǔ yǐ wàn jì",相依为命:"xiāng yī wéi mìng",恋恋不舍:"liàn liàn bù shě",屈指可数:"qū zhǐ kě shǔ",神出鬼没:"shén chū guǐ mò",结结实实:"jiē jiē shí shí",有的放矢:"yǒu dì fàng shǐ",叽哩咕噜:"jī lǐ gū lū",调兵遣将:"diào bīng qiǎn jiàng",载歌载舞:"zài gē zài wǔ",转危为安:"zhuǎn wēi wéi ān",踏踏实实:"tā tā shi shí",桑给巴尔:"sāng jǐ bā ěr",装模作样:"zhuāng mú zuò yàng",见义勇为:"jiàn yì yǒng wéi",相差无几:"xiāng chā wú jǐ",叹为观止:"tàn wéi guān zhǐ",闷闷不乐:"mèn mèn bú lè",喜怒哀乐:"xǐ nù āi lè",鲜为人知:"xiǎn wéi rén zhī",张牙舞爪:"zhāng yá wǔ zhǎo",为非作歹:"wéi fēi zuò dǎi",含糊其辞:"hán hú qí cí",疲于奔命:"pí yú bēn mìng",勉为其难:"miǎn wéi qí nán",依依不舍:"yī yī bù shě",顶头上司:"dǐng tóu shàng si",不着边际:"bù zhuó biān jì",大模大样:"dà mú dà yàng",寻欢作乐:"xún huān zuò lè",一走了之:"yì zǒu liǎo zhī",字里行间:"zì lǐ háng jiān",含含糊糊:"hán hán hu hū",恰如其分:"qià rú qí fèn",破涕为笑:"pò tì wéi xiào",深更半夜:"shēn gēng bàn yè",千差万别:"qiān chā wàn bié",数不胜数:"shǔ bú shèng shǔ",据为己有:"jù wéi jǐ yǒu",天旋地转:"tiān xuán dì zhuàn",养尊处优:"yǎng zūn chǔ yōu",玻璃纤维:"bō li xiān wéi",吵吵闹闹:"chāo chao nào nào",晕头转向:"yūn tóu zhuàn xiàng",土生土长:"tǔ shēng tǔ zhǎng",宁死不屈:"nìng sǐ bù qū",不省人事:"bù xǐng rén shì",尽力而为:"jìn lì ér wéi",精明强干:"jīng míng qiáng gàn",唠唠叨叨:"láo lao dāo dāo",叽叽喳喳:"jī ji zhā zhā",功不可没:"gōng bù kě mò",锲而不舍:"qiè ér bù shě",排忧解难:"pái yōu jiě nàn",稀里糊涂:"xī li hú tú",各有所长:"gè yǒu suǒ cháng",的的确确:"dí dí què què",哄堂大笑:"hōng táng dà xiào",听而不闻:"tīng ér bù wén",刀耕火种:"dāo gēng huǒ zhòng",内分泌腺:"nèi fèn mì xiàn",化险为夷:"huà xiǎn wéi yí",百发百中:"bǎi fā bǎi zhòng",重见天日:"chóng jiàn tiān rì",反败为胜:"fǎn bài wéi shèng",一了百了:"yì liǎo bǎi liǎo",大大咧咧:"dà da liē liē",心急火燎:"xīn jí huǒ liǎo",粗心大意:"cū xīn dà yi",鸡皮疙瘩:"jī pí gē da",夷为平地:"yí wéi píng dì",日积月累:"rì jī yuè lěi",设身处地:"shè shēn chǔ dì",投其所好:"tóu qí suǒ hào",间不容发:"jiān bù róng fà",人满为患:"rén mǎn wéi huàn",穷追不舍:"qióng zhuī bù shě",为时已晚:"wéi shí yǐ wǎn",如数家珍:"rú shǔ jiā zhēn",心里有数:"xīn lǐ yǒu shù",以牙还牙:"yǐ yá huán yá",神不守舍:"shén bù shǒu shě",孟什维克:"mèng shí wéi kè",各自为战:"gè zì wéi zhàn",怨声载道:"yuàn shēng zài dào",救苦救难:"jiù kǔ jiù nàn",好好先生:"hǎo hǎo xiān sheng",怪模怪样:"guài mú guài yàng",抛头露面:"pāo tóu lù miàn",游手好闲:"yóu shǒu hào xián",无所不为:"wú suǒ bù wéi",调虎离山:"diào hǔ lí shān",步步为营:"bù bù wéi yíng",好大喜功:"hào dà xǐ gōng",众矢之的:"zhòng shǐ zhī dì",长生不死:"cháng shēng bù sǐ",蔚为壮观:"wèi wéi zhuàng guān",不可胜数:"bù kě shèng shǔ",鬼使神差:"guǐ shǐ shén chāi",洁身自好:"jié shēn zì hào",敢作敢为:"gǎn zuò gǎn wéi",茅塞顿开:"máo sè dùn kāi",走马换将:"zǒu mǎ huàn jiàng",为时过早:"wéi shí guò zǎo",为人师表:"wéi rén shī biǎo",阴差阳错:"yīn chā yáng cuò",油腔滑调:"yóu qiāng huá diào",重蹈覆辙:"chóng dǎo fù zhé",骂骂咧咧:"mà ma liē liē",絮絮叨叨:"xù xù dāo dāo",如履薄冰:"rú lǚ bó bīng",损兵折将:"sǔn bīng zhé jiàng",拐弯抹角:"guǎi wān mò jiǎo",像模像样:"xiàng mú xiàng yàng",供过于求:"gōng guò yú qiú",开花结果:"kāi huā jiē guǒ",仔仔细细:"zǐ zǐ xì xì",川藏公路:"chuān zàng gōng lù",河北梆子:"hé běi bāng zi",长年累月:"cháng nián lěi yuè",正儿八经:"zhèng er bā jīng",不识抬举:"bù shí tái ju",重振旗鼓:"chóng zhèn qí gǔ",气息奄奄:"qì xī yān yān",紧追不舍:"jǐn zhuī bù shě",服服帖帖:"fú fu tiē tiē",强词夺理:"qiǎng cí duó lǐ",噼里啪啦:"pī li pā lā",人才济济:"rén cái jǐ jǐ",发人深省:"fā rén shēn xǐng",不足为凭:"bù zú wéi píng",为富不仁:"wéi fù bù rén",连篇累牍:"lián piān lěi dú",呼天抢地:"hū tiān qiāng dì",落落大方:"luò luò dà fāng",自吹自擂:"zì chuī zì léi",乐善好施:"lè shàn hào shī",以攻为守:"yǐ gōng wéi shǒu",磨磨蹭蹭:"mó mó cèng cèng",削铁如泥:"xuē tiě rú ní",助纣为虐:"zhù zhòu wéi nüè",以退为进:"yǐ tuì wéi jìn",嘁嘁喳喳:"qī qī chā chā",枪林弹雨:"qiāng lín dàn yǔ",令人发指:"lìng rén fà zhǐ",转败为胜:"zhuǎn bài wéi shèng",转弯抹角:"zhuǎn wān mò jiǎo",在劫难逃:"zài jié nán táo",正当防卫:"zhèng dàng fáng wèi",不足为怪:"bù zú wéi guài",难兄难弟:"nàn xiōng nàn dì",咿咿呀呀:"yī yī yā yā",弹尽粮绝:"dàn jìn liáng jué",阿谀奉承:"ē yú fèng chéng",稀里哗啦:"xī li huā lā",返老还童:"fǎn lǎo huán tóng",好高骛远:"hào gāo wù yuǎn",鹿死谁手:"lù sǐ shéi shǒu",差强人意:"chā qiáng rén yì",大吹大擂:"dà chuī dà léi",成家立业:"chéng jiā lì yè",自怨自艾:"zì yuàn zì yì",负债累累:"fù zhài lěi lěi",古为今用:"gǔ wéi jīn yòng",入土为安:"rù tǔ wéi ān",下不为例:"xià bù wéi lì",一哄而上:"yì hōng ér shàng",没头苍蝇:"méi tóu cāng ying",天差地远:"tiān chā dì yuǎn",风卷残云:"fēng juǎn cán yún",多灾多难:"duō zāi duō nàn",乳臭未干:"rǔ xiù wèi gān",行家里手:"háng jiā lǐ shǒu",狼狈为奸:"láng bèi wéi jiān",处变不惊:"chǔ biàn bù jīng",一唱一和:"yí chàng yí hè",一念之差:"yí niàn zhī chā",金蝉脱壳:"jīn chán tuō qiào",滴滴答答:"dī dī dā dā",硕果累累:"shuò guǒ léi léi",好整以暇:"hào zhěng yǐ xiá",红得发紫:"hóng de fā zǐ",传为美谈:"chuán wéi měi tán",富商大贾:"fù shāng dà gǔ",四海为家:"sì hǎi wéi jiā",了若指掌:"liǎo ruò zhǐ zhǎng",大有可为:"dà yǒu kě wéi",出头露面:"chū tóu lù miàn",鼓鼓囊囊:"gǔ gu nāng nāng",窗明几净:"chuāng míng jī jìng",泰然处之:"tài rán chǔ zhī",怒发冲冠:"nù fà chōng guān",有机玻璃:"yǒu jī bō li",骨头架子:"gǔ tou jià zi",义薄云天:"yì bó yún tiān",一丁点儿:"yī dīng diǎn er",时来运转:"shí lái yùn zhuǎn",陈词滥调:"chén cí làn diào",化整为零:"huà zhěng wéi líng",火烧火燎:"huǒ shāo huǒ liǎo",干脆利索:"gàn cuì lì suǒ",吊儿郎当:"diào er láng dāng",广种薄收:"guǎng zhòng bó shōu",种瓜得瓜:"zhòng guā dé guā",种豆得豆:"zhòng dòu dé dòu",难舍难分:"nán shě nán fēn",歃血为盟:"shà xuè wéi méng",奋发有为:"fèn fā yǒu wéi",阴错阳差:"yīn cuò yáng chā",东躲西藏:"dōng duǒ xī cáng",烟熏火燎:"yān xūn huǒ liǎo",钻牛角尖:"zuān niú jiǎo jiān",乔装打扮:"qiáo zhuāng dǎ bàn",改弦更张:"gǎi xián gēng zhāng",河南梆子:"hé nán bāng zi",好吃懒做:"hào chī lǎn zuò",何乐不为:"hé lè bù wéi",大出风头:"dà chū fēng tóu",攻城掠地:"gōng chéng lüè dì",漂漂亮亮:"piào piào liang liang",折衷主义:"zhé zhōng zhǔ yì",大马哈鱼:"dà mǎ hǎ yú",绿树成荫:"lǜ shù chéng yīn",率先垂范:"shuài xiān chuí fàn",家长里短:"jiā cháng lǐ duǎn",宽大为怀:"kuān dà wéi huái",左膀右臂:"zuǒ bǎng yòu bì",一笑了之:"yí xiào liǎo zhī",天下为公:"tiān xià wéi gōng",还我河山:"huán wǒ hé shān",何足为奇:"hé zú wéi qí",好自为之:"hǎo zì wéi zhī",风姿绰约:"fēng zī chuò yuē",大雨滂沱:"dà yǔ pāng tuó",传为佳话:"chuán wéi jiā huà",吃里扒外:"chī lǐ pá wài",重操旧业:"chóng cāo jiù yè",小家子气:"xiǎo jiā zi qì",少不更事:"shào bù gēng shì",难分难舍:"nán fēn nán shě",添砖加瓦:"tiān zhuān jiā wǎ",是非分明:"shì fēi fēn míng",舍我其谁:"shě wǒ qí shuí",偏听偏信:"piān tīng piān xìn",量入为出:"liàng rù wéi chū",降龙伏虎:"xiáng lóng fú hǔ",钢化玻璃:"gāng huà bō li",正中下怀:"zhèng zhòng xià huái",以身许国:"yǐ shēn xǔ guó",一语中的:"yì yǔ zhòng dì",丧魂落魄:"sàng hún luò pò",三座大山:"sān zuò dà shān",济济一堂:"jǐ jǐ yì táng",好事之徒:"hào shì zhī tú",干净利索:"gàn jìng lì suǒ",出将入相:"chū jiàng rù xiàng",袅袅娜娜:"niǎo niǎo nuó nuó",狐狸尾巴:"hú li wěi ba",好逸恶劳:"hào yì wù láo",大而无当:"dà ér wú dàng",打马虎眼:"dǎ mǎ hu yǎn",板上钉钉:"bǎn shàng dìng dīng",吆五喝六:"yāo wǔ hè liù",虾兵蟹将:"xiā bīng xiè jiàng",水调歌头:"shuǐ diào gē tóu",数典忘祖:"shǔ diǎn wàng zǔ",人事不省:"rén shì bù xǐng",曲高和寡:"qǔ gāo hè guǎ",屡教不改:"lǚ jiào bù gǎi",互为因果:"hù wéi yīn guǒ",互为表里:"hù wéi biǎo lǐ",厚此薄彼:"hòu cǐ bó bǐ",过关斩将:"guò guān zhǎn jiàng",疙疙瘩瘩:"gē ge dā dā",大腹便便:"dà fù pián pián",走为上策:"zǒu wéi shàng cè",冤家对头:"yuān jia duì tóu",有隙可乘:"yǒu xì kě chèng",一鳞半爪:"yì lín bàn zhǎo",片言只语:"piàn yán zhǐ yǔ",开花结实:"kāi huā jié shí",经年累月:"jīng nián lěi yuè",含糊其词:"hán hú qí cí",寡廉鲜耻:"guǎ lián xiǎn chǐ",成年累月:"chéng nián lěi yuè",不徇私情:"bú xùn sī qíng",不当人子:"bù dāng rén zǐ",膀大腰圆:"bǎng dà yāo yuán",指腹为婚:"zhǐ fù wéi hūn",这么点儿:"zhè me diǎn er",意兴索然:"yì xīng suǒ rán",绣花枕头:"xiù huā zhěn tou",无的放矢:"wú dì fàng shǐ",望闻问切:"wàng wén wèn qiè",舍己为人:"shě jǐ wèi rén",穷年累月:"qióng nián lěi yuè",排难解纷:"pái nàn jiě fēn",处之泰然:"chǔ zhī tài rán",指鹿为马:"zhǐ lù wéi mǎ",危如累卵:"wēi rú lěi luǎn",天兵天将:"tiān bīng tiān jiàng",舍近求远:"shě jìn qiú yuǎn",南腔北调:"nán qiāng běi diào",苦中作乐:"kǔ zhōng zuò lè",厚积薄发:"hòu jī bó fā",臭味相投:"xiù wèi xiāng tóu",长幼有序:"zhǎng yòu yǒu xù",逼良为娼:"bī liáng wéi chāng",悲悲切切:"bēi bēi qiè qiē",败军之将:"bài jūn zhī jiàng",欺行霸市:"qī háng bà shì",削足适履:"xuē zú shì lǚ",先睹为快:"xiān dǔ wéi kuài",啼饥号寒:"tí jī háo hán",疏不间亲:"shū bú jiàn qīn",神差鬼使:"shén chāi guǐ shǐ",敲敲打打:"qiāo qiāo dǎ dǎ",平铺直叙:"píng pū zhí xù",没头没尾:"méi tóu mò wěi",寥寥可数:"liáo liáo kě shǔ",哼哈二将:"hēng hā èr jiàng",鹤发童颜:"hè fà tóng yán",各奔前程:"gè bèn qián chéng",弹无虚发:"dàn wú xū fā",大人先生:"dà rén xiān sheng",与民更始:"yǔ mín gēng shǐ",树碑立传:"shù bēi lì zhuàn",是非得失:"shì fēi dé shī",实逼处此:"shí bī chǔ cǐ",塞翁失马:"sài wēng shī mǎ",日薄西山:"rì bó xī shān",切身体会:"qiè shēn tǐ huì",片言只字:"piàn yán zhǐ zì",跑马卖解:"pǎo mǎ mài xiè",宁折不弯:"nìng zhé bù wān",零零散散:"líng líng sǎn sǎn",量体裁衣:"liàng tǐ cái yī",连中三元:"lián zhòng sān yuán",礼崩乐坏:"lǐ bēng yuè huài",不为已甚:"bù wéi yǐ shèn",转悲为喜:"zhuǎn bēi wéi xǐ",以眼还眼:"yǐ yǎn huán yǎn",蔚为大观:"wèi wéi dà guān",未为不可:"wèi wéi bù kě",童颜鹤发:"tóng yán hè fà",朋比为奸:"péng bǐ wéi jiān",莫此为甚:"mò cǐ wéi shèn",夹枪带棒:"jiā qiāng dài bàng",富商巨贾:"fù shāng jù jiǎ",淡然处之:"dàn rán chǔ zhī",箪食壶浆:"dān shí hú jiāng",创巨痛深:"chuāng jù tòng shēn",草长莺飞:"cǎo zhǎng yīng fēi",坐视不救:"zuò shī bú jiù",以己度人:"yǐ jǐ duó rén",随行就市:"suí háng jiù shì",文以载道:"wén yǐ zài dào",文不对题:"wén bú duì tí",铁板钉钉:"tiě bǎn dìng dīng",身体发肤:"shēn tǐ fà fū",缺吃少穿:"quē chī shǎo chuān",目无尊长:"mù wú zūn zhǎng",吉人天相:"jí rén tiān xiàng",毁家纾难:"huǐ jiā shū nàn",钢筋铁骨:"gāng jīn tiě gǔ",丢卒保车:"diū zú bǎo jū",丢三落四:"diū sān là sì",闭目塞听:"bì mù sè tīng",削尖脑袋:"xuē jiān nǎo dài",为非作恶:"wéi fēi zuò è",人才难得:"rén cái nán dé",情非得已:"qíng fēi dé yǐ",切中要害:"qiè zhòng yào hài",火急火燎:"huǒ jí huǒ liǎo",画地为牢:"huà dì wéi láo",好酒贪杯:"hào jiǔ tān bēi",长歌当哭:"cháng gē dàng kū",载沉载浮:"zài chén zài fú",遇难呈祥:"yù nàn chéng xiáng",榆木疙瘩:"yú mù gē da",以邻为壑:"yǐ lín wéi hè",洋为中用:"yáng wéi zhōng yòng",言为心声:"yán wéi xīn shēng",言必有中:"yán bì yǒu zhòng",图穷匕见:"tú qióng bǐ xiàn",滂沱大雨:"páng tuó dà yǔ",目不暇给:"mù bù xiá jǐ",量才录用:"liàng cái lù yòng",教学相长:"jiào xué xiāng zhǎng",悔不当初:"huǐ bù dāng chū",呼幺喝六:"hū yāo hè liù",不足为训:"bù zú wéi xùn",不拘形迹:"bù jū xíng jī",傍若无人:"páng ruò wú rén",罪责难逃:"zuì zé nán táo",自我吹嘘:"zì wǒ chuī xū",转祸为福:"zhuǎn huò wéi fú",勇冠三军:"yǒng guàn sān jūn",易地而处:"yì dì ér chǔ",卸磨杀驴:"xiè mò shā lǘ",玩儿不转:"wán ér bú zhuàn",天道好还:"tiān dào hǎo huán",身单力薄:"shēn dān lì bó",撒豆成兵:"sǎ dòu chéng bīng",片纸只字:"piàn zhǐ zhī zì",宁缺毋滥:"nìng quē wú làn",没没无闻:"mò mò wú wén",量力而为:"liàng lì ér wéi",历历可数:"lì lì kě shǔ",口碑载道:"kǒu bēi zài dào",君子好逑:"jūn zǐ hǎo qiú",好为人师:"hào wéi rén shī",豪商巨贾:"háo shāng jù jiǎ",各有所好:"gè yǒu suǒ hào",度德量力:"duó dé liàng lì",指天为誓:"zhǐ tiān wéi shì",逸兴遄飞:"yì xìng chuán fēi",心宽体胖:"xīn kuān tǐ pán",为德不卒:"wéi dé bù zú",天下为家:"tiān xià wéi jiā",视为畏途:"shì wéi wèi tú",三灾八难:"sān zāi bā nàn",沐猴而冠:"mù hóu ér guàn",哩哩啦啦:"lī li lā lā",见缝就钻:"jiàn fèng jiù zuān",夹层玻璃:"jiā céng bō li",急公好义:"jí gōng hào yì",积年累月:"jī nián lěi yuè",划地为牢:"huá dì wéi láo",更名改姓:"gēng míng gǎi xìng",奉为圭臬:"fèng wéi guī niè",多难兴邦:"duō nàn xīng bāng",不破不立:"bú pò bú lì",坐地自划:"zuò dì zì huá",坐不重席:"zuò bù chóng xí",坐不窥堂:"zuò bù kuī táng",作嫁衣裳:"zuò jià yī shang",左枝右梧:"zuǒ zhī yòu wú",左宜右有:"zuǒ yí yòu yǒu",钻头觅缝:"zuān tóu mì fèng",钻天打洞:"zuān tiān dǎ dòng",钻皮出羽:"zuān pí chū yǔ",钻火得冰:"zuān huǒ dé bīng",钻洞觅缝:"zuàn dòng mì féng",钻冰求火:"zuān bīng qiú huǒ",子为父隐:"zǐ wéi fù yǐn",擢发难数:"zhuó fà nán shǔ",着人先鞭:"zhuó rén xiān biān",斫雕为朴:"zhuó diāo wéi pǔ",锥处囊中:"zhuī chǔ náng zhōng",椎心饮泣:"chuí xīn yǐn qì",椎心泣血:"chuí xīn qì xuè",椎牛飨士:"chuí niú xiǎng shì",椎牛歃血:"chuí niú shà xuè",椎牛发冢:"chuí niú fà zhǒng",椎埋屠狗:"chuí mái tú gǒu",椎埋狗窃:"chuí mái gǒu qiè",壮发冲冠:"zhuàng fā chōng guàn",庄严宝相:"zhuāng yán bǎo xiàng",转愁为喜:"zhuǎn chóu wéi xǐ",转嗔为喜:"zhuǎn chēn wéi xǐ",拽巷啰街:"zhuài xiàng luó jiē",拽耙扶犁:"zhuāi pá fú lí",拽布拖麻:"zhuài bù tuō má",箸长碗短:"zhù cháng wǎn duǎn",铸剑为犁:"zhù jiàn wéi lí",杼柚其空:"zhù yòu qí kōng",杼柚空虚:"zhù yòu kōng xū",助天为虐:"zhù tiān wéi nüè",属垣有耳:"zhǔ yuán yǒu ěr",属毛离里:"zhǔ máo lí lǐ",属辞比事:"zhǔ cí bǐ shì",逐物不还:"zhú wù bù huán",铢量寸度:"zhū liáng cùn duó",铢两悉称:"zhū liǎng xī chèn",侏儒观戏:"zhū rú guān xì",朱轓皁盖:"zhū fān zào gài",昼度夜思:"zhòu duó yè sī",诪张为幻:"zhōu zhāng wéi huàn",重明继焰:"chóng míng jì yàn",众啄同音:"zhòng zhuó tóng yīn",众毛攒裘:"zhòng máo cuán qiú",众好众恶:"zhòng hào zhòng wù",擿埴索涂:"zhāi zhí suǒ tú",稚齿婑媠:"zhì chǐ wǒ tuó",至当不易:"zhì dàng bú yì",指皂为白:"zhǐ zào wéi bái",指雁为羹:"zhǐ yàn wéi gēng",指树为姓:"zhǐ shù wéi xìng",指山说磨:"zhǐ shān shuō mò",止戈为武:"zhǐ gē wéi wǔ",枝干相持:"zhī gàn xiāng chí",枝大于本:"zh dà yú běn",支吾其词:"zhī wú qí cí",正身率下:"zhèng shēn shuài xià",正冠李下:"zhèng guàn lǐ xià",整冠纳履:"zhěng guān nà lǚ",整躬率物:"zhěng gōng shuài wù",整顿干坤:"zhěng dùn gàn kūn",针头削铁:"zhēn tóu xuē tiě",贞松劲柏:"zhēn sōng jìng bǎi",赭衣塞路:"zhě yī sè lù",折箭为誓:"shé jiàn wéi shì",折而族之:"zhé ér zú zhī",昭德塞违:"zhāo dé sè wéi",章句小儒:"zhāng jù xiǎo rú",湛恩汪濊:"zhàn ēn wāng huì",占风望气:"zhān fēng wàng qì",斩将搴旗:"zhǎn jiàng qiān qí",曾母投杼:"zēng mǔ tóu zhù",曾参杀人:"zēng shēn shā rén",造谣中伤:"zào yáo zhòng shāng",早占勿药:"zǎo zhān wù yào",凿龟数策:"záo guī shǔ cè",攒三聚五:"cuán sān jù wǔ",攒眉蹙额:"cuán mei cù é",攒零合整:"cuán líng hé zhěng",攒锋聚镝:"cuán fēng jù dí",载笑载言:"zài xiào zài yán",载酒问字:"zài jiǔ wèn zì",殒身不恤:"yǔn shēn bú xù",云舒霞卷:"yún shū xiá juǎn",月中折桂:"yuè zhōng shé guì",月落参横:"yuè luò shēn héng",鬻驽窃价:"yù nú qiè jià",鬻鸡为凤:"yù jī wéi fèng",遇难成祥:"yù nàn chéng xiáng",郁郁累累:"yù yù lěi lěi",玉卮无当:"yù zhī wú dàng",语笑喧阗:"yǔ xiào xuān tián",与世沉浮:"yǔ shì chén fú",与时消息:"yǔ shí xiāo xi",逾墙钻隙:"yú qiáng zuān xì",渔夺侵牟:"yú duó qīn móu",杅穿皮蠹:"yú chuān pí dù",余勇可贾:"yú yǒng kě gǔ",予智予雄:"yú zhì yú xióng",予取予求:"yú qǔ yú qiú",于家为国:"yú jiā wéi guó",有借无还:"yǒu jiè wú huán",有加无已:"yǒu jiā wú yǐ",有国难投:"yǒu guó nán tóu",游必有方:"yóu bì yǒu fāng",油干灯尽:"yóu gàn dēng jìn",尤云殢雨:"yóu yún tì yǔ",庸中皦皦:"yōng zhōng jiǎo jiǎo",郢书燕说:"yǐng shū yān shuō",营蝇斐锦:"yíng yíng fēi jǐn",鹰心雁爪:"yīng xīn yàn zhǎo",莺吟燕儛:"yīng yín yàn wǔ",应天顺时:"yīng tiān shùn shí",印累绶若:"yìn léi shòu ruò",隐占身体:"yǐn zhàn shēn tǐ",饮犊上流:"yìn dú shàng liú",引绳切墨:"yǐn shéng qiē mò",龈齿弹舌:"yín chǐ dàn shé",因缘为市:"yīn yuán wéi shì",因树为屋:"yīn shù wéi wū",溢美溢恶:"yì měi yì wù",抑塞磊落:"yì sè lěi luò",倚闾望切:"yǐ lǘ wàng qiē",以意为之:"yǐ yì wéi zhī",以言为讳:"yǐ yán wéi huì",以疏间亲:"yǐ shū jiàn qīn",以水济水:"yǐ shuǐ jǐ shuǐ",以书为御:"yǐ shū wéi yù",以守为攻:"yǐ shǒu wéi gōng",以升量石:"yǐ shēng liáng dàn",以慎为键:"yǐ shèn wéi jiàn",以筌为鱼:"yǐ quán wéi yú",以利累形:"yǐ lì lěi xíng",以毁为罚:"yǐ huǐ wéi fá",以黑为白:"yǐ hēi wéi bái",以规为瑱:"yǐ guī wéi tiàn",以古为鉴:"yǐ gǔ wéi jiàn",以宫笑角:"yǐ gōng xiào jué",以法为教:"yǐ fǎ wéi jiào",以大恶细:"yǐ dà wù xì",遗世忘累:"yí shì wàng lěi",遗寝载怀:"yí qǐn zài huái",移的就箭:"yí dì jiù jiàn",依头缕当:"yī tóu lǚ dàng",衣租食税:"yì zū shí shuì",衣轻乘肥:"yì qīng chéng féi",衣裳之会:"yī shang zhī huì",衣单食薄:"yī dān shí bó",一还一报:"yì huán yí bào",叶公好龙:"yè gōng hào lóng",野调无腔:"yě diào wú qiāng",瑶池女使:"yáo chí nǚ shǐ",幺麽小丑:"yāo mó xiǎo chǒu",养精畜锐:"yǎng jīng xù ruì",卬首信眉:"áng shǒu shēn méi",洋洋纚纚:"yáng yáng sǎ sǎ",羊羔美酒:"yáng gāo měi jiǔ",扬风扢雅:"yáng fēng jié yǎ",燕昭市骏:"yān zhāo shì jùn",燕昭好马:"yān zhāo hǎo mǎ",燕石妄珍:"yān shí wàng zhēn",燕骏千金:"yān jùn qiān jīn",燕金募秀:"yān jīn mù xiù",燕驾越毂:"yān jià yuè gǔ",燕歌赵舞:"yān gē zhào wǔ",燕岱之石:"yān dài zhī shí",燕处危巢:"yàn chǔ wēi cháo",掞藻飞声:"shàn zǎo fēi shēng",偃革为轩:"yǎn gé wéi xuān",妍蚩好恶:"yán chī hǎo è",压良为贱:"yā liáng wéi jiàn",搀行夺市:"chān háng duó shì",泣数行下:"qì shù háng xià",当行出色:"dāng háng chū sè",秀出班行:"xiù chū bān háng",儿女成行:"ér nǚ chéng háng",大行大市:"dà háng dà shì",寻行数墨:"xún háng shǔ mò",埙篪相和:"xūn chí xiāng hè",血债累累:"xuè zhài lěi lěi",炫玉贾石:"xuàn yù gǔ shí",炫石为玉:"xuàn shí wéi yù",悬石程书:"xuán dàn chéng shū",悬狟素飡:"xuán huán sù cān",悬龟系鱼:"xuán guī xì yú",揎拳捋袖:"xuān quán luō xiù",轩鹤冠猴:"xuān hè guàn hóu",畜妻养子:"xù qī yǎng zǐ",羞人答答:"xiū rén dā dā",修鳞养爪:"xiū lín yǎng zhǎo",熊据虎跱:"xióng jù hǔ zhì",兄死弟及:"xiōng sǐ dì jí",腥闻在上:"xīng wén zài shàng",兴文匽武:"xīng wén yǎn wǔ",兴观群怨:"xìng guān qún yuàn",兴高彩烈:"xìng gāo cǎi liè",心手相应:"xīn shǒu xiāng yìng",心口相应:"xīn kǒu xiāng yīng",挟势弄权:"xié shì nòng quán",胁肩累足:"xié jiān lěi zú",校短量长:"jiào duǎn liáng cháng",小眼薄皮:"xiǎo yǎn bó pí",硝云弹雨:"xiāo yún dàn yǔ",鸮鸣鼠暴:"xiāo míng shǔ bào",削株掘根:"xuē zhū jué gēn",削铁无声:"xuē tiě wú shēng",削职为民:"xuē zhí wéi mín",削木为吏:"xuē mù wéi lì",想望风褱:"xiǎng wàng fēng huái",香培玉琢:"xiang pei yu zhuó",相鼠有皮:"xiàng shǔ yǒu pí",相时而动:"xiàng shí ér dòng",相切相磋:"xiāng qiē xiāng cuō",相女配夫:"xiàng nǚ pèi fū",相门有相:"xiàng mén yǒu xiàng",挦章撦句:"xián zhāng chě jù",先我着鞭:"xiān wǒ zhuó biān",习焉不察:"xí yān bù chá",歙漆阿胶:"shè qī ē jiāo",晰毛辨发:"xī máo biàn fà",悉索薄赋:"xī suǒ bó fù",雾鳞云爪:"wù lín yún zhǎo",物稀为贵:"wù xī wéi guì",碔砆混玉:"wǔ fū hùn yù",武断专横:"wǔ duàn zhuān héng",五石六鹢:"wǔ shí liù yì",五色相宣:"wǔ sè xiāng xuān",五侯七贵:"wǔ hóu qī guì",五侯蜡烛:"wǔ hòu là zhú",五羖大夫:"wǔ gǔ dà fū",吾自有处:"wú zì yǒu chǔ",无下箸处:"wú xià zhù chǔ",无伤无臭:"wú shāng wú xiù",无能为役:"wú néng wéi yì",无寇暴死:"wú kòu bào sǐ",无孔不钻:"wú kǒng bú zuàn",无间可乘:"wú jiān kě chéng",无间冬夏:"wú jiān dōng xià",无恶不为:"wú è bù wéi",无动为大:"wú dòng wéi dà",诬良为盗:"wū liáng wéi dào",握拳透爪:"wò quán tòu zhǎo",文武差事:"wén wǔ chāi shì",委委佗佗:"wēi wēi tuó tuó",惟日为岁:"wéi rì wéi suì",帷薄不修:"wéi bó bù xiū",为善最乐:"wéi shàn zuì lè",为山止篑:"wéi shān zhǐ kuì",为仁不富:"wéi rén bú fù",为裘为箕:"wéi qiú wéi jī",为民父母:"wéi mín fù mǔ",为虺弗摧:"wéi huǐ fú cuī",为好成歉:"wéi hǎo chéng qiàn",为鬼为蜮:"wéi guǐ wéi yù",望风响应:"wàng fēng xiǎng yīng",望尘僄声:"wàng chén piào shēng",往渚还汀:"wǎng zhǔ huán tīng",王贡弹冠:"wáng gòng dàn guàn",亡国大夫:"wáng guó dà fū",万贯家私:"wàn guàn jiā sī",晚食当肉:"wǎn shí dàng ròu",晚节不保:"wǎn jié bù bǎo",玩岁愒时:"wán suì kài shí",蛙蟆胜负:"wā má shèng fù",吞言咽理:"tūn yán yàn lǐ",颓垣断堑:"tuí yuán duàn qiàn",推干就湿:"tuī gàn jiù shī",剸繁决剧:"tuán fán jué jù",团头聚面:"tuán tóu jù miàn",兔丝燕麦:"tù sī yàn mài",兔头麞脑:"tù tóu zhāng nǎo",兔葵燕麦:"tù kuí yàn mài",吐哺握发:"tǔ bǔ wò fà",投传而去:"tóu zhuàn ér qù",头没杯案:"tóu mò bēi àn",头昏脑闷:"tóu hūn nǎo mèn",头会箕敛:"tóu kuài jī liǎn",头出头没:"tóu chū tóu mò",痛自创艾:"tòng zì chuāng yì",同恶相助:"tóng wù xiāng zhù",同恶相恤:"tóng wù xiāng xù",痌瘝在抱:"tōng guān zài bào",通文调武:"tōng wén diào wǔ",停留长智:"tíng liú zhǎng zhì",铁树开华:"tiě shù kāi huā",条贯部分:"tiáo guàn bù fēn",挑牙料唇:"tiǎo yá liào chún",挑么挑六:"tiāo yāo tiāo liù",挑唇料嘴:"tiǎo chún liào zuǐ",恬不为意:"tián bù wéi yì",恬不为怪:"tián bù wéi guài",天下为笼:"tiān xià wéi lóng",天台路迷:"tiān tái lù mí",天年不遂:"tiān nián bú suì",探囊胠箧:"tàn náng qū qiè",谭言微中:"tán yán wēi zhòng",谈言微中:"tán yán wēi zhòng",狧穅及米:"shì kāng jí mǐ",随物应机:"suí wù yīng jī",搜岩采干:"sōu yán cǎi gàn",宋斤鲁削:"sòng jīn lǔ xuē",松筠之节:"sōng yún zhī jié",四亭八当:"sì tíng bā dàng",四马攒蹄:"sì mǎ cuán tí",四不拗六:"sì bú niù liù",思所逐之:"sī suǒ zhú zhī",丝恩发怨:"sī ēn fà yuàn",硕望宿德:"shuò wàng xiǔ dé",铄古切今:"shuò gǔ qiē jīn",顺风而呼:"shùn fēng ér hū",顺风吹火:"shùn fēng chuī huǒ",水中著盐:"shuǐ zhōng zhuó yán",双柑斗酒:"shuāng gān dǒu jiǔ",数米而炊:"shǔ mǐ ér chuī",数米量柴:"shǔ mǐ liáng chái",数理逻辑:"shù lǐ luó ji",数黑论黄:"shǔ hēi lùn huáng",数白论黄:"shǔ bái lùn huáng",束缊还妇:"shù yūn huán fù",束蒲为脯:"shù pú wéi pú",束椽为柱:"shù chuán wéi zhù",书缺有间:"shū quē yǒu jiàn",手足重茧:"shǒu zú chóng jiǎn",手足异处:"shǒu zú yì chǔ",手脚干净:"shǒu jiǎo gàn jìng",手不应心:"shǒu bù yīng xīn",螫手解腕:"shì shǒu jiě wàn",释知遗形:"shì zhī yí xíng",适时应务:"shì shí yīng wù",适情率意:"shì qíng shuài yì",适当其冲:"shì dāng qí chōng",视为知己:"shì wéi zhī jǐ",使羊将狼:"shǐ yáng jiàng láng",食为民天:"shí wéi mín tiān",拾掇无遗:"shí duō wú yí",实与有力:"shí yù yǒu lì",石英玻璃:"shí yīng bō li",石室金匮:"shí shì jīn guì",什袭珍藏:"shí xí zhēn cáng",什伍东西:"shí wǔ dōng xī",什围伍攻:"shí wéi wǔ gōng",十魔九难:"shí mó jiǔ nàn",诗书发冢:"shī shū fà zhǒng",虱处裈中:"shī chǔ kūn zhōng",师直为壮:"shī zhí wéi zhuàng",尸居龙见:"shī jū lóng xiàn",圣经贤传:"shèng jīng xián zhuàn",圣君贤相:"shèng jūn xián xiàng",生拖死拽:"shēng tuō sǐ zhuài",审己度人:"shěn jǐ duó rén",神武挂冠:"shén wǔ guà guàn",神龙失埶:"shén lóng shī shì",深文曲折:"shēn wén qǔ shé",深厉浅揭:"shēn lì qiǎn qì",深谷为陵:"shēn gǔ wéi líng",深恶痛疾:"shēn wù tòng jí",深仇宿怨:"shēn chóu xiǔ yuàn",舍己为公:"shě jǐ wèi gōng",舍短取长:"shě duǎn qǔ cháng",舍策追羊:"shě cè zhuī yáng",蛇蝎为心:"shé xiē wéi xīn",少成若性:"shào chéng ruò xìng",上当学乖:"shàng dàng xué guāi",赏不当功:"shǎng bù dāng gōng",善自为谋:"shàn zì wéi móu",善为说辞:"shàn wéi shuō cí",善善恶恶:"shàn shàn wù è",善财难舍:"shàn cái nán shě",苫眼铺眉:"shān yǎn pū méi",讪牙闲嗑:"shàn yá xián kē",山阴乘兴:"shān yīn chéng xīng",山殽野湋:"shān yáo yě wéi",山溜穿石:"shān liù chuān shí",山节藻棁:"shān jié zǎo zhuō",杀鸡为黍:"shā jī wéi shǔ",色厉胆薄:"sè lì dǎn bó",桑荫未移:"sāng yīn wèi yí",桑荫不徙:"sāng yīn bù xǐ",桑土绸缪:"sāng tǔ chóu miù",桑户棬枢:"sāng hù juàn shū",三战三北:"sān zhàn sān běi",三瓦两舍:"sān wǎ liǎng shě",三人为众:"sān rén wèi zhòng",三差两错:"sān chā liǎng cuò",塞井焚舍:"sāi jǐng fén shě",洒心更始:"sǎ xīn gèng shǐ",洒扫应对:"sǎ sǎo yìng duì",软红香土:"ruǎn hóng xiāng tǔ",入吾彀中:"rù wú gòu zhōng",入铁主簿:"rù tiě zhǔ bù",入理切情:"rù lǐ qiē qíng",汝成人耶:"rǔ chéng rén yé",如水投石:"rú shuǐ tóu shí",如切如磋:"rú qiē rú cuō",如登春台:"rú dēng chūn tái",肉薄骨并:"ròu bó gǔ bìng",柔情绰态:"róu qíng chuò tài",戎马劻勷:"róng mǎ kuāng ráng",日中为市:"rì zhōng wéi shì",日月参辰:"rì yuè shēn chén",日省月修:"rì xǐng yuè xiū",日削月割:"rì xuē yuè gē",日省月试:"rì xǐng yuè shì",任达不拘:"rèn dá bù jū",人言藉藉:"rén yán jí jí",人模狗样:"rén mú gǒu yàng",人莫予毒:"rén mò yú dú",热熬翻饼:"rè áo fān bǐng",圈牢养物:"juàn láo yǎng wù",取予有节:"qǔ yǔ yǒu jié",诎要桡腘:"qū yāo ráo guó",穷形尽相:"qióng xíng jìn xiàng",情凄意切:"qíng qī yì qiè",情见势屈:"qíng xiàn shì qū",情见乎辞:"qíng xiàn hū cí",清都绛阙:"qīng dōu jiàng què",倾肠倒肚:"qīng cháng dào dǔ",青紫被体:"qīng zǐ pī tǐ",青林黑塞:"qīng lín hēi sài",螓首蛾眉:"qín shǒu é méi",琴瑟之好:"qín sè zhī hào",且住为佳:"qiě zhù wéi jiā",切树倒根:"qiē shù dǎo gēn",切理餍心:"qiē lǐ yàn xīn",切近的当:"qiē jìn de dāng",翘足引领:"qiáo zú yǐn lǐng",巧发奇中:"qiǎo fā qí zhòng",强嘴拗舌:"jiàng zuǐ niù shé",强直自遂:"qiáng zhí zì suí",强死强活:"qiǎng sǐ qiǎng huó",强食自爱:"qiǎng shí zì ài",强食靡角:"qiǎng shí mí jiǎo",强弓劲弩:"qiáng gōng jìng nǔ",强聒不舍:"qiǎng guō bù shě",强凫变鹤:"qiáng fú biàn hè",强而后可:"qiǎng ér hòu kě",强得易贫:"qiǎng dé yì pín",遣兴陶情:"qiǎn xìng táo qíng",牵羊担酒:"qiān yáng dān jiǔ",千了百当:"qiān liǎo bǎi dàng",泣下如雨:"qì xià rú yǔ",起偃为竖:"qǐ yǎn wéi shù",岂弟君子:"kǎi tì jūn zǐ",綦溪利跂:"qí xī lì qí",棋输先著:"qí shū xiān zhuó",齐王舍牛:"qí wáng shě niú",欺天诳地:"qī tiān kuáng dì",普天率土:"pǔ tiān shuài tǔ",铺胸纳地:"pū xiōng nà dì",铺锦列绣:"pū jǐn liè xiù",破家为国:"pò jiā wèi guó",破觚为圜:"pò gū wéi yuán",萍飘蓬转:"píng piāo péng zhuàn",帡天极地:"píng tiān jí dì",屏声息气:"bǐng shēng xī qì",凭几据杖:"píng jī jù zhàng",贫嘴薄舌:"pín zuǐ bó shé",片语只辞:"piàn yǔ zhī cí",披发文身:"pī fà wén shēn",烹龙炮凤:"pēng lóng páo fèng",炰鳖脍鲤:"fǒu biē kuài lǐ",庞眉皓发:"páng méi hào fà",攀花折柳:"pān huā zhé liǔ",攀蟾折桂:"pān chán shé guì",女大难留:"nǚ dà nán liú",弄玉吹箫:"nòng yù chuī xiāo",弄管调弦:"nòng guǎn tiáo xián",弄粉调朱:"nòng fěn diào zhū",浓抹淡妆:"nóng mò dàn zhuāng",捻土为香:"niǎn tǔ wéi xiāng",年谊世好:"nián yì shì hǎo",年华垂暮:"nián huá chuí mù",儗不于伦:"nǐ bù yú lún",泥而不滓:"ní ér bù zǐ",能者为师:"néng zhě wéi shī",能不称官:"néng bú chèn guān",挠直为曲:"náo zhí wéi qū",难进易退:"nán jìn yì tuì",难得糊涂:"nán dé hú tú",南蛮鴂舌:"nán mán jué shé",南贩北贾:"nán fàn běi gǔ",牧猪奴戏:"mù zhū nú xì",目眢心忳:"mù yuān xīn tún",目挑心招:"mù tiǎo xīn zhāo",目量意营:"mù liàng yì yíng",木头木脑:"mù tóu mù nǎo",木干鸟栖:"mù gàn niǎo qī",侔色揣称:"móu sè chuǎi chèn",莫予毒也:"mò yú dú yě",抹粉施脂:"mò fěn shī zhī",磨砻镌切:"mó lóng juān qiē",磨棱刓角:"mó léng wán jiǎo",摸门不着:"mō mén bù zháo",摸不着边:"mō bù zhuó biān",命中注定:"mìng zhōng zhù dìng",鸣鹤之应:"míng hè zhī yìng",明效大验:"míng xiào dà yàn",名我固当:"míng wǒ gù dāng",邈处欿视:"miǎo chǔ kǎn shì",黾穴鸲巢:"měng xué qú cháo",绵里薄材:"mián lǐ bó cái",靡有孑遗:"mǐ yǒu jié yí",靡衣偷食:"mǐ yī tōu shí",迷恋骸骨:"mí liàn hái gǔ",扪参历井:"mén shēn lì jǐng",门单户薄:"mén dān hù bó",昧旦晨兴:"mèi dàn chén xīng",冒名接脚:"mào míng jiē jiǎo",毛遂堕井:"máo suí duò jǐng",毛发倒竖:"máo fā dǎo shù",卖文为生:"mài wén wéi shēng",卖李钻核:"mài lǐ zuān hé",买椟还珠:"mǎi dú huán zhū",埋三怨四:"mán sān yuàn sì",马入华山:"mǎ rù huá shān",落魄江湖:"luò pò jiāng hú",落落难合:"luò luò nán hé",落草为寇:"luò cǎo wéi kòu",罗织构陷:"luó zhī gòu xiàn",鸾凤和鸣:"luán fèng hè míng",率由旧章:"shuài yóu jiù zhāng",率土同庆:"shuài tǔ tóng qìng",率兽食人:"shuài shòu shí rén",率土归心:"shuài tǔ guī xīn",率马以骥:"shuài mǎ yǐ jì",率尔成章:"shuài ěr chéng zhāng",鲁斤燕削:"lǔ jīn yàn xuē",漏尽更阑:"lòu jìn gēng lán",笼鸟槛猿:"lóng niǎo jiàn yuán",笼鸟池鱼:"lóng niǎo chí yú",龙游曲沼:"lóng yóu qū zhǎo",龙血玄黄:"lóng xuè xuán huáng",龙雕凤咀:"lóng diāo fèng jǔ",六尺之讬:"liù chǐ zhī tuō",令原之戚:"líng yuán zhī qī",令人捧腹:"lìng rén pěng fù",陵劲淬砺:"líng jìng cuì lì",临敌易将:"lín dí yì jiàng",裂裳衣疮:"liè shang yī chuāng",裂冠毁冕:"liè guàn huǐ miǎn",了无惧色:"liǎo wú jù sè",了身达命:"liǎo shēn dá mìng",了然无闻:"liǎo rán wú wén",了不可见:"liǎo bù kě jiàn",了不长进:"liǎo bù zhǎng jìn",燎发摧枯:"liǎo fà cuī kū",审时度势:"shěn shí duó shì",量小力微:"liàng xiǎo lì wēi",相时度力:"xiāng shí duó lì",量枘制凿:"liàng ruì zhì záo",量如江海:"liàng rú jiāng hǎi",量金买赋:"liàng jīn mǎi fù",量己审分:"liàng jǐ shěn fēn",敛骨吹魂:"liǎn gǔ chuī hún",詈夷为跖:"lì yí wéi zhí",利令志惛:"lì lìng zhì hūn",李广不侯:"lǐ guǎng bú hòu",礼为情貌:"lǐ wéi qíng mào",礼让为国:"lǐ ràng wéi guó",犁生骍角:"lí shēng xīng jiǎo",离本徼末:"lí běn jiǎo mò",楞眉横眼:"léng méi hèng yǎn",擂天倒地:"léi tiān dǎo dì",累足成步:"lěi zú chéng bù",累瓦结绳:"lěi wǎ jié shéng",累土至山:"lěi tǔ zhì shān",累土聚沙:"lěi tǔ jù shā",累卵之危:"lěi luǎn zhī wēi",累累如珠:"lěi lěi rú zhū",累块积苏:"lěi kuài jī sū",乐山乐水:"lè shān lè shuǐ",潦原浸天:"lǎo yuán jìn tiān",老师宿儒:"lǎo shī xiǔ rú",牢什古子:"láo shí gǔ zi",琅嬛福地:"láng huán fú dì",揆情度理:"kuí qíng duó lǐ",旷日累时:"kuàng rì lěi shí",匡救弥缝:"kuāng jiù mí fèng",枯树生华:"kū shù shēng huā",口轻舌薄:"kǒu qīng shé bó",口角生风:"kǒu jiǎo shēng fēng",口角春风:"kǒu jiǎo chūn fēng",口角风情:"kǒu jiǎo fēng qíng",口干舌焦:"kǒu gān shé jiāo",口腹之累:"kǒu fù zhī lěi",空腹便便:"kōng fù pián pián",嗑牙料嘴:"kē yá liào zuǐ",刻木为鹄:"kè mù wéi hú",咳珠唾玉:"ké zhū tuò yù",咳唾成珠:"ké tuò chéng zhū",抗颜为师:"kàng yán wéi shī",开华结果:"kāi huā jié guǒ",峻阪盐车:"jùn bǎn yán chē",嚼铁咀金:"jiáo tiě jǔ jīn",嚼墨喷纸:"jué mò pēn zhǐ",倔头强脑:"juè tóu jiàng nǎo",倔头倔脑:"juè tóu juè nǎo",倦鸟知还:"juàn niǎo zhī huán",卷席而葬:"juǎn xí ér zàng",卷甲倍道:"juǎn jiǎ bèi dào",聚米为山:"jù mǐ wéi shān",举手相庆:"jǔ shǒu xiāng qìng",举世混浊:"jǔ shì hún zhuó",鞠为茂草:"jū wéi mào cǎo",拘神遣将:"jū shén qiǎn jiàng",居下讪上:"jū xià shàn shàng",久要不忘:"jiǔ yāo bú wàng",九转功成:"jiǔ zhuǎn gōng chéng",九蒸三熯:"jiǔ zhēng sān hàn",敬业乐群:"jìng yè lè qún",井底虾蟆:"jǐng dǐ xiā má",旌旗卷舒:"jīng qí juǎn shū",荆棘载途:"jīng jí zài tú",禁舍开塞:"jìn shě kāi sāi",祲威盛容:"jìn wēi shèng róng",进退消长:"jìn tuì xiāo cháng",进退应矩:"jìn tuì yīng jǔ",进退触籓:"jìn tuì chù fān",进退跋疐:"jìn tuì bá zhì",尽多尽少:"jǐn duō jǐn shǎo",锦囊还矢:"jǐn náng huán shǐ",矜己自饰:"jīn jǐ zì shì",矜功负气:"jīn gōng fù qì",津关险塞:"jīn guān xiǎn sài",金吾不禁:"jīn wú bú jìn",金翅擘海:"jīn chì bāi hǎi",解衣衣人:"jiě yī yī rén",解人难得:"jiě rén nán dé",解铃系铃:"jiě líng xì líng",解发佯狂:"jiě fà yáng kuáng",诘屈磝碻:"jié qū áo qiāo",教猱升木:"jiāo náo shēng mù",较瘦量肥:"jiào shòu liàng féi",角立杰出:"jiǎo lì jié chū",焦沙烂石:"jiāo shā làn shí",骄儿騃女:"jiāo ér sì nǚ",浇风薄俗:"jiāo fēng bó sú",降妖捉怪:"xiáng yāo zhuō guài",将取固予:"jiāng qǔ gù yǔ",将门有将:"jiàng mén yǒu jiàng",将夺固与:"jiāng duó gù yǔ",槛花笼鹤:"jiàn huā lóng hè",鉴影度形:"jiàn yǐng duó xíng",渐不可长:"jiàn bù kě zhǎng",见素抱朴:"xiàn sù bào pǔ",见弃于人:"jiàn qì yú rén",简丝数米:"jiǎn sī shǔ mǐ",俭不中礼:"jiǎn bú zhòng lǐ",间见层出:"jiàn xiàn céng chū",尖嘴薄舌:"jiān zuǐ bó shé",甲冠天下:"jiǎ guàn tiān xià",葭莩之亲:"jiā fú zhī qīn",家累千金:"jiā lèi qiān jīn",家给人足:"jiā jǐ rén zú",家道从容:"jiā dào cóng róng",夹袋人物:"jiā dài rén wù",霁风朗月:"jì fēng lǎng yuè",寄兴寓情:"jì xìng yù qíng",计深虑远:"jì shēn lǜ yuǎn",计功量罪:"jì gōng liàng zuì",掎裳连襼:"jǐ shang lián yì",虮虱相吊:"jǐ shī xiāng diào",疾不可为:"jí bù kě wéi",极深研几:"jí shēn yán jī",及宾有鱼:"jí bīn yǒu yú",激薄停浇:"jī bó tíng jiāo",积素累旧:"jī sù lěi jiù",积时累日:"jī shí lěi rì",积露为波:"jī lù wéi bō",积德累功:"jī dé lěi gōng",积谗糜骨:"jī chán méi gǔ",击排冒没:"jī pái mào mò",祸为福先:"huò wéi fú xiān",祸福相依:"huò fú xiāng yī",获隽公车:"huò jùn gōng chē",混应滥应:"hùn yīng làn yīng",毁舟为杕:"huǐ zhōu wéi duò",毁钟为铎:"huǐ zhōng wéi duó",毁冠裂裳:"huǐ guān liè cháng",晦盲否塞:"huì máng pǐ sè",回船转舵:"huí chuán zhuàn duò",潢池盗弄:"huáng chí dào nòng",黄冠草履:"huáng guàn cǎo lǚ",黄发儿齿:"huáng fà ér chǐ",黄发垂髫:"huáng fà chuí tiáo",还珠返璧:"huán zhū fǎn bì",还年驻色:"huán nián zhù sè",还年却老:"huán nián què lǎo",坏裳为裤:"huài shang wéi kù",画荻和丸:"huà dí huò wán",化枭为鸠:"huà xiāo wéi jiū",化腐为奇:"huà fǔ wéi qí",化鸱为凤:"huà chī wéi fèng",花不棱登:"huā bu lēng dēng",户限为穿:"hù xiàn wéi chuān",呼卢喝雉:"hū lú hè zhì",呼来喝去:"hū lái hè qù",呼不给吸:"hū bù jǐ xī",厚味腊毒:"hòu wèi xī dú",厚德载物:"hòu dé zài wù",鸿渐于干:"hóng jiàn yú gàn",洪炉燎发:"hóng lú liáo fà",红绳系足:"hóng shéng jì zú",红不棱登:"hóng bu lēng dēng",横抢硬夺:"hèng qiǎng yìng duó",横恩滥赏:"hèng ēn làn shǎng",恨海难填:"hèn hǎi nán tián",鹤发鸡皮:"hè fà jī pí",涸思干虑:"hé sī gān lǜ",河涸海干:"hé hé hǎi gān",和颜说色:"hé yán yuè sè",合从连衡:"hé zòng lián héng",浩浩汤汤:"hào hào shāng shāng",好勇斗狠:"hào yǒng dòu hěn",好问则裕:"hào wèn zé yù",好为事端:"hào wéi shì duān",好问决疑:"hào wèn jué yí",好生之德:"hào shēng zhī dé",好奇尚异:"hǎo qí shàng yì",好恶不同:"hǎo è bù tóng",好丹非素:"hào dān fēi sù",豪干暴取:"háo gàn bào qǔ",毫发不爽:"háo fà bù shuǎng",寒酸落魄:"hán suān luò pò",含英咀华:"hán yīng jǔ huá",含糊不明:"hán hú bù míng",过为已甚:"guò wéi yǐ shèn",桂折兰摧:"guì shé lán cuī",规旋矩折:"guī xuán jǔ shé",广文先生:"guǎng wén xiān sheng",广陵散绝:"guǎng líng sǎn jué",冠山戴粒:"guàn shān dài lì",冠屦倒施:"guàn jù dǎo shī",挂席为门:"guà xí wéi mén",寡见鲜闻:"guǎ jiàn xiǎn wén",瓜葛相连:"guā gé xiāng lián",鼓吻奋爪:"gǔ wěn fèn zhǎo",古调单弹:"gǔ diào dān tán",古调不弹:"gǔ diào bù tán",姑射神人:"gū yè shén rén",苟合取容:"gǒu hé qǔ róng",狗续侯冠:"gǒu xù hòu guàn",钩爪锯牙:"gōu zhǎo jù yá",共枝别干:"gòng zhī bié gàn",共为唇齿:"gòng wéi chún chǐ",拱手而降:"gǒng shǒu ér xiáng",拱肩缩背:"gǒng jiān suō bèi",功薄蝉翼:"gōng bó chán yì",弓调马服:"gōng diào mǎ fú",更姓改物:"gēng xìng gǎi wù",更仆难数:"gēng pú nán shǔ",更令明号:"gēng lìng míng hào",更待干罢:"gèng dài gàn bà",更唱迭和:"gēng chàng dié hé",更长梦短:"gēng cháng mèng duǎn",各色名样:"gè sè míng yàng",格格不纳:"gé gé bú nà",格格不吐:"gé gé bù tǔ",告朔饩羊:"gù shuò xì yáng",膏车秣马:"gào chē mò mǎ",高义薄云:"gāo yì bó yún",岗头泽底:"gāng tóu zé dǐ",敢为敢做:"gǎn wéi gǎn zuò",甘分随时:"gān fèn suí shí",甘处下流:"gān chǔ xià liú",干啼湿哭:"gàn tí shī kū",干名犯义:"gàn míng fàn yì",干将莫邪:"gān jiāng mò yé",干城之将:"gān chéng zhī jiàng",腹载五车:"fù zài wǔ chē",父债子还:"fù zhài zǐ huán",父为子隐:"fù wéi zǐ yǐn",辅世长民:"fǔ shì zhǎng mín",福为祸始:"fú wéi huò shǐ",符号逻辑:"fú hào luó jí",浮收勒折:"fú shōu lè shé",肤受之愬:"fū shòu zhī sù",否终则泰:"pǐ zhōng zé tài",佛头著粪:"fó tóu zhuó fèn",奉为楷模:"fèng wéi kǎi mó",凤靡鸾吪:"fèng mǐ luán é",封豨修蛇:"fēng xī xiū shé",风影敷衍:"fēng yǐng fū yǎn",丰屋蔀家:"fēng wū bù jiā",粪土不如:"fèn tǔ bù rú",分风劈流:"fēn fēng pǐ liú",沸沸汤汤:"fèi fèi shāng shāng",菲食薄衣:"fěi shí bó yī",飞将数奇:"fēi jiàng shù qí",放辟邪侈:"fàng pì xié chǐ",方领圆冠:"fāng lǐng yuán guàn",犯而不校:"fàn ér bú jiào",返本还源:"fǎn běn huán yuán",反劳为逸:"fǎn láo wéi yì",法轮常转:"fǎ lún cháng zhuàn",罚不当罪:"fá bù dāng zuì",发引千钧:"fà yǐn qiān jūn",发奸擿伏:"fā jiān tī fú",发短心长:"fà duǎn xīn cháng",二竖为虐:"èr shù wéi nüè",儿女心肠:"ér nǚ xīn cháng",儿女亲家:"ér nǚ qìng jiā",遏恶扬善:"è wù yáng shàn",饿殍枕藉:"è piǎo zhěn jí",饿殍载道:"è piǎo zài dào",恶醉强酒:"wù zuì qiǎng jiǔ",恶意中伤:"è yì zhòng shāng",恶湿居下:"wù shī jū xià",恶居下流:"wù jū xià liú",恶不去善:"wù bú qù shàn",扼吭夺食:"è háng duó shí",扼襟控咽:"è jīn kòng yān",峨峨汤汤:"é é shāng shāng",屙金溺银:"ē jīn niào yín",朵颐大嚼:"duǒ yí dà jiáo",夺人所好:"duó rén suǒ hào",多言数穷:"duō yán shuò qióng",多文为富:"duō wén wéi fù",多端寡要:"duō duān guǎ yào",多财善贾:"duō cái shàn gǔ",遁世无闷:"dùn shì wú mèn",遁迹黄冠:"dùn jì huáng guàn",堆案盈几:"duī àn yíng jī",断还归宗:"duàn huán guī zōng",短见薄识:"duǎn jiàn bó shí",蠹居棊处:"dù jū qí chǔ",度己以绳:"duó jǐ yǐ shéng",杜默为诗:"dù mò wéi shī",杜鹃啼血:"dù juān tí xuè",笃近举远:"dǔ jìn jǔ yuǎn",独有千秋:"dú yǒu qiān qiū",读书得间:"dú shū dé jiàn",斗转参横:"dǒu zhuǎn shēn héng",兜肚连肠:"dōu dǔ lián cháng",洞见症结:"dòng jiàn zhèng jié",恫疑虚喝:"dòng yí xū hè",动中窾要:"dòng zhōng kuǎn yào",东鸣西应:"dōng míng xī yīng",东鳞西爪:"dōng lín xī zhǎo",东量西折:"dōng liàng xī shé",东家西舍:"dōng jiā xī shè",东扯西拽:"dōng chě xī zhuāi",鼎铛有耳:"dǐng chēng yǒu ěr",鼎铛玉石:"dǐng chēng yù shí",钉头磷磷:"dīng tóu lín lín",跌宕不羁:"diē dàng bù jī",跌弹斑鸠:"diē dàn bān jiū",雕心雁爪:"diāo xīn yàn zhǎo",颠倒衣裳:"diān dǎo yī cháng",德薄能鲜:"dé bó néng xiǎn",得马折足:"dé mǎ shé zú",蹈其覆辙:"dǎo qí fù zhé",捣虚撇抗:"dǎo xū piē kàng",倒载干戈:"dào zài gān gē",倒裳索领:"dào cháng suǒ lǐng",倒果为因:"dào guǒ wéi yīn",叨在知己:"tāo zài zhī jǐ",叨陪末座:"tāo péi mò zuò",党豺为虐:"dǎng chái wéi nüè",当轴处中:"dāng zhóu chǔ zhōng",当着不着:"dāng zhuó bù zhuó",当务始终:"dāng wù shǐ zhōng",淡汝浓抹:"dàn rǔ nóng mǒ",弹丸脱手:"tán wán tuō shǒu",弹铗无鱼:"dàn jiá wú yú",箪食瓢饮:"dān sì piáo yǐn",大璞不完:"dà pú bù wán",大明法度:"dà míng fǎ dù",大车以载:"dà chē yǐ zài",打闷葫芦:"dǎ mèn hú lu",沓来踵至:"tà lái zhǒng zhì",厝火燎原:"cuò huǒ liǎo yuán",撮科打哄:"cuō kē dǎ hòng",寸积铢累:"cùn jī zhū lěi",啛啛喳喳:"cuì cuì chā chā",摧折豪强:"cuī zhé háo qiáng",摧刚为柔:"cuī gāng wéi róu",从俗就简:"cóng sú jiù jiǎn",此发彼应:"cǐ fā bǐ yīng",此唱彼和:"cǐ chàng bǐ hè",慈悲为本:"cí bēi wéi běn",纯属骗局:"chún shǔ piàn jú",春笋怒发:"chūn sǔn nù fā",垂头搨翼:"chuí tóu tà yì",传为笑谈:"chuán wéi xiào tán",传风扇火:"chuán fēng shān huǒ",穿红着绿:"chuān hóng zhuó lǜ",触处机来:"chù chǔ jī lái",处尊居显:"chǔ zūn jū xiǎn",处堂燕雀:"chǔ táng yàn què",处实效功:"chǔ shí xiào gōng",处高临深:"chǔ gāo lín shēn",出入无间:"chū rù wú jiān",出门应辙:"chū mén yīng zhé",出处语默:"chū chǔ yǔ mò",出处殊途:"chū chǔ shū tú",出处进退:"chū chǔ jìn tuì",愁山闷海:"chóu shān mèn hǎi",冲冠眦裂:"chōng guàn zì liè",齿牙为祸:"chǐ yá wéi huò",尺二冤家:"chǐ èr yuān jia",尺短寸长:"chǐ duǎn cùn cháng",尺寸之功:"chǐ cùn zhī gōng",城北徐公:"chéng běi xú gōng",成败兴废:"chéng bài xīng fèi",趁水和泥:"chèn shuǐ huò ní",称雨道晴:"chēng yǔ dào qíng",称体载衣:"chēng tǐ zài yī",称体裁衣:"chèn tǐ cái yī",称家有无:"chèn jiā yǒu wú",称德度功:"chēng dé duó gōng",沉吟章句:"chén yín zhāng jù",沉吟不决:"chén yín bù jué",沉疴宿疾:"chén kē sù jí",扯纤拉烟:"chě qiàn lā yān",扯顺风旗:"chě shùn fēng qí",车载船装:"chē zǎi chuán zhuāng",朝升暮合:"zhāo shēng mù gě",朝攀暮折:"zhāo pān mù shé",超今冠古:"chāo jīn guàn gǔ",倡而不和:"chàng ér bú hè",畅所欲为:"chàng suǒ yù wéi",苌弘碧血:"cháng hóng bì xiě",长幼尊卑:"zhǎng yòu zūn bēi",长绳系日:"cháng shéng jì rì",长年三老:"zhǎng nián sān lǎo",长春不老:"cháng chūn bù lǎo",长傲饰非:"zhǎng ào shì fēi",昌亭旅食:"chāng tíng lǚ shí",禅絮沾泥:"chán xù zhān ní",差三错四:"chā sān cuò sì",层台累榭:"céng tái lěi xiè",层见迭出:"céng xiàn dié chū",藏踪蹑迹:"cáng zōng niè jì",苍蝇见血:"cāng yíng jiàn xiě",餐松啖柏:"cān sōng dàn bó",骖风驷霞:"cān fēng sì xiá",参伍错综:"cēn wǔ cuò zōng",参辰卯酉:"shēn chén mǎo yǒu",材优干济:"cái yōu gān jǐ",材薄质衰:"cái bó zhì shuāi",才大难用:"cái dà nán yòng",才薄智浅:"cái bó zhì qiǎn",不足为意:"bù zú wéi yì",不足为据:"bù zú wéi jù",不足为法:"bù zú wéi fǎ",不足齿数:"bù zú chǐ shǔ",不着疼热:"bù zhuó téng rè",不知薡蕫:"bù zhī dǐng dǒng",不越雷池:"bú yuè léi chí",不相为谋:"bù xiāng wéi móu",不贪为宝:"bù tān wéi bǎo",不了而了:"bù liǎo ér liǎo",不可揆度:"bù kě kuí duó",不遑启处:"bù huáng qǐ chǔ",不当不正:"bù dāng bú zhèng",不差什么:"bú chà shén me",不差累黍:"bù chā lěi shǔ",擘两分星:"bò liǎng fēn xīng",簸土扬沙:"bǒ tǔ yáng shā",薄物细故:"bó wù xì gù",薄寒中人:"bó hán zhòng rén",博文约礼:"bó wén yuē lǐ",播糠眯目:"bō kāng mí mù",剥皮抽筋:"bō pí chōu jīn",剥肤椎髓:"bō fū chuí suǐ",波属云委:"bō zhǔ yún wěi",波骇云属:"bō hài yún zhǔ",兵微将寡:"bīng wēi jiàng guǎ",兵强将勇:"bīng qiáng jiàng yǒng",兵多将广:"bīng duō jiàng guǎng",兵不由将:"bīng bù yóu jiàng",冰解的破:"bīng jiě dì pò",彬彬济济:"bīn bīn jǐ jǐ",摽梅之年:"biào méi zhī nián",表里为奸:"biǎo lǐ wéi jiān",飙发电举:"biāo fā diàn jǔ",变贪厉薄:"biàn tān lì bó",敝盖不弃:"bì gài bú qì",秕言谬说:"bǐ yán miù shuō",比物属事:"bǐ wù zhǔ shì",被山带河:"pī shān dài hé",被甲枕戈:"pī jiǎ zhěn gē",被甲据鞍:"pī jiǎ jù ān",被褐怀玉:"pī hè huái yù",被发缨冠:"pī fà yīng guàn",背曲腰躬:"bèi qǔ yāo gōng",北窗高卧:"běi chuāng gāo wò",北辰星拱:"běi chén xīng gǒng",北鄙之音:"běi bǐ zhī yīn",卑宫菲食:"bēi gōng fěi shí",暴衣露冠:"pù yī lù guàn",暴腮龙门:"pù sāi lóng mén",暴露文学:"bào lù wén xué",暴虎冯河:"bào hǔ píng hé",抱蔓摘瓜:"bào wàn zhāi guā",抱法处势:"bào fǎ chǔ shì",褒贬与夺:"bāo biǎn yǔ duó",帮闲钻懒:"bāng xián zuān lǎn",拜将封侯:"bài jiàng fēng hóu",百兽率舞:"bǎi shòu shuài wǔ",百孔千创:"bǎi kǒng qiān chuāng",白衣卿相:"bái yī qīng xiàng",白首为郎:"bái shǒu wéi láng",白首相知:"bái shǒu xiāng zhī",把玩无厌:"bǎ wán wú yàn",拔锅卷席:"bá guō juǎn xí",拔本塞源:"bá běn sè yuán",傲不可长:"ào bù kě zhǎng",熬更守夜:"áo gēng shǒu yè",安时处顺:"ān shí chǔ shùn",安身为乐:"ān shēn wéi lè",安老怀少:"ān lǎo huái shào",安步当车:"ān bù dàng chē",爱人好士:"ài rén hào shì",矮人观场:"ǎi rén guān chǎng",捱风缉缝:"ái fēng jī fèng",挨山塞海:"āi shān sè hǎi",阿家阿翁:"ā jiā ā wēng",阿党相为:"ē dǎng xiāng wéi",追亡逐北:"zhuī wáng zhú běi",竹篮打水:"zhú lán dá shuǐ",知疼着热:"zhī téng zháo rè",语不惊人:"yǔ bù jīng rén",于今为烈:"yú jīn wéi liè",一日三省:"yí rì sān xǐng",穴居野处:"xué jū yě chǔ",五脊六兽:"wǔ jǐ liù shòu",无声无臭:"wú shēng wú xiù",谓予不信:"wèi yú bú xìn",舍身为国:"shě shēn wéi guó",杀妻求将:"shā qī qiú jiàng",强作解人:"qiǎng zuò jiě rén",气冲斗牛:"qì chōng dǒu niú",临深履薄:"lín shēn lǚ bó",钧天广乐:"jūn tiān guǎng yuè",艰难竭蹶:"jiān nán jié jué",夹七夹八:"jiā qī jiā bā",混混噩噩:"hún hún è è",厚古薄今:"hòu gǔ bó jīn",鬼怕恶人:"guǐ pà è rén",伽马射线:"gā mǎ shè xiàn",佛头着粪:"fó tóu zhuó fèn",奉为至宝:"fèng wéi zhì bǎo",登坛拜将:"dēng tán bài jiàng",晨昏定省:"chén hūn dìng xǐng",察察为明:"chá chá wéi míng",博闻强识:"bó wén qiáng zhì",避难就易:"bì nán jiù yì",了无生机:"liǎo wú shēng jī",有一说一:"yǒu yī shuō yī",独一无二:"dú yī wú èr",说一不二:"shuō yī bù èr",举一反三:"jǔ yī fǎn sān",数一数二:"shǔ yī shǔ èr",杀一儆百:"shā yī jǐng bǎi",丁一卯二:"dīng yī mǎo èr",丁一确二:"dīng yī què èr",不一而止:"bù yī ér zhǐ",无一幸免:"wú yī xìng miǎn",表里不一:"biǎo lǐ bù yī",良莠不一:"liáng yǒu bù yī",心口不一:"xīn kǒu bù yī",言行不一:"yán xíng bù yī",政令不一:"zhèng lìng bù yī",参差不一:"cēn cī bù yī",纷纷不一:"fēn fēn bù yī",毁誉不一:"huǐ yù bù yī",不一而三:"bù yī ér sān",百不一遇:"bǎi bù yī yù",言行抱一:"yán xíng bào yī",瑜百瑕一:"yú bǎi xiá yī",背城借一:"bèi chéng jiè yī",凭城借一:"píng chéng jiè yī",劝百讽一:"quàn bǎi fěng yī",群居和一:"qún jū hé yī",百不获一:"bǎi bù huò yī",百不失一:"bǎi bù shī yī",百无失一:"bǎi wú shī yī",万不失一:"wàn bù shī yī",万无失一:"wàn wú shī yī",合而为一:"hé ér wéi yī",合两为一:"hé liǎng wéi yī",合二为一:"hé èr wéi yī",天下为一:"tiān xià wéi yī",相与为一:"xiāng yǔ wéi yī",较若画一:"jiào ruò huà yī",较如画一:"jiào rú huà yī",斠若画一:"jiào ruò huà yī",言行若一:"yán xíng ruò yī",始终若一:"shǐ zhōng ruò yī",终始若一:"zhōng shǐ ruò yī",惟精惟一:"wéi jīng wéi yī",众多非一:"zhòng duō fēi yī",不能赞一:"bù néng zàn yī",问一答十:"wèn yī dá shí",一不扭众:"yī bù niǔ zhòng",一以贯之:"yī yǐ guàn zhī",一以当百:"yī yǐ dāng bǎi",百不当一:"bǎi bù dāng yī",十不当一:"shí bù dāng yī",以一警百:"yǐ yī jǐng bǎi",以一奉百:"yǐ yī fèng bǎi",以一持万:"yǐ yī chí wàn",以一知万:"yǐ yī zhī wàn",百里挑一:"bǎi lǐ tiāo yī",整齐划一:"zhěng qí huà yī",一来二去:"yī lái èr qù",一路公交:"yī lù gōng jiāo",一路汽车:"yī lù qì chē",一路巴士:"yī lù bā shì",朝朝朝落:"zhāo cháo zhāo luò",曲意逢迎:"qū yì féng yíng",一行不行:"yì háng bù xíng",行行不行:"háng háng bù xíng"},Cg=Object.keys(En).map(n=>({zh:n,pinyin:En[n],probability:2e-8,length:4,priority:v.Normal,dict:Symbol("dict4")})),_n={巴尔干半岛:"bā ěr gàn bàn dǎo",巴尔喀什湖:"bā ěr kā shí hú",不幸而言中:"bú xìng ér yán zhòng",布尔什维克:"bù ěr shí wéi kè",何乐而不为:"hé lè ér bù wéi",苛政猛于虎:"kē zhèng měng yú hǔ",蒙得维的亚:"méng dé wéi dì yà",民以食为天:"mín yǐ shí wéi tiān",事后诸葛亮:"shì hòu zhū gě liàng",物以稀为贵:"wù yǐ xī wéi guì",先下手为强:"xiān xià shǒu wéi qiáng",行行出状元:"háng háng chū zhuàng yuan",亚得里亚海:"yà dé lǐ yà hǎi",眼不见为净:"yǎn bú jiàn wéi jìng",竹筒倒豆子:"zhú tǒng dào dòu zi"},Dg=Object.keys(_n).map(n=>({zh:n,pinyin:_n[n],probability:2e-8,length:5,priority:v.Normal,dict:Symbol("dict5")}));function In(n,i){return n&&(n.decimali.probability)?n:i}function Vn(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function Mg(n){return n.priority===v.Custom?-(n.length*n.length*100):n.priority===v.Surname?-(n.length*n.length*10):0}function Eg(n,i){const g=[];let u=n.length-1,h=n[u];for(let s=i-1;s>=0;s--){const o=s+1>=i?{probability:1,decimal:0,patterns:[]}:g[s+1];for(;h&&h.index+h.length-1===s;){const c=h.index,l={probability:h.probability*o.probability,decimal:o.decimal+Mg(h),patterns:o.patterns,concatPattern:h};Vn(l),g[c]=In(g[c],l),h=n[--u]}const t={probability:1e-13*o.probability,decimal:0,patterns:o.patterns};Vn(t),g[s]=In(g[s],t),g[s].concatPattern&&(g[s].patterns=g[s].patterns.concat(g[s].concatPattern),g[s].concatPattern=void 0,delete g[s+1])}return g[0].patterns.reverse()}function Zn(n,i){return n&&n.count<=i.count?n:i}function _g(n){return n.priority===v.Custom?-(n.length*n.length*1e5):n.priority===v.Surname?-(n.length*n.length*100):1}function Ig(n,i){const g=[];let u=n.length-1,h=n[u];for(let s=i-1;s>=0;s--){const o=s+1>=i?{count:0,patterns:[]}:g[s+1];for(;h&&h.index+h.length-1===s;){const c=h.index,l={count:_g(h)+o.count,patterns:o.patterns,concatPattern:h};g[c]=Zn(g[c],l),h=n[--u]}const t={count:1+o.count,patterns:o.patterns};g[s]=Zn(g[s],t),g[s].concatPattern&&(g[s].patterns=g[s].patterns.concat(g[s].concatPattern),g[s].concatPattern=void 0,delete g[s+1])}return g[0].patterns.reverse()}function Vg(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function Zg(n){const i=[];for(let g=n.length-1;g>=0;){const{index:u}=n[g];let h=g-1;for(;h>=0&&Vg(n[g],n[h]);)h--;(h<0||n[h].index+n[h].length<=u)&&i.push(n[g]),g=h}return i.reverse()}var Nn;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})(Nn||(Nn={}));class Rn{constructor(i,g="",u=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=u}}class Ng{constructor(){this.dictMap=new Map,this.queues=[],this.root=new Rn(null)}build(i){this.buildTrie(i),this.buildFailPointer()}buildTrie(i){for(let g of i){const u=K(g.zh);let h=this.root;for(let s=0;s{i=i.concat(u)}),this.queues=[];i.length>g;){let u=i[g++],h=u.parent&&u.parent.fail,s=u.key;for(;h&&!h.children.has(s);)h=h.fail;h?u.fail=h.children.get(s):u.fail=this.root}}addPatternToDictMap(i){this.dictMap.has(i.dict)||this.dictMap.set(i.dict,new Set),this.dictMap.get(i.dict).add(i)}addNodeToQueues(i){this.queues[S(i.prefix)]||(this.queues[S(i.prefix)]=[]),this.queues[S(i.prefix)].push(i)}insertPattern(i,g){for(let u=i.length-1;u>=0;u--){const h=i[u];if(g.priority===h.priority&&g.probability>=h.probability)i[u+1]=h;else if(g.priority>h.priority)i[u+1]=h;else{i[u+1]=g;return}}i[0]=g}removeDict(i){this.dictMap.has(i)&&(this.dictMap.get(i).forEach(u=>{u.node.patterns=u.node.patterns.filter(h=>h!==u)}),this.dictMap.delete(i))}match(i,g){let u=this.root,h=[];const s=K(i);for(let o=0;og==="off"?e.priority!==v.Surname:g==="head"?e.length-1-o===0:!0);c&&h.push(Object.assign(Object.assign({},c),{index:o-c.length+1}));let l=u.fail;for(;l!==null;){const e=l.patterns.find(z=>g==="off"?z.priority!==v.Surname:g==="head"?z.length-1-o===0:!0);e&&h.push(Object.assign(Object.assign({},e),{index:o-e.length+1})),l=l.fail}}}return h}search(i,g,u=2){const h=this.match(i,g);return u===1?Zg(h):u===3?Ig(h,S(i)):Eg(h,S(i))}}const Rg=[...Dg,...Cg,...Tg,...Sg,...fg,...Pg],$n=new Ng;$n.build(Rg);const Ag=new Wn,Bg=()=>Ag,W=n=>{const i=M.get(n);return i?i.split(" ")[0]:n},Lg=(n,i,g,u)=>{const h=$n.search(n,g,u);let s=0;const o=K(n);for(let t=0;tn.replace(/(ā|á|ǎ|à)/g,"a").replace(/(ō|ó|ǒ|ò)/g,"o").replace(/(ē|é|ě|è)/g,"e").replace(/(ī|í|ǐ|ì)/g,"i").replace(/(ū|ú|ǔ|ù)/g,"u").replace(/(ǖ|ǘ|ǚ|ǜ)/g,"ü").replace(/(n̄|ń|ň|ǹ)/g,"n").replace(/(m̄|ḿ|m̌|m̀)/g,"m").replace(/(ê̄|ế|ê̌|ề)/g,"ê"),Un=(n,i="off")=>{const g=Bg();let u=M.get(n)?M.get(n).split(" "):[];if(g.get(n))u=g.get(n).split(" ");else if(i!=="off"){const h=en[n];h&&(u=[h].concat(u.filter(s=>s!==h)))}return u},Og=(n,i="off")=>{let g=Un(n,i);return g.length>0?g.map(u=>({origin:n,result:u,isZh:!0,originPinyin:u})):[{origin:n,result:n,isZh:!1,originPinyin:n}]},Q=(n,i)=>{const g=n.split(" "),u=[],h=[];for(let s of g)for(let o of rg)if(s.startsWith(o)){let t=s.slice(o.length);jg.indexOf(o)!==-1&&ag.indexOf(t)!==-1&&(t=bg[t]),u.push(o),h.push(t);break}return i==="standard"&&u.forEach((s,o)=>{(s==="y"||s==="w")&&(u[o]="")}),{final:h.join(" "),initial:u.join(" ")}},X=n=>{const{final:i}=Q(n);let g="",u="",h="";return xg.indexOf(G(i))!==-1?(g=i[0],u=i[1],h=i.slice(2)):(u=i[0]||"",h=i.slice(1)||""),{head:g,body:u,tail:h}},J=n=>{const i=/(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/,g=/(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/,u=/(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/,h=/(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/,s=/(a|o|e|i|u|ü|ê)/,o=/(n|m)$/,t=[];return n.split(" ").forEach(l=>{i.test(l)?t.push("1"):g.test(l)?t.push("2"):u.test(l)?t.push("3"):h.test(l)?t.push("4"):s.test(l)||o.test(l)?t.push("0"):t.push("")}),t.join(" ")},Hg=(n,i)=>{const g=G(n).split(" "),u=J(i).split(" "),h=[];return g.forEach((s,o)=>{h.push(`${s}${u[o]}`)}),h.join(" ")},Fn=(n,i)=>{const g=[];return n.split(" ").forEach(h=>{g.push(i?h[0]:h)}),g.join(" ")},Wg=n=>typeof n!="string"?(console.error("The first param of pinyin is error: "+n+' is not assignable to type "string".'),!1):!0;function on(n,i){return i instanceof RegExp?i.test(n):!0}const Yg=(n,i)=>{let g=i.nonZh;if(g==="removed")return n.filter(u=>u.isZh||!on(u.origin,i.nonZhScope));if(g==="consecutive"){for(let u=n.length-2;u>=0;u--){const h=n[u],s=n[u+1];!h.isZh&&!s.isZh&&on(h.origin,i.nonZhScope)&&on(s.origin,i.nonZhScope)&&(h.origin+=s.origin,h.result+=s.result,s.delete=!0)}return n.filter(u=>!u.delete)}else return n},An=(n,i)=>S(n)===1&&i.multiple?Og(n,i.surname):!1,$g=(n,i)=>{switch(i.pattern){case"pinyin":break;case"num":n.forEach(g=>{g.result=g.isZh?J(g.result):""});break;case"initial":n.forEach(g=>{g.result=g.isZh?Q(g.result,i.initialPattern).initial:""});break;case"final":n.forEach(g=>{g.result=g.isZh?Q(g.result,i.initialPattern).final:""});break;case"first":n.forEach(g=>{g.result=Fn(g.result,g.isZh)});break;case"finalHead":n.forEach(g=>{g.result=g.isZh?X(g.result).head:""});break;case"finalBody":n.forEach(g=>{g.result=g.isZh?X(g.result).body:""});break;case"finalTail":n.forEach(g=>{g.result=g.isZh?X(g.result).tail:""});break}},Ug=(n,i)=>{switch(i.toneType){case"symbol":break;case"none":n.forEach(g=>{g.isZh&&(g.result=G(g.result))});break;case"num":{n.forEach(g=>{g.isZh&&(g.result=Hg(g.result,g.originPinyin))});break}}},Fg=(n,i)=>{i.v&&n.forEach(g=>{g.isZh&&(g.result=g.result.replace(/ü/g,typeof i.v=="string"?i.v:"v"))})},Xg=(n,i,g)=>{if(i.multiple&&S(g)===1){let u="";n=n.filter(h=>{const s=h.result!==u;return u=h.result,s})}return i.type==="array"?n.map(u=>u.result):i.type==="all"?n.map(u=>{const h=u.isZh?u.result:"",{initial:s,final:o}=Q(h,i.initialPattern),{head:t,body:c,tail:l}=X(h);let e=[];return h!==""&&(e=[h].concat(Un(u.origin,i.surname).filter(z=>z!==h))),{origin:u.origin,pinyin:h,initial:s,final:o,first:Fn(u.result,u.isZh),finalHead:t,finalBody:c,finalTail:l,num:Number(J(u.originPinyin)),isZh:u.isZh,polyphonic:e,inZhRange:!!M.get(u.origin),result:u.result}}):n.map(u=>u.result).join(i.separator)},Kg=(n,i)=>(i===!1&&n.forEach(g=>{g.origin==="一"?g.result=g.originPinyin="yī":g.origin==="不"&&(g.result=g.originPinyin="bù")}),n),Qg={pattern:"pinyin",toneType:"symbol",type:"string",multiple:!1,mode:"normal",removeNonZh:!1,nonZh:"spaced",v:!1,separator:" ",toneSandhi:!0,segmentit:2};function uh(n,i){if(i=Object.assign(Object.assign({},Qg),i||{}),!Wg(n))return n;if(n==="")return i.type==="array"||i.type==="all"?[]:"";i.surname===void 0&&(i.mode==="surname"?i.surname="all":i.surname="off"),i.type==="all"&&(i.pattern="pinyin"),i.pattern==="num"&&(i.toneType="none"),i.removeNonZh&&(i.nonZh="removed");let u=Array(S(n)),{list:h}=Lg(n,u,i.surname,i.segmentit);return h=Kg(h,i.toneSandhi),h=Yg(h,i),An(n,i)&&(h=An(n,i)),$g(h,i),Ug(h,i),Fg(h,i),Xg(h,i,n)}var cn;(function(n){n[n.AllSegment=1]="AllSegment",n[n.AllArray=2]="AllArray",n[n.AllString=3]="AllString",n[n.PinyinSegment=4]="PinyinSegment",n[n.PinyinArray=5]="PinyinArray",n[n.PinyinString=6]="PinyinString",n[n.ZhSegment=7]="ZhSegment",n[n.ZhArray=8]="ZhArray",n[n.ZhString=9]="ZhString"})(cn||(cn={}));cn.AllSegment;export{hg as V,hh as _,gh as a,uh as p}; diff --git a/assets/index-ujRm1vtV.css b/assets/index-ujRm1vtV.css new file mode 100644 index 0000000..87b25c9 --- /dev/null +++ b/assets/index-ujRm1vtV.css @@ -0,0 +1 @@ +@charset "UTF-8";.random-picker-card[data-v-fd7ac224]{overflow:hidden}.counter-container[data-v-fd7ac224]{margin:2rem 0}.counter-btn[data-v-fd7ac224]{width:64px;height:64px;border-radius:50%}.count-display[data-v-fd7ac224]{min-width:100px;text-align:center}.start-btn[data-v-fd7ac224]{min-width:200px;height:64px;border-radius:32px;font-size:1.2rem}.filter-options-card[data-v-fd7ac224]{max-width:450px;margin:0 auto}.filter-chip[data-v-fd7ac224]{cursor:pointer;transition:all .2s ease}.filter-chip[data-v-fd7ac224]:active{transform:scale(.95)}.student-list-tooltip[data-v-fd7ac224]{max-height:200px;overflow-y:auto;margin-top:5px;font-size:.9em}.animation-container[data-v-fd7ac224]{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.animation-wrapper[data-v-fd7ac224]{width:100%;max-width:400px;margin:0 auto}.shuffle-container[data-v-fd7ac224]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.student-item[data-v-fd7ac224]{padding:10px 15px;background-color:rgba(var(--v-theme-surface-variant),.7);border-radius:8px;transition:all .3s ease;font-size:1.2rem}.student-item.highlighted[data-v-fd7ac224]{background-color:rgb(var(--v-theme-primary));color:rgb(var(--v-theme-on-primary));transform:scale(1.1);font-weight:700;box-shadow:0 4px 8px #0003}.result-container[data-v-fd7ac224]{min-height:300px}.result-card[data-v-fd7ac224]{max-width:400px;margin:0 auto;transition:transform .3s ease}.result-card[data-v-fd7ac224]:hover{transform:translateY(-4px)}.result-card:hover .refresh-btn[data-v-fd7ac224]{opacity:1}.refresh-btn[data-v-fd7ac224]{opacity:.7;transition:opacity .3s ease}.refresh-btn[data-v-fd7ac224]:hover{opacity:1}@keyframes refresh-pulse-fd7ac224{0%{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}50%{transform:scale(1.05);box-shadow:0 0 15px rgba(var(--v-theme-primary),.7)}to{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}}.refresh-animation[data-v-fd7ac224]{animation:refresh-pulse-fd7ac224 .5s ease}.shuffle-enter-active[data-v-fd7ac224],.shuffle-leave-active[data-v-fd7ac224]{transition:all .5s ease}.shuffle-enter-from[data-v-fd7ac224],.shuffle-leave-to[data-v-fd7ac224]{opacity:0;transform:translateY(30px)}.shuffle-move[data-v-fd7ac224]{transition:transform .5s ease}@media (hover: none){.counter-btn[data-v-fd7ac224],.start-btn[data-v-fd7ac224]{min-height:72px}.student-item[data-v-fd7ac224]{padding:12px 20px;font-size:1.4rem}.refresh-btn[data-v-fd7ac224]{opacity:1;min-width:36px;min-height:36px}.filter-chip[data-v-fd7ac224]{min-height:40px;font-size:1rem}}.mode-switch-container .mode-toggle[data-v-fd7ac224]{border:1px solid rgba(var(--v-theme-primary),.2);border-radius:50px;padding:4px;box-shadow:0 2px 8px #0000001a}.mode-switch-container .mode-toggle .v-btn[data-v-fd7ac224]{min-width:120px;height:40px;font-weight:500;letter-spacing:.5px}.mode-switch-container .mode-toggle .v-btn.v-btn--active[data-v-fd7ac224]{transform:scale(1.02);font-weight:600}.number-range-container[data-v-fd7ac224]{max-width:300px;margin:0 auto;padding:16px;background:rgba(var(--v-theme-surface-variant),.1);border-radius:12px;border:1px solid rgba(var(--v-theme-primary),.1)}.number-range-container .number-input[data-v-fd7ac224]{width:100px}.number-range-container .number-input[data-v-fd7ac224] .v-field{border-radius:8px;box-shadow:0 2px 4px #0000000d}.floating-icp[data-v-890f3fb8]{position:fixed;bottom:24px;right:24px;z-index:100;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-icp[data-v-890f3fb8]:hover{transform:translate(-4px)}.icp-button[data-v-890f3fb8]{padding:0 16px;height:32px;min-width:unset}.rotate-icon[data-v-890f3fb8]{transform:rotate(360deg);transition:transform .6s ease}@media (max-width: 600px){.floating-icp[data-v-890f3fb8]{right:16px;bottom:80px}.icp-button[data-v-890f3fb8]{padding:0 12px}}.floating-toolbar[data-v-4c0541bf]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffffb3!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a!important;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:flex;align-items:center;justify-content:space-between;padding:0}.floating-toolbar[data-v-4c0541bf]:hover{transform:translate(-50%) translateY(-4px);background:#fffc!important}.toolbar-btn[data-v-4c0541bf]:hover{background:#ffffff4d!important;transform:scale(1.05)}.toolbar-btn[data-v-4c0541bf]:active{transform:scale(.95)}.date-picker-card[data-v-4c0541bf]{border-radius:16px;overflow:hidden;background:#ffffffe6!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 600px){.floating-toolbar[data-v-4c0541bf]{bottom:16px;width:95%;padding:2px}.toolbar-buttons[data-v-4c0541bf]{width:100%;justify-content:space-around;padding:4px}.toolbar-btn[data-v-4c0541bf]{margin:0}.nav-btn[data-v-4c0541bf]{margin:0 2px}}@media (prefers-color-scheme: dark){.floating-toolbar[data-v-4c0541bf]{background:#1e1e1eb3!important;border:1px solid rgba(255,255,255,.1)}.floating-toolbar[data-v-4c0541bf]:hover{background:#1e1e1ecc!important}.toolbar-btn[data-v-4c0541bf]:hover{background:#ffffff1a!important}.date-picker-card[data-v-4c0541bf]{background:#1e1e1ee6!important;border:1px solid rgba(255,255,255,.1)}}.template-buttons[data-v-632e8bbf]{display:flex;flex-direction:column;gap:12px}.book-chip[data-v-632e8bbf]{align-self:flex-start}.pages-container[data-v-632e8bbf]{display:flex;flex-wrap:wrap;gap:4px;padding-left:16px}.group-label[data-v-632e8bbf]{font-size:.875rem;color:#0009;margin-right:8px;white-space:nowrap}[data-v-632e8bbf] .v-chip{cursor:pointer;-webkit-user-select:none;user-select:none}.quick-tools[data-v-632e8bbf]{border-left:1px solid rgba(0,0,0,.12);padding-left:16px}.gap-1[data-v-632e8bbf]{gap:4px}.numeric-keypad[data-v-632e8bbf]{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(0,0,0,.12);border-radius:4px}.keypad-row[data-v-632e8bbf]{display:flex;gap:4px}.keypad-btn[data-v-632e8bbf]{flex:1;min-width:36px!important}.space-btn[data-v-632e8bbf]{width:100%!important}.grid-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px;grid-auto-flow:dense}.grid-item{width:100%;transition:all .2s ease}.empty-card{transform:scale(.9);opacity:.8;grid-row-end:span 1!important}.empty-card:hover{transform:scale(.95);opacity:1}.empty-subjects-container{display:flex;flex-wrap:wrap}@media (max-width: 1199px){.grid-masonry{grid-template-columns:repeat(2,1fr)}}@media (max-width: 799px){.grid-masonry{grid-template-columns:1fr}.empty-card{transform:scale(.95)}}.main-window{max-height:calc(100vh - 80px);overflow-y:auto}.main-window::-webkit-scrollbar{width:8px}.main-window::-webkit-scrollbar-track{background:transparent}.main-window::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.main-window::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.no-data-message{display:flex;justify-content:center;align-items:center;min-height:200px;margin:20px 0}.attendance-drawer{border-left:1px solid rgba(0,0,0,.12)}.attendance-drawer :deep(.v-navigation-drawer__content){overflow-y:auto}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar){width:8px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-track){background:transparent}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb){background-color:#0003;border-radius:4px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb:hover){background-color:#0000004d}@media (max-width: 960px){.attendance-drawer{display:none}}.text-success{color:rgb(var(--v-theme-success))}.text-error{color:rgb(var(--v-theme-error))}.text-warning{color:rgb(var(--v-theme-warning))}.attendance-card{display:flex;flex-direction:column}.attendance-numbers{padding:20px 0}.total-number{border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:20px}.status-number{flex:1}.text-h2,.text-h3{line-height:1.2}.empty-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:8px}.empty-subject-card{cursor:pointer;transition:all .2s ease;opacity:.8}.empty-subject-card:hover{transform:scale(1.02);opacity:1}.empty-subjects{border-top:1px solid rgba(0,0,0,.12);padding-top:1rem}.empty-subject-card:not(:disabled):hover{opacity:1;transform:scale(1.02)}.glow-track{position:relative;overflow:hidden;transition:all .3s ease}.glow-track:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}.glow-track:hover:before{opacity:1}.grid-item .v-card{transition:transform .3s ease,box-shadow .3s ease}.grid-item .v-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.grid-item .v-card:active{transform:translateY(-2px)}.empty-subject-card{transition:all .3s ease;opacity:.8}.empty-subject-card:hover{opacity:1;transform:translateY(-4px)}.anti-burn-card{animation:subtle-glow 4s infinite alternate;transition:all .3s ease}.anti-burn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026!important}@keyframes subtle-glow{0%{box-shadow:0 0 5px #2196f31a}to{box-shadow:0 0 15px #2196f34d}}.attendance-stat{height:100%}.suggestion-btn{margin:2px;min-width:0;padding:0 6px}.suggestion-btn:active{transform:scale(.95)}@media (hover: none){.student-card .attendance-actions{opacity:1}}@media (max-width: 600px){.student-card .attendance-actions .v-btn{margin:0 1px;min-width:28px;width:28px;height:28px}}.filter-chip{cursor:pointer;margin:2px}.filter-chip:active{transform:scale(.95)}.grid-item{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .2s cubic-bezier(.2,0,0,1);will-change:transform,opacity;backface-visibility:hidden}.grid-item.v-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .25s cubic-bezier(.2,0,0,1)}.grid-item.v-move{transition:transform .4s cubic-bezier(.05,.7,.1,1);z-index:1}.grid-item.v-leave-active{position:absolute!important;transition:transform .3s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.grid-item.v-enter-from,.grid-item.v-leave-to{opacity:0;transform:scale(.95)}.empty-subject-card{transition:all .25s cubic-bezier(.2,0,0,1)}.empty-subject-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 4px 24px #0000001f}.v-list-enter-active{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-list-leave-active{transition:all .3s cubic-bezier(.3,0,.8,.15)}.v-list-enter-from,.v-list-leave-to{opacity:0;transform:translate(-24px)}.attendance-area h2,.attendance-area h3{transition:all .3s cubic-bezier(.2,0,0,1)}.v-card{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-card:active{transform:scale(.98);transition-duration:.1s}.v-card{touch-action:manipulation}.v-card:active{transform:scale(.99);transition-duration:80ms}@media (pointer: coarse){.v-card:before{margin:-8px}}.v-dialog:before{display:none!important}.v-dialog:before,.v-dialog:after{display:none!important}.v-dialog .v-card{transition:none}.v-dialog .v-card:active{transform:none}.v-dialog-transition-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .3s cubic-bezier(.2,0,0,1)}.v-dialog-transition-leave-active{transition:transform .25s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.v-btn{transition:background-color .25s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.05,.7,.1,1);touch-action:manipulation;min-height:40px;min-width:40px}.v-btn:active{transform:scale(.98);transition-duration:80ms}@media (pointer: coarse){.v-btn{padding:8px 16px;margin:4px}.v-btn:before{margin:-8px}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.grid-enter-active,.grid-leave-active{transition:all .5s ease}.grid-enter-from{opacity:0;transform:translateY(20px)}.grid-leave-to{opacity:0;transform:translateY(-20px)}.v-list-enter-active,.v-list-leave-active{transition:all .3s ease}.v-list-enter-from{opacity:0;transform:translate(-20px)}.v-list-leave-to{opacity:0;transform:translate(20px)}.page-enter-active,.page-leave-active{transition:opacity .3s,transform .3s}.page-enter-from{opacity:0;transform:translateY(20px)}.page-leave-to{opacity:0;transform:translateY(-20px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.scale-enter-active,.scale-leave-active{transition:all .3s}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}.hover-card{transition:transform .2s ease,box-shadow .3s ease;will-change:transform,box-shadow}.hover-card:hover,.hover-card:focus{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.hover-card:active{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a!important}.touch-button{min-height:48px;min-width:48px;border-radius:12px;padding:12px 24px}.touch-button.v-btn--icon{min-height:56px;min-width:56px}.ripple-enhanced{position:relative;overflow:hidden}.ripple-enhanced:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .5s;pointer-events:none}.ripple-enhanced:active:after{opacity:1;transition:opacity .2s}html{scroll-behavior:smooth}.touch-list-item{min-height:56px;padding:12px 16px}.large-touch-target{min-height:56px;min-width:56px}.fullscreen-mode .v-app-bar{background-color:rgba(var(--v-theme-surface-variant),.85)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fullscreen-mode .main-window{padding-top:16px;padding-bottom:16px} diff --git a/assets/settings-BDKTM0jc.js b/assets/settings-BDKTM0jc.js new file mode 100644 index 0000000..253a65c --- /dev/null +++ b/assets/settings-BDKTM0jc.js @@ -0,0 +1,9 @@ +import{p as tt,_ as ut,a as dt,V as nn}from"./index-thJlQnLx.js";import{_ as z,j as w,o as h,w as s,d as t,B as C,b6 as we,q as K,t as r,C as x,v as f,z as P,b7 as je,b8 as ct,W as $,l as E,i as y,b9 as sn,S as mt,a3 as ht,an as Re,aL as on,y as p,U,O as H,P as D,X as R,Y as X,H as re,x as Q,A as N,F as ee,G as le,ba as pt,k,s as qe,bb as an,E as ze,Q as Oe,bc as Ue,a0 as wt,$ as Je,N as ge,M as ie,bd as rn,aP as fe,aN as De,a9 as ln,D as un,g as ft,p as gt,c as dn,n as cn,e as Qe,as as mn,h as hn,aj as pn,be as wn,bf as fn,aO as gn,aH as Ke,bg as Ne,aI as vn,J as nt,bh as bn,r as yn,a1 as kn}from"./index-B01HL2YE.js";import{V as he}from"./VChip-DGb8BoIB.js";import{a as Se,V as ue}from"./VRow-CmZZJImz.js";import{b as Sn,c as xn,V as Cn,a as _n}from"./VAppBarTitle-CQLnBe80.js";import{V as vt}from"./VSwitch-uLPjXKnU.js";import{b as bt,V as yt}from"./VDataTable-B-hmgcj0.js";import{V as L,f as Vn,g as Dn}from"./VTextField-DDMIr0_j.js";import{V as kt}from"./VMenu-3aVeBIH6.js";import{V as oe,a as We}from"./VAlert-C_dUaWCb.js";import{V as St}from"./VContainer-yTxlmOws.js";import{V as xt,a as Ct,b as _t,c as Vt}from"./VExpansionPanels-B9rY3beZ.js";import{V as Pe}from"./VTextarea-BaoCeePe.js";import{e as st,b as Tn,a as Z}from"./VTabsWindowItem-BbeSXQBC.js";import"./VCheckboxBtn-DzDw8U-d.js";const In={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function En(n,e,a,u,i,o){return h(),w(E,{elevation:"2",class:"settings-card rounded-lg"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(f,{icon:a.icon,size:"large",class:"mr-2"},null,8,["icon"])]),default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[r(x(a.title),1)]),_:1})]),_:1}),t(P,null,{default:s(()=>[a.loading?(h(),w(ct,{key:0,indeterminate:"",color:"primary",class:"mb-4"})):C("",!0),je(n.$slots,"default",{},void 0,!0)]),_:3}),n.$slots.actions?(h(),w($,{key:0,class:"pa-4"},{default:s(()=>[je(n.$slots,"actions",{},void 0,!0)]),_:3})):C("",!0)]),_:3})}const B=z(In,[["render",En],["__scopeId","data-v-3e8918ff"]]);var Nn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Un(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Dt={exports:{}};(function(n,e){(function(a,u){n.exports=u()})(typeof self<"u"?self:Nn,()=>(()=>{var a={3146:(l,c,d)=>{for(var g=d(3491),S=typeof window>"u"?d.g:window,I=["moz","webkit"],J="AnimationFrame",M=S["request"+J],G=S["cancel"+J]||S["cancelRequest"+J],de=0;!M&&de{var c=l&&l.__esModule?()=>l.default:()=>l;return i.d(c,{a:c}),c},i.d=(l,c)=>{for(var d in c)i.o(c,d)&&!i.o(l,d)&&Object.defineProperty(l,d,{enumerable:!0,get:c[d]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(l,c)=>Object.prototype.hasOwnProperty.call(l,c);var o={};return(()=>{i.d(o,{default:()=>Wt});var l=i(3146),c=i.n(l);const d=function(V){return new RegExp(/<[a-z][\s\S]*>/i).test(V)},g=function(V,v){return Math.floor(Math.random()*(v-V+1))+V};var S="TYPE_CHARACTER",I="REMOVE_CHARACTER",J="REMOVE_ALL",M="REMOVE_LAST_VISIBLE_NODE",G="PAUSE_FOR",de="CALL_FUNCTION",be="ADD_HTML_TAG_ELEMENT",pe="CHANGE_DELETE_SPEED",te="CHANGE_DELAY",ke="CHANGE_CURSOR",Y="PASTE_STRING",ne="HTML_TAG";function ce(V){return ce=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(v){return typeof v}:function(v){return v&&typeof Symbol=="function"&&v.constructor===Symbol&&v!==Symbol.prototype?"symbol":typeof v},ce(V)}function ye(V,v){var T=Object.keys(V);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(V);v&&(_=_.filter(function(me){return Object.getOwnPropertyDescriptor(V,me).enumerable})),T.push.apply(T,_)}return T}function ae(V){for(var v=1;vV.length)&&(v=V.length);for(var T=0,_=Array(v);T1&&arguments[1]!==void 0?arguments[1]:null;if(d(b))return m.typeOutHTMLString(b,j);if(b){var W=(m.options||{}).stringSplitter,q=typeof W=="function"?W(b):b.split("");m.typeCharacters(q,j)}return m}),A(this,"pasteString",function(b){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return d(b)?m.typeOutHTMLString(b,j,!0):(b&&m.addEventToQueue(Y,{character:b,node:j}),m)}),A(this,"typeOutHTMLString",function(b){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,W=arguments.length>2?arguments[2]:void 0,q=function(Ce){var _e=document.createElement("div");return _e.innerHTML=Ce,_e.childNodes}(b);if(q.length>0)for(var F=0;F0&&arguments[0]!==void 0?arguments[0]:"natural";return m.addEventToQueue(J,{speed:b}),m}),A(this,"changeDeleteSpeed",function(b){if(!b)throw new Error("Must provide new delete speed");return m.addEventToQueue(pe,{speed:b}),m}),A(this,"changeDelay",function(b){if(!b)throw new Error("Must provide new delay");return m.addEventToQueue(te,{delay:b}),m}),A(this,"changeCursor",function(b){if(!b)throw new Error("Must provide new cursor");return m.addEventToQueue(ke,{cursor:b}),m}),A(this,"deleteChars",function(b){if(!b)throw new Error("Must provide amount of characters to delete");for(var j=0;j1&&arguments[1]!==void 0?arguments[1]:null;if(!b||!Array.isArray(b))throw new Error("Characters must be an array");return b.forEach(function(W){m.addEventToQueue(S,{character:W,node:j})}),m}),A(this,"removeCharacters",function(b){if(!b||!Array.isArray(b))throw new Error("Characters must be an array");return b.forEach(function(){m.addEventToQueue(I)}),m}),A(this,"addEventToQueue",function(b,j){var W=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return m.addEventToStateProperty(b,j,W,"eventQueue")}),A(this,"addReverseCalledEvent",function(b,j){var W=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return m.options.loop?m.addEventToStateProperty(b,j,W,"reverseCalledEvents"):m}),A(this,"addEventToStateProperty",function(b,j){var W=arguments.length>2&&arguments[2]!==void 0&&arguments[2],q=arguments.length>3?arguments[3]:void 0,F={eventName:b,eventArgs:j||{}};return m.state[q]=W?[F].concat(O(m.state[q])):[].concat(O(m.state[q]),[F]),m}),A(this,"runEventLoop",function(){m.state.lastFrameTime||(m.state.lastFrameTime=Date.now());var b=Date.now(),j=b-m.state.lastFrameTime;if(!m.state.eventQueue.length){if(!m.options.loop)return;m.state.eventQueue=O(m.state.calledEvents),m.state.calledEvents=[],m.options=ae({},m.state.initialOptions)}if(m.state.eventLoop=c()(m.runEventLoop),!m.state.eventLoopPaused){if(m.state.pauseUntil){if(b({typewriter:null,sourceWriter:null,currentQuote:at,hasClicked:!1}),mounted(){this.initTypewriters()},methods:{initTypewriters(){this.typewriter=new it(this.$refs.typewriter,rt.main),this.sourceWriter=new it(this.$refs.sourceWriter,rt.source),this.typeQuote(at)},typeQuote(n){this.typewriter.deleteAll(30).typeString(n.text).start(),n.author&&this.sourceWriter.deleteAll(20).typeString(n.author).start()},async handleClick(){this.hasClicked||(this.hasClicked=!0),await this.copyToClipboard(),this.currentQuote=this.getRandomQuote(),this.typeQuote(this.currentQuote)},getRandomQuote(){return ot.quotes[Math.floor(Math.random()*ot.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:n,author:e,contributor:a,link:u}=this.currentQuote,i=[n,e&&`作者:${e}`,a&&`贡献者:${a}`,(u||a)&&`来源:${u||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` +`))}catch(o){console.error("复制失败:",o)}}},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(n=>n==null?void 0:n.stop())}},On={ref:"typewriter",class:"typewriter-text"},An={ref:"sourceWriter",class:"source-text"};function Fn(n,e,a,u,i,o){const l=B;return h(),w(l,{border:"",title:"回声洞",icon:"mdi-thought-bubble",onClick:o.handleClick},{default:s(()=>[t(P,null,{default:s(()=>[y("div",On,null,512),y("div",An,null,512)]),_:1}),t(sn,{name:"fade"},{default:s(()=>{var c;return[(c=n.currentQuote)!=null&&c.contributor?(h(),w(he,{key:0,class:"contributor"},{default:s(()=>[t(mt,{start:""},{default:s(()=>[t(ht,{src:`https://github.com/${n.currentQuote.contributor}.png`},null,8,["src"])]),_:1}),r(" "+x(n.currentQuote.contributor),1)]),_:1})):C("",!0)]}),_:1})]),_:1},8,["onClick"])}const Tt=z(Ln,[["render",Fn],["__scopeId","data-v-5c15976c"]]),Bn="Classworks",Mn="module",Kn="0.0.0",Hn={dev:"vite --host",build:"vite build",preview:"vite preview",lint:"eslint . --fix"},Rn={"@mdi/font":"7.4.47","@microsoft/clarity":"^1.0.0",axios:"^1.11.0",idb:"^8.0.3","js-base64":"^3.7.8","js-yaml":"^4.1.0","pinyin-pro":"^3.27.0","ratelimit-header-parser":"^0.1.0","roboto-fontface":"*","typewriter-effect":"^2.21.0",uuid:"^9.0.1",vue:"^3.5.20",vuetify:"^3.9.6"},zn={"@eslint/js":"^9.14.0","@vite-pwa/assets-generator":"^1.0.0","@vitejs/plugin-vue":"^5.2.3",eslint:"^9.14.0","eslint-plugin-import":"^2.29.1","eslint-plugin-n":"^16.6.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^6.4.0","eslint-plugin-vue":"^9.30.0",pinia:"^3.0.3",sass:"1.86.3","sass-embedded":"^1.86.3","unplugin-auto-import":"^19.1.2","unplugin-fonts":"^1.3.1","unplugin-vue-components":"^28.4.1","unplugin-vue-router":"^0.12.0",vite:"^5.4.17","vite-plugin-pwa":"^1.0.3","vite-plugin-vue-layouts":"^0.11.0","vite-plugin-vuetify":"^2.1.2","vue-router":"^4.5.1"},lt={name:Bn,private:!0,type:Mn,version:Kn,scripts:Hn,dependencies:Rn,devDependencies:zn},Jn={name:"AboutCard",setup(){const n=Re([]),e=Re(!1),a=()=>{try{const i={...lt.dependencies||{},...lt.devDependencies||{}},o=Object.entries(i).map(([l,c])=>({name:l,version:c.replace(/[\^~]/g,""),description:u(l)}));n.value=o}catch(i){console.error("加载依赖信息失败:",i),n.value=[]}},u=i=>({vue:"渐进式 JavaScript 框架",vuetify:"材料设计组件框架",axios:"Promise 基础的 HTTP 客户端",pinia:"Vue 状态管理库","vue-router":"Vue.js 官方路由管理器","@vitejs/plugin-vue":"Vite 的 Vue 插件"})[i]||"";return on(()=>{a()}),{Dependencies:n,showDeps:e}}},Qn={class:"d-flex flex-column align-start"},Wn={class:"d-flex gap-2 flex-wrap mb-6"},qn={class:"text-caption text-medium-emphasis"};function Gn(n,e,a,u,i,o){return h(),w(E,{border:""},{default:s(()=>[t(we,null,{prepend:s(()=>[t(f,{icon:"mdi-information",size:"large",class:"mr-2"})]),default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[...e[3]||(e[3]=[r("关于",-1)])]),_:1})]),_:1}),t(P,null,{default:s(()=>[t(Se,null,{default:s(()=>[t(ue,{cols:"12",md:"8",class:"mx-auto"},{default:s(()=>[y("div",Qn,[t(mt,{size:"120",class:"mb-4"},{default:s(()=>[t(ht,{src:"https://github.com/SunWuyuan.png",alt:"Sunwuyuan"})]),_:1}),e[20]||(e[20]=y("h2",{class:"text-h5 mb-2"},"Classworks",-1)),e[21]||(e[21]=y("p",{class:"text-body-1 mb-4"},"适用于班级大屏的作业板小工具",-1)),y("div",Wn,[t(p,{color:"red",variant:"tonal",href:"https://github.com/ClassworksDev/Classworks/issues",target:"_blank","prepend-icon":"mdi-bug"},{default:s(()=>[...e[4]||(e[4]=[r(" 报告问题 ",-1)])]),_:1}),t(p,{color:"primary",variant:"tonal",href:"https://qm.qq.com/q/qNBX4ZZVeg",target:"_blank","prepend-icon":"mdi-qqchat"},{default:s(()=>[...e[5]||(e[5]=[r(" QQ 群 ",-1)])]),_:1}),t(p,{variant:"text",href:"https://github.com/ClassworksDev/Classworks",target:"_blank","prepend-icon":"mdi-github"},{default:s(()=>[...e[6]||(e[6]=[r(" 前端 ",-1)])]),_:1}),t(p,{variant:"text",href:"https://github.com/ClassworksDev/ClassworksServer",target:"_blank","prepend-icon":"mdi-github"},{default:s(()=>[...e[7]||(e[7]=[r(" 后端 ",-1)])]),_:1})]),t(U,{class:"mb-4 w-100"}),e[22]||(e[22]=y("h3",{class:"text-h6 mb-2"},"备注与致谢",-1)),t(H,{class:"mb-4 bg-transparent"},{default:s(()=>[t(D,{href:"https://github.com/EnderWolf006/HomeworkBoard",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(R,null,{default:s(()=>[...e[8]||(e[8]=[r(" 本项目受到 HomeworkBoard 的启发而开发 ",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[9]||(e[9]=[r(" 感谢 EnderWolf006 (@EnderWolf) fhzit(@Hellofhz) KeyFac 等人的贡献 ",-1)])]),_:1})]),_:1}),t(D,{href:"https://hlyun.org",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(R,null,{default:s(()=>[...e[10]||(e[10]=[r(" Classworks 由",-1),y("strong",null,"厚浪云",-1),r("提供 ",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[11]||(e[11]=[r(" 长江后浪推前浪 浮事新人换旧人 ",-1)])]),_:1})]),_:1}),t(D,{href:"https://zerocat.houlangs.com",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(R,null,{default:s(()=>[...e[12]||(e[12]=[r(" 感谢 ZeroCat 社区的开发者们 ",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[13]||(e[13]=[r(" 新一代,开源,编程社区 ",-1)])]),_:1})]),_:1}),t(U,{class:"ma-1"}),t(D,{href:"https://github.com/HUSX100/IslandCaller",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(R,null,{default:s(()=>[...e[14]||(e[14]=[r(" 本项目与 IslandCaller 没有从属关系 ",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[15]||(e[15]=[r(" IslandCaller 是由 HUSX100 开发的基于 ClassIsland 提醒服务的轻量级点名器 ",-1)])]),_:1})]),_:1}),t(D,{href:"https://classisland.tech",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(R,null,{default:s(()=>[...e[16]||(e[16]=[r(" 本项目与 ClassIsland 没有从属关系 ",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[17]||(e[17]=[r(" ClassIsland 是由 HelloWRC 开发的适用于班级大屏的课表信息显示工具 ",-1)])]),_:1})]),_:1})]),_:1}),t(p,{variant:"text",class:"mb-4","prepend-icon":"mdi-package-variant",onClick:e[0]||(e[0]=l=>u.showDeps=!0)},{default:s(()=>[...e[18]||(e[18]=[r(" 查看使用的第三方库 ",-1)])]),_:1}),t(re,{modelValue:u.showDeps,"onUpdate:modelValue":e[2]||(e[2]=l=>u.showDeps=l),transition:"dialog-bottom-transition",fullscreen:""},{default:s(()=>[t(E,null,{default:s(()=>[t(Sn,null,{default:s(()=>[t(p,{icon:"mdi-close",onClick:e[1]||(e[1]=l=>u.showDeps=!1)}),t(xn,null,{default:s(()=>[...e[19]||(e[19]=[r("使用的第三方库",-1)])]),_:1}),t(Q)]),_:1}),t(P,null,{default:s(()=>[t(H,null,{default:s(()=>[(h(!0),N(ee,null,le(u.Dependencies,l=>(h(),w(D,{key:l.name,href:"https://www.npmjs.com/package/"+l.name,target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(R,null,{default:s(()=>[r(x(l.name),1)]),_:2},1024),t(X,null,{default:s(()=>[r(" v"+x(l.version),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),y("p",qn," Copyright © "+x(new Date().getFullYear())+" Sunwuyuan ",1)])]),_:1})]),_:1})]),_:1})]),_:1})}const It=z(Jn,[["render",Gn]]),Yn={name:"SettingItem",props:{settingKey:{type:String,required:!0},icon:{type:String,default:null},disabled:{type:Boolean,default:!1},title:{type:String,default:null},description:{type:String,default:null}},data(){return{localValue:null,definition:null,type:null,selectOptions:[],hasOptions:!1,minValue:0,maxValue:100,stepValue:1,showSnackbar:!1,snackbarText:"",fontFamilies:[{title:"Arial",value:"Arial, sans-serif"},{title:"Calibri",value:"Calibri, sans-serif"},{title:"Cambria",value:"Cambria, serif"},{title:"Consolas",value:"Consolas, monospace"},{title:"Courier New",value:"Courier New, monospace"},{title:"Georgia",value:"Georgia, serif"},{title:"Helvetica",value:"Helvetica, sans-serif"},{title:"Segoe UI",value:"Segoe UI, sans-serif"},{title:"Times New Roman",value:"Times New Roman, serif"},{title:"Trebuchet MS",value:"Trebuchet MS, sans-serif"},{title:"Verdana",value:"Verdana, sans-serif"},{title:"Monospace",value:"monospace"},{title:"Sans-serif",value:"sans-serif"},{title:"Serif",value:"serif"}],displayValueMappings:{"display.emptySubjectDisplay":{card:"卡片",button:"按钮"},"theme.mode":{light:"浅色",dark:"深色"},"server.provider":{classworkscloud:"Classworks云端存储","kv-local":"KV本地存储","kv-server":"KV远程服务器"}},defaultIcons:{boolean:"mdi-toggle-switch-outline",number:"mdi-numeric",string:"mdi-form-textbox"}}},computed:{displayTitle(){if(this.title)return this.title;if(this.definition&&this.definition.description)return this.definition.description;const n=this.settingKey.split(".");return n[n.length-1]},displayDescription(){return this.description?this.description:this.settingKey},isFontFamily(){return this.settingKey.toLowerCase().includes("fontfamily")||this.settingKey.toLowerCase().includes("font.family")},isDefaultValue(){return this.definition?typeof this.localValue=="object"&&this.localValue!==null?JSON.stringify(this.localValue)===JSON.stringify(this.definition.default):this.localValue===this.definition.default:!0},settingIcon(){return this.icon?this.icon:this.definition&&this.definition.icon?this.definition.icon:this.defaultIcons[this.type]||"mdi-cog-outline"}},created(){this.loadSetting()},methods:{loadSetting(){if(this.definition=an(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=k(this.settingKey),this.type==="string"){if(this.isFontFamily)this.selectOptions=this.fontFamilies,this.hasOptions=!0;else if(this.settingKey in this.displayValueMappings){const n=this.displayValueMappings[this.settingKey];this.selectOptions=Object.entries(n).map(([e,a])=>({title:a,value:e})),this.hasOptions=!0}else if(this.definition.validate){const e=this.definition.validate.toString().match(/\[(.*?)\]/);if(e){const u=e[1].split(",").map(i=>{const o=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(o)||o,value:o}});u.length>0&&(this.selectOptions=u,this.hasOptions=!0)}}}if(this.type==="number"&&this.definition.validate){const n=this.definition.validate.toString(),e=n.match(/value\s*>=\s*(\d+)/);e&&(this.minValue=Number(e[1]));const a=n.match(/value\s*<=\s*(\d+)/);a&&(this.maxValue=Number(a[1]));const u=this.maxValue-this.minValue;u>100?this.stepValue=10:u>20?this.stepValue=5:u>10?this.stepValue=2:this.stepValue=1}},getDisplayValue(n){return this.settingKey in this.displayValueMappings&&this.displayValueMappings[this.settingKey][n]||n},updateSetting(n){let e=n;this.type==="boolean"?e=!!n:this.type==="number"&&(e=Number(n),ethis.maxValue&&(e=this.maxValue)),qe(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=k(this.settingKey),this.$emit("error",this.settingKey))},adjustValue(n){if(this.type!=="number")return;const e=this.localValue+n;e>=this.minValue&&e<=this.maxValue&&(this.localValue=e,this.updateSetting(e))},copySettingId(){navigator.clipboard.writeText(this.settingKey).then(()=>{this.showSnackbarMessage("设置ID已复制到剪贴板")}).catch(n=>{console.error("复制失败:",n)})},copySettingValue(){let n="";typeof this.localValue=="object"&&this.localValue!==null?n=JSON.stringify(this.localValue):n=String(this.localValue),navigator.clipboard.writeText(n).then(()=>{this.showSnackbarMessage("设置值已复制到剪贴板")}).catch(e=>{console.error("复制失败:",e)})},resetToDefault(){this.definition&&(pt(this.settingKey),this.localValue=k(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(n){this.snackbarText=n,this.showSnackbar=!0}}},Xn={class:"text-caption text-grey-darken-1"},Zn={class:"d-flex flex-column flex-sm-row align-center"},$n={key:0,class:"me-2"},es={key:2,class:"d-flex align-center"},ts={key:0,class:"px-4 pb-2 pt-0"};function ns(n,e,a,u,i,o){return h(),N(ee,null,[t(D,{class:"setting-item",disabled:a.disabled},{prepend:s(()=>[t(f,{icon:o.settingIcon},null,8,["icon"])]),append:s(()=>[y("div",Zn,[i.type!=="string"||i.hasOptions?(h(),N("div",$n,[i.type==="boolean"?(h(),w(vt,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=l=>i.localValue=l),o.updateSetting],density:"comfortable","hide-details":"",disabled:a.disabled},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(h(),w(bt,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=l=>i.localValue=l),o.updateSetting],items:i.selectOptions,density:"compact","hide-details":"",disabled:a.disabled,class:"setting-select",variant:"outlined","bg-color":"surface","item-title":"title","item-value":"value"},null,8,["modelValue","items","disabled","onUpdate:modelValue"])):i.type==="number"?(h(),N("div",es,[t(p,{icon:"mdi-minus",size:"small",variant:"text",disabled:a.disabled||i.localValue<=i.minValue,onClick:e[2]||(e[2]=l=>o.adjustValue(-i.stepValue))},null,8,["disabled"]),t(L,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=l=>i.localValue=l),o.updateSetting],modelModifiers:{number:!0},type:"number",density:"compact","hide-details":"",min:i.minValue,max:i.maxValue,step:i.stepValue,disabled:a.disabled,class:"mx-2 setting-number-field",style:{width:"80px"},variant:"outlined","bg-color":"surface"},null,8,["modelValue","min","max","step","disabled","onUpdate:modelValue"]),t(p,{icon:"mdi-plus",size:"small",variant:"text",disabled:a.disabled||i.localValue>=i.maxValue,onClick:e[4]||(e[4]=l=>o.adjustValue(i.stepValue))},null,8,["disabled"])])):C("",!0)])):C("",!0),t(kt,{location:"bottom"},{activator:s(({props:l})=>[t(p,ze({icon:"mdi-dots-vertical",size:"small",variant:"text"},l,{class:"ml-2",disabled:a.disabled}),null,16,["disabled"])]),default:s(()=>[t(H,{density:"compact"},{default:s(()=>[t(D,{onClick:o.copySettingId},{prepend:s(()=>[t(f,{icon:"mdi-key",size:"small"})]),default:s(()=>[t(R,null,{default:s(()=>[...e[7]||(e[7]=[r("复制设置ID",-1)])]),_:1})]),_:1},8,["onClick"]),t(D,{onClick:o.copySettingValue},{prepend:s(()=>[t(f,{icon:"mdi-content-copy",size:"small"})]),default:s(()=>[t(R,null,{default:s(()=>[...e[8]||(e[8]=[r("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(U),t(D,{onClick:o.resetToDefault,disabled:o.isDefaultValue},{prepend:s(()=>[t(f,{icon:"mdi-restore",size:"small"})]),default:s(()=>[t(R,null,{default:s(()=>[...e[9]||(e[9]=[r("重置为默认值",-1)])]),_:1})]),_:1},8,["onClick","disabled"])]),_:1})]),_:1})])]),default:s(()=>[t(R,{class:"text-wrap"},{default:s(()=>[r(x(o.displayTitle),1)]),_:1}),t(X,{class:"d-flex align-center text-wrap"},{default:s(()=>[y("span",Xn,x(a.settingKey),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(h(),N("div",ts,[t(L,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=l=>i.localValue=l),o.updateSetting],density:"compact","hide-details":"",disabled:a.disabled,class:"setting-text-field mt-1",variant:"outlined","bg-color":"surface"},null,8,["modelValue","disabled","onUpdate:modelValue"])])):C("",!0),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=l=>i.showSnackbar=l),timeout:2e3,color:"success",location:"top"},{default:s(()=>[r(x(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const ve=z(Yn,[["render",ns],["__scopeId","data-v-c47b37f3"]]),ss={name:"SettingsExplorer",components:{SettingItem:ve},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return k("developer.enabled")},allSettings(){var e;const n=[];for(const[a,u]of Object.entries(Je))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=u.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||n.push({key:a,...u});return n},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=wt(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Ue()},onSettingUpdate(n,e){this.$emit("update",n,e),this.updateCurrentSettings()},onSettingError(n){this.$emit("error",n)},copySettingsToClipboard(){navigator.clipboard.writeText(JSON.stringify(this.currentSettings)).then(()=>{this.$emit("message",{type:"success",text:"设置已复制到剪贴板"})}).catch(n=>{console.error("复制到剪贴板失败:",n),this.$emit("message",{type:"error",text:"复制到剪贴板失败"})})}}},is={class:"settings-explorer"},os={class:"settings-json"};function as(n,e,a,u,i,o){const l=ve;return h(),N("div",is,[y("div",null,[t(L,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=c=>i.searchQuery=c),label:"搜索设置","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"comfortable",class:"mb-4"},null,8,["modelValue"]),t(H,null,{default:s(()=>[(h(!0),N(ee,null,le(o.allSettings,c=>(h(),N("div",{key:c.key},[(h(),w(l,{key:c.key,"setting-key":c.key,disabled:c.requireDeveloper&&!o.isDeveloperMode,onUpdate:o.onSettingUpdate,onError:o.onSettingError},null,8,["setting-key","disabled","onUpdate","onError"])),t(U,{class:"my-2"})]))),128))]),_:1}),t(E,{border:""},{default:s(()=>[t(K,{class:"text-subtitle-1"},{default:s(()=>[...e[1]||(e[1]=[r("当前配置",-1)])]),_:1}),t(P,null,{default:s(()=>[y("pre",os,x(o.formattedSettings),1)]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{onClick:o.copySettingsToClipboard},{default:s(()=>[e[3]||(e[3]=r(" 复制到剪贴板 ",-1)),t(f,{right:""},{default:s(()=>[...e[2]||(e[2]=[r("mdi-content-copy",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1})])])}const Et=z(ss,[["render",as],["__scopeId","data-v-da09fd0e"]]),rs={name:"SettingGroup",props:{title:{type:String,default:null},description:{type:String,default:null},icon:{type:String,default:null},border:{type:Boolean,default:!1}},methods:{onSettingUpdate(n,e){this.$emit("update",n,e)},onSettingError(n){this.$emit("error",n)}}};function ls(n,e,a,u,i,o){return h(),w(E,{border:a.border,class:"setting-group"},{default:s(()=>[a.title?(h(),w(K,{key:0,class:"d-flex align-center"},{default:s(()=>[a.icon?(h(),w(f,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):C("",!0),r(" "+x(a.title),1)]),_:1})):C("",!0),a.description?(h(),w(ge,{key:1},{default:s(()=>[r(x(a.description),1)]),_:1})):C("",!0),t(P,null,{default:s(()=>[t(H,null,{default:s(()=>[je(n.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),n.$slots.actions?(h(),w($,{key:2},{default:s(()=>[je(n.$slots,"actions",{},void 0,!0)]),_:3})):C("",!0)]),_:3},8,["border"])}const Nt=z(rs,[["render",ls],["__scopeId","data-v-ca48ce62"]]),us={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},ds={name:"HomeworkTemplateCard",components:{SettingsCard:B,SettingGroup:Nt},data(){return{loading:!1,error:null,config:rn(JSON.parse(JSON.stringify(us))),originalConfig:null,newSubject:"",newCommonBook:"",newAction:"",newTask:"",editedSubjects:{},editedBookTypes:{},newBookTypes:{},newBooks:{},showSnackbar:!1,snackbarText:"",snackbarColor:"success",isNewConfig:!0,dialog:{show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",bookType:"",originalName:"",tasks:[]}}}},computed:{subjectList(){return Object.keys(this.config.subjects)},hasChanges(){return this.isNewConfig?!0:this.originalConfig&&JSON.stringify(this.config)!==JSON.stringify(this.originalConfig)}},created(){this.loadConfig()},methods:{async loadConfig(){var n,e;this.loading=!0;try{const a=await ie.loadData("classworks-config-homework-template");if(a){const u=a;Object.assign(this.config,u),this.originalConfig=JSON.parse(JSON.stringify(u)),this.isNewConfig=!1,this.showMessage("配置已加载","success")}else if(((n=a.error)==null?void 0:n.code)==="NOT_FOUND")this.showMessage("使用默认配置","info"),this.isNewConfig=!0;else{const u=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${u},可继续编辑当前配置`,"warning")}}catch(a){console.error("Failed to load config:",a),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const n=await ie.saveData("classworks-config-homework-template",this.config);if(n)this.originalConfig=JSON.parse(JSON.stringify(this.config)),this.isNewConfig=!1,this.showMessage("配置已保存","success");else throw new Error(n||"保存失败")}catch(n){console.error("Failed to save config:",n),this.showMessage(`保存失败: ${n.message},请稍后重试`,"error")}this.loading=!1},showMessage(n,e="success"){this.snackbarText=n,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){this.newSubject&&(this.config.subjects[this.newSubject]||(this.config.subjects[this.newSubject]={books:{}}),this.newSubject="")},updateSubject(n){const e=this.editedSubjects[n];if(e&&e!==n){const a=this.config.subjects[n];this.config.subjects[e]=a,delete this.config.subjects[n]}delete this.editedSubjects[n]},deleteSubject(n){delete this.config.subjects[n]},addBookType(n){const e=this.newBookTypes[n];e&&(this.config.subjects[n].books[e]||(this.config.subjects[n].books[e]=[]),this.newBookTypes[n]="")},updateBookType(n,e){const a=`${n}-${e}`,u=this.editedBookTypes[a];if(u&&u!==e){const i=this.config.subjects[n].books[e];this.config.subjects[n].books[u]=i,delete this.config.subjects[n].books[e]}delete this.editedBookTypes[a]},deleteBookType(n,e){n==="common"?delete this.config.commonSubject.books[e]:delete this.config.subjects[n].books[e]},addBook(n,e){const a=`${n}-${e}`,u=this.newBooks[a];u&&(this.config.subjects[n].books[e].includes(u)||this.config.subjects[n].books[e].push(u),this.newBooks[a]="")},removeBook(n,e,a){const u=this.config.subjects[n].books[e],i=u.indexOf(a);i>-1&&u.splice(i,1)},addCommonBook(){this.newCommonBook&&(this.config.commonSubject.books[this.newCommonBook]||(this.config.commonSubject.books[this.newCommonBook]=[]),this.newCommonBook="")},removeCommonBook(n){delete this.config.commonSubject.books[n]},addAction(){this.newAction&&(this.config.actions.includes(this.newAction)||this.config.actions.push(this.newAction),this.newAction="")},removeAction(n){const e=this.config.actions.indexOf(n);e>-1&&this.config.actions.splice(e,1)},openBookDialog(n,e,a){this.dialog.show=!0,this.dialog.title="编辑需完成部分",this.dialog.nameLabel="部分名称",this.dialog.editedItem={name:a,type:"book",subject:n,bookType:e,originalName:a,tasks:this.config.subjects[n].books[e]}},openCommonBookDialog(n){this.dialog.show=!0,this.dialog.title="编辑通用作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:n,type:"commonBook",originalName:n,tasks:Array.isArray(this.config.commonSubject.books[n])?[...this.config.commonSubject.books[n]]:[]}},openActionDialog(n){this.dialog={show:!0,title:"编辑操作",nameLabel:"操作名称",editedItem:{name:n,type:"action",originalName:n,tasks:[]}}},addTask(){this.newTask&&(this.dialog.editedItem.tasks||(this.dialog.editedItem.tasks=[]),this.dialog.editedItem.tasks.push(this.newTask),this.newTask="")},removeTask(n){this.dialog.editedItem.tasks.splice(n,1)},openSubjectBookDialog(n,e,a){this.dialog.show=!0,this.dialog.title=n==="common"?"编辑通用作业本":"编辑作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:e,type:"subjectBook",subject:n,originalName:e,tasks:Array.isArray(a)?[...a]:[]}},saveDialog(){const{type:n,name:e,subject:a,originalName:u,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let o;const l=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(n){case"subjectBook":l&&(u!==e?(l[e]=i||[],delete l[u]):l[e]=i||[]);break;case"action":o=this.config.actions.indexOf(u),o>-1&&(this.config.actions[o]=e);break}this.closeDialog()},closeDialog(){this.dialog={show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",originalName:"",tasks:[]}},this.newTask=""}}},cs={class:"d-flex justify-space-between align-center mb-6"};function ms(n,e,a,u,i,o){const l=Nt,c=B;return h(),w(c,{title:"作业模板配置",icon:"mdi-book-edit",loading:i.loading,border:""},{default:s(()=>[i.error?(h(),w(oe,{key:0,type:"error",variant:"tonal",closable:"",class:"mb-4"},{default:s(()=>[r(x(i.error),1)]),_:1})):C("",!0),y("div",cs,[y("div",null,[t(p,{color:"primary",size:"large","prepend-icon":"mdi-refresh",loading:i.loading,onClick:o.loadConfig,class:"mr-2"},{default:s(()=>[...e[7]||(e[7]=[r(" 重新加载配置 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{color:"success",size:"large","prepend-icon":"mdi-content-save",loading:i.loading,onClick:o.saveConfig},{default:s(()=>[...e[8]||(e[8]=[r(" 保存所有更改 ",-1)])]),_:1},8,["loading","onClick"])]),o.hasChanges?(h(),w(he,{key:0,color:"warning",variant:"elevated"},{default:s(()=>[...e[9]||(e[9]=[r(" 有未保存的更改 ",-1)])]),_:1})):C("",!0)]),t(Se,null,{default:s(()=>[t(ue,{cols:"12",md:"6"},{default:s(()=>[t(l,{title:"科目配置",icon:"mdi-book",border:""},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{default:s(()=>[t(L,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=d=>i.newSubject=d),label:"添加新科目",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addSubject,onKeyup:fe(o.addSubject,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),(h(!0),N(ee,null,le(o.subjectList,d=>(h(),w(D,{key:d},{default:s(()=>[t(E,{border:"",class:"w-100 mb-2"},{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(L,{modelValue:i.editedSubjects[d],"onUpdate:modelValue":g=>i.editedSubjects[d]=g,placeholder:d,density:"comfortable",variant:"plain","hide-details":"",onBlur:g=>o.updateSubject(d)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(Q),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:g=>o.deleteSubject(d)},null,8,["onClick"])]),_:2},1024),t(P,null,{default:s(()=>[t(L,{modelValue:i.newBookTypes[d],"onUpdate:modelValue":g=>i.newBookTypes[d]=g,label:"添加作业本名称",variant:"outlined",density:"comfortable",class:"mb-2","append-inner-icon":"mdi-plus","onClick:appendInner":()=>o.addBookType(d),onKeyup:fe(()=>o.addBookType(d),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(H,{density:"compact",border:"",rounded:""},{default:s(()=>[(h(!0),N(ee,null,le(i.config.subjects[d].books,(g,S)=>(h(),w(D,{key:S,title:S,onClick:I=>o.openSubjectBookDialog(d,S,g)},{prepend:s(()=>[t(f,{icon:"mdi-book-open-variant",class:"mr-2"})]),append:s(()=>[t(he,{size:"small",class:"mr-2",color:"info"},{default:s(()=>[r(x(g.length)+"个部分 ",1)]),_:2},1024),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:De(()=>o.deleteBookType(d,S),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(ue,{cols:"12",md:"6"},{default:s(()=>[t(l,{title:"通用配置",icon:"mdi-cog",border:""},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{default:s(()=>[t(L,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=d=>i.newCommonBook=d),label:"添加作业本名称",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addCommonBook,onKeyup:fe(o.addCommonBook,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(D,null,{default:s(()=>[t(H,{density:"compact",border:"",rounded:""},{default:s(()=>[(h(!0),N(ee,null,le(i.config.commonSubject.books,(d,g)=>(h(),w(D,{key:g,title:g,onClick:S=>o.openSubjectBookDialog("common",g,d)},{prepend:s(()=>[t(f,{icon:"mdi-book-multiple",class:"mr-2"})]),append:s(()=>[t(he,{size:"small",class:"mr-2",color:"info"},{default:s(()=>[r(x(d.length)+"个部分 ",1)]),_:2},1024),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:De(()=>o.deleteBookType("common",g),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(U,{class:"my-2"}),t(D,null,{default:s(()=>[t(L,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=d=>i.newAction=d),label:"添加操作",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addAction,onKeyup:fe(o.addAction,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(D,null,{default:s(()=>[t(H,{density:"compact",border:"",rounded:""},{default:s(()=>[(h(!0),N(ee,null,le(i.config.actions,d=>(h(),w(D,{key:d,title:d,onClick:g=>o.openActionDialog(d)},{append:s(()=>[t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:De(g=>o.removeAction(d),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(re,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=d=>i.dialog.show=d),"max-width":"600px"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,{class:"text-h5 pa-4"},{default:s(()=>[r(x(i.dialog.title),1)]),_:1}),t(P,null,{default:s(()=>[t(St,null,{default:s(()=>[t(Se,null,{default:s(()=>[t(ue,{cols:"12"},{default:s(()=>[t(L,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=d=>i.dialog.editedItem.name=d),label:i.dialog.nameLabel,variant:"outlined",density:"comfortable",rules:[d=>!!d||"名称不能为空"]},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(h(),w(ue,{key:0,cols:"12"},{default:s(()=>[e[10]||(e[10]=y("div",{class:"text-subtitle-2 mb-2"},"所属科目",-1)),t(he,{color:"primary"},{default:s(()=>[r(x(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):C("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(h(),w(ue,{key:1,cols:"12"},{default:s(()=>[t(E,{variant:"outlined"},{default:s(()=>[t(K,{class:"text-subtitle-1 py-2"},{default:s(()=>[...e[11]||(e[11]=[r("需完成部分",-1)])]),_:1}),t(P,{class:"pt-0"},{default:s(()=>[t(H,{density:"compact",border:"",rounded:"",class:"mb-2"},{default:s(()=>[(h(!0),N(ee,null,le(i.dialog.editedItem.tasks,(d,g)=>(h(),w(D,{key:g},{prepend:s(()=>[t(f,{icon:"mdi-checkbox-blank-circle-outline",size:"small",class:"mr-2"})]),append:s(()=>[t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:S=>o.removeTask(g)},null,8,["onClick"])]),default:s(()=>[t(L,{modelValue:i.dialog.editedItem.tasks[g],"onUpdate:modelValue":S=>i.dialog.editedItem.tasks[g]=S,variant:"plain",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(L,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=d=>i.newTask=d),label:"添加需完成部分",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addTask,onKeyup:fe(o.addTask,["enter"]),class:"mt-2"},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1})]),_:1})]),_:1})):C("",!0)]),_:1})]),_:1})]),_:1}),t($,{class:"pa-4"},{default:s(()=>[t(Q),t(p,{color:"primary",variant:"elevated",onClick:o.saveDialog},{default:s(()=>[...e[12]||(e[12]=[r(" 关闭 ",-1)])]),_:1},8,["onClick"]),t(p,{color:"error",variant:"text",onClick:o.closeDialog},{default:s(()=>[...e[13]||(e[13]=[r(" 取消 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=d=>i.showSnackbar=d),color:i.snackbarColor,timeout:3e3},{default:s(()=>[r(x(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Ut=z(ds,[["render",ms],["__scopeId","data-v-261bf98e"]]),hs={name:"SubjectManagementCard",components:{SettingsCard:B},data(){return{loading:!1,error:null,subjects:[],originalSubjects:null,newSubjectName:"",showSnackbar:!1,snackbarText:"",snackbarColor:"success",defaultSubjects:[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}]}},computed:{hasChanges(){return this.originalSubjects&&JSON.stringify(this.subjects)!==JSON.stringify(this.originalSubjects)}},created(){this.loadConfig()},methods:{async loadConfig(){this.loading=!0;try{const n=await ie.loadData("classworks-config-subject");n?(this.subjects=n.map((e,a)=>({name:e.name,order:e.order??a})).sort((e,a)=>e.order-a.order),this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已加载","success")):(this.subjects=[],this.originalSubjects=[],this.showMessage("使用默认配置","info"))}catch(n){console.error("Failed to load config:",n),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const n=await ie.saveData("classworks-config-subject",this.subjects);if(n)this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已保存","success");else throw new Error(n||"保存失败")}catch(n){console.error("Failed to save config:",n),this.showMessage(`保存失败: ${n.message},请稍后重试`,"error")}this.loading=!1},showMessage(n,e="success"){this.snackbarText=n,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){if(!this.newSubjectName)return;const n={name:this.newSubjectName,order:this.subjects.length};this.subjects.push(n),this.newSubjectName=""},updateSubject(n){const e=this.subjects.findIndex(a=>a.order===n.order);e>-1&&(this.subjects[e]={...n})},deleteSubject(n){const e=this.subjects.findIndex(a=>a.order===n.order);e>-1&&(this.subjects.splice(e,1),this.subjects.forEach((a,u)=>{a.order=u}))},moveSubject(n,e){const a=n+e;if(a>=0&&a{i.order=o})}},resetToDefault(){this.subjects=JSON.parse(JSON.stringify(this.defaultSubjects)),this.showMessage("已重置为默认科目列表","info")}}},ps={class:"d-flex justify-space-between align-center mb-6"},ws={class:"d-flex flex-column align-center mr-2"};function fs(n,e,a,u,i,o){const l=B;return h(),w(l,{title:"科目管理",icon:"mdi-book-multiple",loading:i.loading,border:""},{default:s(()=>[i.error?(h(),w(oe,{key:0,type:"error",variant:"tonal",closable:"",class:"mb-4"},{default:s(()=>[r(x(i.error),1)]),_:1})):C("",!0),y("div",ps,[y("div",null,[t(p,{variant:"text",color:"primary",size:"large","prepend-icon":"mdi-refresh",loading:i.loading,onClick:o.loadConfig,class:"mr-2"},{default:s(()=>[...e[2]||(e[2]=[r(" 重新加载 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{color:"success",size:"large","prepend-icon":"mdi-content-save",loading:i.loading,onClick:o.saveConfig},{default:s(()=>[...e[3]||(e[3]=[r(" 保存 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{variant:"text","prepend-icon":"mdi-restore",loading:i.loading,onClick:o.resetToDefault,class:"mr-2"},{default:s(()=>[...e[4]||(e[4]=[r(" 重置为默认 ",-1)])]),_:1},8,["loading","onClick"])]),o.hasChanges?(h(),w(he,{key:0,color:"warning",variant:"elevated"},{default:s(()=>[...e[5]||(e[5]=[r(" 有未保存的更改 ",-1)])]),_:1})):C("",!0)]),t(E,{class:"mb-4",variant:"outlined"},{default:s(()=>[t(P,null,{default:s(()=>[t(Se,null,{default:s(()=>[t(ue,{cols:"12",sm:"6"},{default:s(()=>[t(L,{modelValue:i.newSubjectName,"onUpdate:modelValue":e[0]||(e[0]=c=>i.newSubjectName=c),label:"科目名称",variant:"outlined",density:"comfortable",rules:[c=>!!c||"科目名称不能为空"],onKeyup:fe(o.addSubject,["enter"]),"append-inner-icon":"mdi-plus","onClick:appendInner":o.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{variant:"outlined"},{default:s(()=>[t(P,{class:"pa-0"},{default:s(()=>[t(H,{lines:"one"},{default:s(()=>[(h(!0),N(ee,null,le(i.subjects,(c,d)=>(h(),w(D,{key:c.order},{prepend:s(()=>[y("div",ws,[t(p,{icon:"mdi-chevron-up",variant:"text",size:"small",disabled:d===0,onClick:g=>o.moveSubject(d,-1)},null,8,["disabled","onClick"]),t(p,{icon:"mdi-chevron-down",variant:"text",size:"small",disabled:d===i.subjects.length-1,onClick:g=>o.moveSubject(d,1)},null,8,["disabled","onClick"])])]),append:s(()=>[t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:g=>o.deleteSubject(c)},null,8,["onClick"])]),default:s(()=>[t(R,null,{default:s(()=>[t(L,{modelValue:c.name,"onUpdate:modelValue":g=>c.name=g,variant:"plain",density:"compact","hide-details":"",onBlur:g=>o.updateSubject(c)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[1]||(e[1]=c=>i.showSnackbar=c),color:i.snackbarColor,timeout:3e3},{default:s(()=>[r(x(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Pt=z(hs,[["render",fs],["__scopeId","data-v-7077623d"]]),gs={};function vs(n,e,a,u,i,o){const l=ve,c=B;return h(),w(c,{title:"编辑设置",icon:"mdi-cog"},{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"randomPicker.enabled"}),t(U,{class:"my-2"}),t(l,{"setting-key":"randomPicker.mode"}),t(U,{class:"my-2"}),t(l,{"setting-key":"randomPicker.minNumber"}),t(U,{class:"my-2"}),t(l,{"setting-key":"randomPicker.maxNumber"}),t(U,{class:"my-2"}),t(l,{"setting-key":"randomPicker.defaultCount"}),t(U,{class:"my-2"}),t(l,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const jt=z(gs,[["render",vs]]),bs={name:"ThemeSettingsCard",components:{SettingsCard:B},data(){return{localTheme:k("theme.mode")}},watch:{localTheme(n){qe("theme.mode",n),this.updateTheme(n)}},setup(){return{theme:ln()}},methods:{updateTheme(n){this.theme.global.name.value=n}}};function ys(n,e,a,u,i,o){const l=B;return h(),w(l,{title:"主题设置",icon:"mdi-palette"},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-theme-light-dark",class:"mr-3"})]),append:s(()=>[t(un,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=c=>i.localTheme=c),density:"comfortable",color:"primary"},{default:s(()=>[t(p,{value:"light"},{default:s(()=>[t(f,{icon:"mdi-white-balance-sunny",class:"mr-2"}),e[3]||(e[3]=r(" 明亮 ",-1))]),_:1}),t(p,{value:"dark"},{default:s(()=>[t(f,{icon:"mdi-moon-waning-crescent",class:"mr-2"}),e[4]||(e[4]=r(" 暗黑 ",-1))]),_:1})]),_:1},8,["modelValue"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[1]||(e[1]=[r("主题模式",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[2]||(e[2]=[r("选择明亮或暗黑主题",-1)])]),_:1})]),_:1})]),_:1})]),_:1})}const Lt=z(bs,[["render",ys]]),ks={name:"DisplaySettingsCard",components:{SettingsCard:B,SettingItem:ve},data(){return{}}};function Ss(n,e,a,u,i,o){const l=ve,c=B;return h(),w(c,{title:"显示设置",icon:"mdi-monitor",border:""},{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"display.emptySubjectDisplay"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.dynamicSort"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.showRandomButton"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.showFullscreenButton"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.cardHoverEffect"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.enhancedTouchMode"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.showAntiScreenBurnCard"}),t(U,{class:"my-2"}),t(l,{"setting-key":"display.showExamScheduleButton"})]),_:1})]),_:1})}const Ot=z(ks,[["render",Ss]]),xs={};function Cs(n,e,a,u,i,o){const l=ve,c=B;return h(),w(c,{title:"编辑设置",icon:"mdi-cog"},{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"edit.autoSave"}),t(U,{class:"my-2"}),t(l,{"setting-key":"edit.blockNonTodayAutoSave"}),t(U,{class:"my-2"}),t(l,{"setting-key":"edit.confirmNonTodaySave"}),t(U,{class:"my-2"}),t(l,{"setting-key":"edit.refreshBeforeEdit"})]),_:1})]),_:1})}const At=z(xs,[["render",Cs]]),_s=gt({...hn(),...Dn()},"VForm"),Le=ft()({name:"VForm",props:_s(),emits:{"update:modelValue":n=>!0,submit:n=>!0},setup(n,e){let{slots:a,emit:u}=e;const i=Vn(n),o=Re();function l(d){d.preventDefault(),i.reset()}function c(d){const g=d,S=i.validate();g.then=S.then.bind(S),g.catch=S.catch.bind(S),g.finally=S.finally.bind(S),u("submit",g),g.defaultPrevented||S.then(I=>{var M;let{valid:J}=I;J&&((M=o.value)==null||M.submit())}),g.preventDefault()}return dn(()=>{var d;return y("form",{ref:o,class:Qe(["v-form",n.class]),style:cn(n.style),novalidate:!0,onReset:l,onSubmit:c},[(d=a.default)==null?void 0:d.call(a,i)])}),mn(i,o)}}),Vs={name:"RefreshSettingsCard",components:{SettingsCard:B},data(){return{}}};function Ds(n,e,a,u,i,o){const l=ve,c=B;return h(),w(c,{title:"刷新设置",icon:"mdi-refresh-circle"},{default:s(()=>[t(Le,null,{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"refresh.auto",title:"自动刷新"}),e[0]||(e[0]=r()),t(U,{class:"my-2"}),t(l,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const Ft=z(Vs,[["render",Ds]]),Ts={name:"SettingsLinkGenerator",data(){return{selectedItems:[],generatedLink:"",linkCopied:!1,search:"",headers:[{title:"",key:"data-table-select"},{title:"设置项",key:"description",sortable:!0},{title:"当前值",key:"value",sortable:!0},{title:"键名",key:"key",class:"d-none d-sm-table-cell",sortable:!0},{title:"状态",key:"isChanged",sortable:!0}]}},computed:{settingItems(){const n=Ue(),e=[];for(const[a,u]of Object.entries(Je)){if(u.requireDeveloper&&!n["developer.enabled"])continue;const i=n[a]!==u.default;e.push({key:a,description:u.description||a,value:n[a],icon:u.icon||"mdi-cog",isChanged:i,defaultValue:u.default})}return e.sort((a,u)=>a.key.localeCompare(u.key))},filteredItems(){if(!this.search)return this.settingItems;const n=this.search.toLowerCase();return n==="已修改"?this.settingItems.filter(e=>e.isChanged):n==="是"||n==="否"?this.settingItems.filter(e=>typeof e.value=="boolean"&&(n==="是"?e.value:!e.value)):this.settingItems.filter(e=>{const a=e.description.toLowerCase(),u=e.key.toLowerCase(),i=String(e.value).toLowerCase(),o=e.isChanged?"已修改":"默认";return a.includes(n)||u.includes(n)||i.includes(n)||o.includes(n)})},hasDisplaySettings(){return this.selectedItems.some(n=>n.startsWith("display."))},hasEditSettings(){return this.selectedItems.some(n=>n.startsWith("edit."))},hasServerSettings(){return this.selectedItems.some(n=>n.startsWith("server."))},hasChangedSettings(){const n=Ue();return this.selectedItems.some(e=>{const a=Je[e];return a&&n[e]!==a.default})}},methods:{handleSelectionChange(n){this.selectedItems=n.map(e=>e.key),this.generateLink()},generateLink(){const n=`${window.location.protocol}//${window.location.host}/`,e=Ue(),a={};for(const u of this.selectedItems)a[u]=e[u];if(Object.keys(a).length===0){this.generatedLink=n;return}try{const u=JSON.stringify(a),o=new TextEncoder().encode(u),c={config:btoa(Array.from(o).map(I=>String.fromCharCode(I)).join(""))},g=new URLSearchParams(window.location.search).get("date");g&&(c.date=g);const S=new URLSearchParams(c).toString();this.generatedLink=`${n}?${S}`}catch(u){console.error("生成链接失败:",u),this.generatedLink="链接生成失败,请重试"}this.linkCopied=!1},async copyLink(){this.generatedLink||this.generateLink();try{await navigator.clipboard.writeText(this.generatedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(n){console.error("复制链接失败:",n)}},resetSelection(){this.selectedItems=[],this.generatedLink="",this.linkCopied=!1},selectAll(){this.selectedItems=this.settingItems.map(n=>n.key),this.generateLink()},selectDataSourceSettings(){const n=this.settingItems.filter(e=>e.key.startsWith("server.")).map(e=>e.key);this.selectedItems=n,this.generateLink()},selectChangedSettings(){const n=this.settingItems.filter(e=>e.isChanged).map(e=>e.key);this.selectedItems=n,this.generateLink()},selectByPrefix(n){const e=this.settingItems.filter(a=>a.key.startsWith(`${n}.`)).map(a=>a.key);this.selectedItems=e},autoGenerateLink(){this.selectedItems.length>0?this.generateLink():this.generatedLink=""},getSettingDescription(n){const e=this.settingItems.find(a=>a.key===n);return e?e.description:n}},watch:{selectedItems:{handler(){this.autoGenerateLink()},deep:!0}}},Is={class:"d-flex mb-3 gap-2 flex-wrap"},Es={class:"d-flex align-center mt-3 mb-3 flex-wrap gap-2"},Ns={class:"d-flex align-center"},Us={key:0},Ps={key:1},js={class:"text-caption text-grey"};function Ls(n,e,a,u,i,o){return h(),w(E,{border:"",class:"settings-link-generator mb-4"},{default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[t(f,{start:"",icon:"mdi-link-variant",class:"mr-2"}),e[3]||(e[3]=r(" 设置分享 ",-1))]),_:1}),t(P,null,{default:s(()=>[y("div",Is,[t(p,{size:"small",variant:"tonal",color:"primary","prepend-icon":"mdi-select-all",onClick:o.selectAll},{default:s(()=>[...e[4]||(e[4]=[r(" 全选 ",-1)])]),_:1},8,["onClick"]),t(p,{size:"small",variant:"tonal",color:"primary","prepend-icon":"mdi-server-network",onClick:o.selectDataSourceSettings},{default:s(()=>[...e[5]||(e[5]=[r(" 数据源设置 ",-1)])]),_:1},8,["onClick"]),t(p,{size:"small",variant:"tonal",color:"primary","prepend-icon":"mdi-compare",onClick:o.selectChangedSettings},{default:s(()=>[...e[6]||(e[6]=[r(" 已变更设置 ",-1)])]),_:1},8,["onClick"]),t(p,{size:"small",variant:"tonal",color:"error","prepend-icon":"mdi-select-remove",onClick:o.resetSelection},{default:s(()=>[...e[7]||(e[7]=[r(" 取消选择 ",-1)])]),_:1},8,["onClick"])]),y("div",Es,[t(he,{color:"primary",class:"mr-2"},{default:s(()=>[r(" 已选 "+x(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(h(!0),N(ee,{key:0},le(i.selectedItems,l=>(h(),w(he,{key:l,size:"small",class:"mr-1",variant:"text"},{default:s(()=>[r(x(o.getSettingDescription(l)),1)]),_:2},1024))),128)):C("",!0)]),t(L,{modelValue:i.generatedLink,"onUpdate:modelValue":e[0]||(e[0]=l=>i.generatedLink=l),label:"生成的链接",readonly:"",variant:"outlined",class:"mb-2","append-inner-icon":i.linkCopied?"mdi-check":"mdi-content-copy","onClick:appendInner":o.copyLink},null,8,["modelValue","append-inner-icon","onClick:appendInner"]),t(xt,{variant:"accordion"},{default:s(()=>[t(Ct,null,{default:s(()=>[t(_t,null,{default:s(()=>[...e[8]||(e[8]=[r(" 显示设置列表详情 ",-1)])]),_:1}),t(Vt,null,{default:s(()=>[t(yt,{"items-per-page":o.settingItems.length,headers:i.headers,items:o.filteredItems,"item-value":"key",modelValue:i.selectedItems,"onUpdate:modelValue":e[2]||(e[2]=l=>i.selectedItems=l),"show-select":"",density:"compact",class:"rounded setting-table","onUpdate:selected":o.handleSelectionChange,"sort-by":[{key:"isChanged",order:"desc"}]},{top:s(()=>[t(L,{modelValue:i.search,"onUpdate:modelValue":e[1]||(e[1]=l=>i.search=l),label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":"","hide-details":"",class:"mb-4"},null,8,["modelValue"])]),"item.description":s(({item:l})=>[y("div",Ns,[t(f,{size:"small",icon:l.icon,class:"mr-2"},null,8,["icon"]),r(" "+x(l.description),1)])]),"item.value":s(({item:l})=>[typeof l.value=="boolean"?(h(),N("span",Us,x(l.value?"是":"否"),1)):(h(),N("span",Ps,x(l.value),1))]),"item.key":s(({item:l})=>[y("span",js,x(l.key),1)]),"item.isChanged":s(({item:l})=>[t(he,{size:"x-small",color:l.isChanged?"warning":"success",text:l.isChanged?"已修改":"默认",density:"compact"},null,8,["color","text"])]),_:2},1032,["items-per-page","headers","items","modelValue","onUpdate:selected"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Bt=z(Ts,[["render",Ls]]),Os={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},As={class:"warning-container"};function Fs(n,e,a,u,i,o){return h(),N("div",As,[a.show?(h(),w(he,{key:0,color:"warning",size:"small",class:"warning-chip"},{default:s(()=>[r(x(a.message),1)]),_:1})):C("",!0)])}const Mt=z(Os,[["render",Fs],["__scopeId","data-v-0668f179"]]),Bs=gt({disabled:Boolean,modelValue:{type:Boolean,default:null},...fn()},"VHover"),Ms=ft()({name:"VHover",props:Bs(),emits:{"update:modelValue":n=>!0},setup(n,e){let{slots:a}=e;const u=pn(n,"modelValue"),{runOpenDelay:i,runCloseDelay:o}=wn(n,l=>!n.disabled&&(u.value=l));return()=>{var l;return(l=a.default)==null?void 0:l.call(a,{isHovering:u.value,props:{onMouseenter:i,onMouseleave:o}})}}}),Ks={name:"StudentListCard",components:{UnsavedWarning:Mt},props:{isMobile:Boolean},data(){return{newStudentName:"",editState:{index:-1,name:""},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1}},watch:{modelValue:{handler(n){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(n.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=n.list.slice().sort((e,a)=>e.id-a.id).map(e=>e.name).join(` +`))},deep:!0}},mounted(){this.loadStudents()},methods:{async loadStudents(){var n;this.error=null;try{if(this.loading=!0,!k("server.classNumber"))throw new Error("请先设置班号");try{const a=await ie.loadData("classworks-list-main");if(a.success!=!1&&Array.isArray(a)){this.modelValue.list=a.map((u,i)=>typeof u=="string"?{id:i+1,name:u}:{id:u.id||i+1,name:u.name||u.toString()}),this.modelValue.list.sort((u,i)=>u.id-i.id),this.modelValue.text=this.modelValue.list.map(u=>u.name).join(` +`),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1;return}}catch(a){console.warn("Failed to load student list from dedicated key, falling back to config",a)}}catch(e){console.error("加载学生列表失败:",e),this.error=e.message||"加载失败,请检查设置",(n=this.$message)==null||n.error("加载失败",this.error)}finally{this.loading=!1}},async saveStudents(){var n,e,a;try{if(!k("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.slice().sort((l,c)=>l.id-c.id).map((l,c)=>({id:c+1,name:l.name})),o=await ie.saveData("classworks-list-main",i);if(o.success===!1)throw new Error(((n=o.error)==null?void 0:n.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","学生列表已更新")}catch(u){console.error("保存学生列表失败:",u),(a=this.$message)==null||a.error("保存失败",u.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced},handleTextInput(n){if(!this.modelValue.advanced)return;const e=n.split(` +`).filter(o=>o.trim()),a=new Map(this.modelValue.list.map(o=>[o.name,o.id]));let u=Math.max(0,...this.modelValue.list.map(o=>o.id));const i=e.map(o=>(o=o.trim(),a.has(o)?{id:a.get(o),name:o}:{id:++u,name:o}));this.modelValue.list=i},addStudent(){const n=this.newStudentName.trim();if(n&&!this.modelValue.list.some(e=>e.name===n)){const e=Math.max(0,...this.modelValue.list.map(a=>a.id));this.modelValue.list.push({id:e+1,name:n}),this.newStudentName=""}},startEdit(n,e){this.editState.index=n,this.editState.name=e.name},saveEdit(){if(this.editState.index!==-1){const n=this.editState.name.trim();n&&n!==this.modelValue.list[this.editState.index].name&&(this.modelValue.list[this.editState.index].name=n),this.editState.index=-1,this.editState.name=""}},removeStudent(n){n!==void 0&&this.modelValue.list.splice(n,1)},moveStudent(n,e){if(e==="top"){if(n>0){const a=this.modelValue.list[n];this.modelValue.list.splice(n,1),this.modelValue.list.unshift(a),this.modelValue.list.forEach((u,i)=>u.id=i+1)}}else{const a=e==="up"?n-1:n+1;a>=0&&a{const u=tt(e.name,{toneType:"none"}),i=tt(a.name,{toneType:"none"});return u.localeCompare(i)});n.forEach((e,a)=>e.id=a+1),this.modelValue.list=n}}},Hs={key:0},Rs=["onClick"],zs={key:1,class:"pt-2"};function Js(n,e,a,u,i,o){const l=Mt;return h(),w(E,{border:"",color:i.unsavedChanges?"warning-subtle":void 0,class:Qe({"unsaved-changes":i.unsavedChanges})},{default:s(()=>[t(we,null,{prepend:s(()=>[t(f,{icon:"mdi-account-group",size:"large",class:"mr-2"})]),append:s(()=>[t(l,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(p,{"prepend-icon":"mdi-sort-alphabetical-variant",variant:"text",class:"mr-2",onClick:o.sortStudentsByPinyin,disabled:i.modelValue.list.length===0},{default:s(()=>[...e[4]||(e[4]=[r(" 按姓名首字母排序 ",-1)])]),_:1},8,["onClick","disabled"]),t(p,{color:i.modelValue.advanced?"primary":void 0,variant:"text","prepend-icon":"mdi-code-braces",onClick:o.toggleAdvanced},{default:s(()=>[r(x(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[...e[3]||(e[3]=[r("学生列表",-1)])]),_:1})]),_:1}),t(P,null,{default:s(()=>[i.loading?(h(),w(ct,{key:0,indeterminate:"",color:"primary",class:"mb-4"})):C("",!0),i.error?(h(),w(oe,{key:1,type:"error",variant:"tonal",closable:"",class:"mb-4"},{default:s(()=>[r(x(i.error),1)]),_:1})):C("",!0),t(gn,null,{default:s(()=>[i.modelValue.advanced?(h(),N("div",zs,[t(Pe,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[2]||(e[2]=c=>i.modelValue.text=c),o.handleTextInput],label:"批量编辑学生列表",placeholder:"每行输入一个学生姓名",hint:"使用文本编辑模式批量编辑学生名单,保存时会自动去除空行","persistent-hint":"",variant:"outlined",rows:"10"},null,8,["modelValue","onUpdate:modelValue"])])):(h(),N("div",Hs,[t(Se,{class:"mb-6"},{default:s(()=>[t(ue,{cols:"12",sm:"6",md:"4"},{default:s(()=>[t(L,{modelValue:i.newStudentName,"onUpdate:modelValue":e[0]||(e[0]=c=>i.newStudentName=c),label:"添加学生",placeholder:"输入学生姓名后回车添加","prepend-inner-icon":"mdi-account-plus",variant:"outlined","hide-details":"",class:"mb-4",onKeyup:fe(o.addStudent,["enter"])},{append:s(()=>[t(p,{icon:"mdi-plus",variant:"text",color:"primary",disabled:!i.newStudentName.trim(),onClick:o.addStudent},null,8,["disabled","onClick"])]),_:1},8,["modelValue","onKeyup"])]),_:1})]),_:1}),t(Se,null,{default:s(()=>[(h(!0),N(ee,null,le(i.modelValue.list,(c,d)=>(h(),w(ue,{key:d,cols:"12",sm:"6",md:"4",lg:"3"},{default:s(()=>[t(Ms,null,{default:s(({isHovering:g,props:S})=>[t(E,ze({ref_for:!0},S,{elevation:a.isMobile?1:g?4:1,class:"student-card",border:""}),{default:s(()=>[t(P,{class:"d-flex align-center pa-3"},{default:s(()=>[t(kt,{location:"bottom","open-on-hover":!a.isMobile},{activator:s(({props:I})=>[t(p,ze({variant:"tonal",size:"small",class:"mr-3 font-weight-medium"},{ref_for:!0},I),{default:s(()=>[r(x(d+1),1)]),_:2},1040)]),default:s(()=>[t(H,{density:"compact",nav:""},{default:s(()=>[t(D,{"prepend-icon":"mdi-arrow-up-bold",disabled:d===0,onClick:I=>o.moveStudent(d,"top")},{default:s(()=>[...e[5]||(e[5]=[r(" 置顶 ",-1)])]),_:2},1032,["disabled","onClick"]),t(U),t(D,{"prepend-icon":"mdi-arrow-up",disabled:d===0,onClick:I=>o.moveStudent(d,"up")},{default:s(()=>[...e[6]||(e[6]=[r(" 上移 ",-1)])]),_:2},1032,["disabled","onClick"]),t(D,{"prepend-icon":"mdi-arrow-down",disabled:d===i.modelValue.list.length-1,onClick:I=>o.moveStudent(d,"down")},{default:s(()=>[...e[7]||(e[7]=[r(" 下移 ",-1)])]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["open-on-hover"]),i.editState.index===d?(h(),w(L,{key:0,modelValue:i.editState.name,"onUpdate:modelValue":e[1]||(e[1]=I=>i.editState.name=I),density:"compact",variant:"underlined","hide-details":"",class:"flex-grow-1",autofocus:"",onKeyup:fe(o.saveEdit,["enter"]),onBlur:o.saveEdit},null,8,["modelValue","onKeyup","onBlur"])):(h(),N("span",{key:1,class:"text-body-1 flex-grow-1",onClick:I=>o.handleClick(d,c)},x(c.name),9,Rs)),y("div",{class:Qe(["d-flex gap-1 action-buttons",{"opacity-100":g||a.isMobile}])},[t(p,{icon:"mdi-pencil",variant:"text",color:"primary",size:"small",onClick:I=>o.startEdit(d,c)},null,8,["onClick"]),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:I=>o.removeStudent(d)},null,8,["onClick"])],2)]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]))]),_:1}),t(Se,{class:"mt-6"},{default:s(()=>[t(ue,{cols:"12",class:"d-flex gap-2"},{default:s(()=>[t(p,{color:"primary","prepend-icon":"mdi-content-save",size:"large",loading:i.loading,disabled:i.loading,onClick:o.saveStudents},{default:s(()=>[...e[8]||(e[8]=[r(" 保存名单 ",-1)])]),_:1},8,["loading","disabled","onClick"]),t(p,{color:"error",variant:"outlined","prepend-icon":"mdi-refresh",size:"large",loading:i.loading,disabled:i.loading,onClick:o.loadStudents},{default:s(()=>[...e[9]||(e[9]=[r(" 重载名单 ",-1)])]),_:1},8,["loading","disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["color","class"])}const Kt=z(Ks,[["render",Js],["__scopeId","data-v-fe47d12d"]]),He=()=>{const n={Accept:"application/json"},e=k("server.siteKey"),a=k("namespace.password");return e&&(n["x-site-key"]=e),a&&(n["x-namespace-password"]=a),n},Qs={name:"NamespaceSettingsCard",components:{SettingsCard:B,NamespaceAccess:ut},data(){return{loading:!1,passwordLoading:!1,hintLoading:!1,verifyLoading:!1,showSnackbar:!1,showDeleteConfirm:!1,showHintDialog:!1,showVerifyDialog:!1,snackbarText:"",snackbarColor:"success",namespaceInfo:{uuid:"",name:"",accessType:"PUBLIC",hasPassword:!1,passwordHint:null},namespaceForm:{name:"",accessType:"PUBLIC"},passwordForm:{newPassword:"",oldPassword:"",confirmPassword:""},passwordHintForm:{hint:""},verifyForm:{password:"",error:"",action:null,onSuccess:null},originalForm:{name:"",accessType:"PUBLIC"},accessTypeOptions:[{title:"公开(无需密码)",value:"PUBLIC",icon:"mdi-lock-open"},{title:"受保护(需要密码写入)",value:"PROTECTED",icon:"mdi-lock"},{title:"私有(需要密码读写)",value:"PRIVATE",icon:"mdi-lock-alert"}]}},computed:{shouldShowCard(){const n=k("server.provider");return n==="kv-server"||n==="classworkscloud"},deviceUuid(){return this.namespaceInfo.uuid},isFormChanged(){return this.namespaceForm.name!==this.originalForm.name||this.namespaceForm.accessType!==this.originalForm.accessType},isPasswordFormValid(){if(!this.passwordForm.newPassword)return!0;const n=this.passwordForm.newPassword===this.passwordForm.confirmPassword;return this.namespaceInfo.hasPassword?n&&!!this.passwordForm.oldPassword:n}},async created(){this.shouldShowCard&&(await this.loadNamespaceInfo(),await this.loadPasswordHint())},methods:{async loadNamespaceInfo(){this.loading=!0;try{const n=await Ne.loadNamespaceInfo();n.status==200&&n.data&&(this.namespaceInfo=n.data,this.namespaceForm.name=n.data.name,this.namespaceForm.accessType=n.data.accessType,this.passwordForm.passwordHint=n.data.passwordHint||"",this.originalForm={...this.namespaceForm})}catch(n){console.error("加载命名空间信息失败:",n),this.showError("加载命名空间信息失败")}finally{this.loading=!1}},async saveNamespaceInfo(){if(this.isFormChanged){this.loading=!0;try{const n=await Ne.updateNamespaceInfo({name:this.namespaceForm.name,accessType:this.namespaceForm.accessType});if(console.log(n),n.status==200)this.originalForm={...this.namespaceForm},this.showSuccess("命名空间信息已更新");else throw new Error(n.error.message||"保存失败")}catch(n){console.error("保存命名空间信息失败:",n),this.showError(n.message||"保存命名空间信息失败")}finally{this.loading=!1}}},async copyUuid(){try{await navigator.clipboard.writeText(this.namespaceInfo.uuid),this.showSuccess("命名空间标识符已复制到剪贴板")}catch(n){console.error("复制失败:",n),this.showError("复制失败")}},async savePassword(){var n,e,a;if(this.isPasswordFormValid){this.passwordLoading=!0;try{const u=await Ne.updatePassword(this.passwordForm.newPassword||null,this.passwordForm.oldPassword||null);if(u.status===200)this.namespaceInfo.hasPassword=!!this.passwordForm.newPassword,this.passwordForm={newPassword:"",oldPassword:"",confirmPassword:""},this.showSuccess("密码已更新"),this.$router.push("/");else throw new Error(((n=u.error)==null?void 0:n.message)||"保存失败")}catch(u){console.error("保存密码失败:",u),this.showError(((a=(e=u.response)==null?void 0:e.data)==null?void 0:a.message)||"保存密码失败")}finally{this.passwordLoading=!1}}},async confirmDeletePassword(){this.verifyForm={password:"",error:"",action:"delete",onSuccess:()=>{this.showDeleteConfirm=!0}},this.showVerifyDialog=!0},async deletePassword(){var n,e,a;this.passwordLoading=!0;try{const u=await Ne.deletePassword();if(u.status===200)this.namespaceInfo.hasPassword=!1,this.namespaceInfo.passwordHint=null,this.passwordForm={newPassword:"",oldPassword:"",confirmPassword:""},this.showDeleteConfirm=!1,this.showSuccess("密码已删除");else throw new Error(((n=u.error)==null?void 0:n.message)||"删除失败")}catch(u){console.error("删除密码失败:",u),this.showError(((a=(e=u.response)==null?void 0:e.data)==null?void 0:a.message)||"删除密码失败")}finally{this.passwordLoading=!1}},async loadPasswordHint(){try{const n=k("server.domain"),e=k("device.uuid"),a=await Ke.get(`${n}/${e}/_hint`,{headers:He()});a.data&&a.data.passwordHint!==void 0&&(this.namespaceInfo.passwordHint=a.data.passwordHint,this.passwordHintForm.hint=a.data.passwordHint||"")}catch(n){console.error("加载密码提示失败:",n),this.showError("加载密码提示失败")}},async savePasswordHint(){var n,e;this.hintLoading=!0;try{const a=k("server.domain"),u=k("device.uuid"),i=await Ke.put(`${a}/${u}/_hint`,{hint:this.passwordHintForm.hint||null},{headers:He()});i.data&&(this.namespaceInfo.passwordHint=i.data.passwordHint,this.showSuccess("密码提示已更新"),this.showHintDialog=!1)}catch(a){console.error("保存密码提示失败:",a),this.showError(((e=(n=a.response)==null?void 0:n.data)==null?void 0:e.message)||"保存密码提示失败")}finally{this.hintLoading=!1}},async openHintDialog(){this.verifyForm={password:"",error:"",action:"hint",onSuccess:()=>{this.showHintDialog=!0}},this.showVerifyDialog=!0},cancelVerify(){this.showVerifyDialog=!1,this.verifyForm={password:"",error:"",action:null,onSuccess:null}},async verifyPassword(){if(this.verifyForm.password){this.verifyLoading=!0,this.verifyForm.error="";try{(await Ke.post(`${k("server.domain")}/${k("device.uuid")}/_checkpassword`,{password:this.verifyForm.password},{headers:He()})).status==200?(this.showVerifyDialog=!1,this.verifyForm.onSuccess&&this.verifyForm.onSuccess()):this.verifyForm.error="密码错误"}catch(n){console.error("密码验证失败:",n),this.verifyForm.error="密码验证失败"}finally{this.verifyLoading=!1}}},showSuccess(n){this.snackbarColor="success",this.snackbarText=n,this.showSnackbar=!0},showError(n){this.snackbarColor="error",this.snackbarText=n,this.showSnackbar=!0},modifyLocalPassword(){const n=this.$refs.namespaceAccess;n&&n.openPasswordDialog()}}},Ws={class:"d-flex align-center mt-2"},qs={class:"text-body-1"},Gs={class:"d-flex justify-end"},Ys={class:"d-flex justify-space-between align-center"},Xs={class:"text-caption text-grey"};function Zs(n,e,a,u,i,o){const l=ut,c=B;return o.shouldShowCard?(h(),w(c,{key:0,title:"命名空间设置",icon:"mdi-database-lock",loading:i.loading},{default:s(()=>[t(l,{ref:"namespaceAccess"},null,512),t(E,{variant:"tonal",class:"rounded-lg mb-4"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(f,{icon:"mdi-identifier",size:"large",class:"mr-3",color:"primary"})]),default:s(()=>[t(K,null,{default:s(()=>[...e[14]||(e[14]=[r("命名空间标识符",-1)])]),_:1}),t(ge,null,{default:s(()=>[y("div",Ws,[y("code",qs,x(i.namespaceInfo.uuid),1),t(p,{icon:"mdi-content-copy",variant:"text",size:"small",class:"ml-2",onClick:o.copyUuid},null,8,["onClick"])])]),_:1})]),_:1})]),_:1}),t(E,{variant:"tonal",class:"rounded-lg mb-4"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(f,{icon:"mdi-form-textbox",size:"large",class:"mr-3",color:"primary"})]),default:s(()=>[t(K,null,{default:s(()=>[...e[15]||(e[15]=[r("命名空间信息",-1)])]),_:1})]),_:1}),t(P,null,{default:s(()=>[t(Le,{ref:"form",onSubmit:De(o.saveNamespaceInfo,["prevent"])},{default:s(()=>[t(L,{modelValue:i.namespaceForm.name,"onUpdate:modelValue":e[0]||(e[0]=d=>i.namespaceForm.name=d),label:"命名空间名称",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.loading,rules:[d=>!!d||"请输入命名空间名称"]},{"prepend-inner":s(()=>[t(f,{icon:"mdi-tag-text"})]),_:1},8,["modelValue","loading","rules"]),t(bt,{modelValue:i.namespaceForm.accessType,"onUpdate:modelValue":e[1]||(e[1]=d=>i.namespaceForm.accessType=d),items:i.accessTypeOptions,label:"访问权限",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-6",loading:i.loading},{"prepend-inner":s(()=>[t(f,{icon:"mdi-shield-lock"})]),_:1},8,["modelValue","items","loading"]),y("div",Gs,[t(p,{color:"primary",loading:i.loading,disabled:!o.isFormChanged,onClick:o.saveNamespaceInfo},{prepend:s(()=>[t(f,{icon:"mdi-content-save"})]),default:s(()=>[e[16]||(e[16]=r(" 保存更改 ",-1))]),_:1},8,["loading","disabled","onClick"])])]),_:1},8,["onSubmit"])]),_:1})]),_:1}),t(E,{variant:"tonal",class:"rounded-lg"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(f,{icon:"mdi-key",size:"large",class:"mr-3",color:"primary"})]),default:s(()=>[t(K,null,{default:s(()=>[...e[17]||(e[17]=[r("访问密码",-1)])]),_:1}),t(ge,{class:"mt-2"},{default:s(()=>[...e[18]||(e[18]=[r(" 设置访问密码以保护数据安全,可以将老师、电教的名字、学号等作为密码 ",-1)])]),_:1})]),_:1}),t(P,null,{default:s(()=>[t(Le,{ref:"passwordForm",onSubmit:De(o.savePassword,["prevent"])},{default:s(()=>[i.namespaceInfo.hasPassword?(h(),w(L,{key:0,modelValue:i.passwordForm.oldPassword,"onUpdate:modelValue":e[2]||(e[2]=d=>i.passwordForm.oldPassword=d),label:"当前密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.passwordLoading,rules:[d=>!!d||"请输入当前密码"]},{"prepend-inner":s(()=>[t(f,{icon:"mdi-lock"})]),_:1},8,["modelValue","loading","rules"])):C("",!0),t(L,{modelValue:i.passwordForm.newPassword,"onUpdate:modelValue":e[3]||(e[3]=d=>i.passwordForm.newPassword=d),label:"新密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.passwordLoading},{"prepend-inner":s(()=>[t(f,{icon:"mdi-lock-plus"})]),_:1},8,["modelValue","loading"]),t(L,{modelValue:i.passwordForm.confirmPassword,"onUpdate:modelValue":e[4]||(e[4]=d=>i.passwordForm.confirmPassword=d),label:"确认新密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.passwordLoading,rules:[d=>!i.passwordForm.newPassword||d===i.passwordForm.newPassword||"两次输入的密码不一致"]},{"prepend-inner":s(()=>[t(f,{icon:"mdi-lock-check"})]),_:1},8,["modelValue","loading","rules"]),y("div",Ys,[y("div",null,[i.namespaceInfo.hasPassword?(h(),w(p,{key:0,color:"error",variant:"tonal",loading:i.passwordLoading,onClick:o.confirmDeletePassword,class:"mr-2"},{prepend:s(()=>[t(f,{icon:"mdi-lock-remove"})]),default:s(()=>[e[19]||(e[19]=r(" 删除密码 ",-1))]),_:1},8,["loading","onClick"])):C("",!0),i.namespaceInfo.hasPassword?(h(),w(p,{key:1,color:"primary",variant:"tonal",loading:i.hintLoading,onClick:o.openHintDialog,class:"mr-2"},{prepend:s(()=>[t(f,{icon:"mdi-lightbulb-outline"})]),default:s(()=>[e[20]||(e[20]=r(" 设置密码提示 ",-1))]),_:1},8,["loading","onClick"])):C("",!0),t(p,{color:"primary",variant:"tonal",onClick:o.modifyLocalPassword},{prepend:s(()=>[t(f,{icon:"mdi-key-variant"})]),default:s(()=>[e[21]||(e[21]=r(" 修改本地密码 ",-1))]),_:1},8,["onClick"])]),t(p,{color:"primary",loading:i.passwordLoading,disabled:!o.isPasswordFormValid,onClick:o.savePassword},{prepend:s(()=>[t(f,{icon:"mdi-content-save"})]),default:s(()=>[e[22]||(e[22]=r(" 保存密码 ",-1))]),_:1},8,["loading","disabled","onClick"])])]),_:1},8,["onSubmit"])]),_:1})]),_:1}),t(re,{modelValue:i.showHintDialog,"onUpdate:modelValue":e[7]||(e[7]=d=>i.showHintDialog=d),"max-width":"400"},{default:s(()=>[t(E,null,{default:s(()=>[t(we,null,{default:s(()=>[t(K,null,{default:s(()=>[...e[23]||(e[23]=[r("设置密码提示",-1)])]),_:1}),t(ge,{class:"mt-2"},{default:s(()=>[...e[24]||(e[24]=[r(" 设置一个提示帮助记忆密码 ",-1)])]),_:1})]),_:1}),t(P,null,{default:s(()=>[t(L,{modelValue:i.passwordHintForm.hint,"onUpdate:modelValue":e[5]||(e[5]=d=>i.passwordHintForm.hint=d),label:"密码提示",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.hintLoading,placeholder:"例如:我的生日"},{"prepend-inner":s(()=>[t(f,{icon:"mdi-lightbulb-outline"})]),_:1},8,["modelValue","loading"]),y("div",Xs," 当前提示:"+x(i.namespaceInfo.passwordHint||"未设置"),1)]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{color:"grey-darken-1",variant:"text",onClick:e[6]||(e[6]=d=>i.showHintDialog=!1),disabled:i.hintLoading},{default:s(()=>[...e[25]||(e[25]=[r(" 取消 ",-1)])]),_:1},8,["disabled"]),t(p,{color:"primary",variant:"text",loading:i.hintLoading,onClick:o.savePasswordHint},{default:s(()=>[...e[26]||(e[26]=[r(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(re,{modelValue:i.showDeleteConfirm,"onUpdate:modelValue":e[9]||(e[9]=d=>i.showDeleteConfirm=d),"max-width":"400"},{default:s(()=>[t(E,null,{default:s(()=>[t(we,null,{default:s(()=>[t(K,null,{default:s(()=>[...e[27]||(e[27]=[r("确认删除密码",-1)])]),_:1}),t(P,{class:"mt-4"},{default:s(()=>[...e[28]||(e[28]=[r(" 删除密码后,任何人都可以访问和修改此命名空间的数据。确定要继续吗? ",-1)])]),_:1})]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{color:"grey-darken-1",variant:"text",onClick:e[8]||(e[8]=d=>i.showDeleteConfirm=!1)},{default:s(()=>[...e[29]||(e[29]=[r(" 取消 ",-1)])]),_:1}),t(p,{color:"error",variant:"text",loading:i.passwordLoading,onClick:o.deletePassword},{default:s(()=>[...e[30]||(e[30]=[r(" 确认删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(re,{modelValue:i.showVerifyDialog,"onUpdate:modelValue":e[11]||(e[11]=d=>i.showVerifyDialog=d),"max-width":"400",persistent:""},{default:s(()=>[t(E,null,{default:s(()=>[t(we,null,{default:s(()=>[t(K,null,{default:s(()=>[...e[31]||(e[31]=[r("验证密码",-1)])]),_:1}),t(ge,{class:"mt-2"},{default:s(()=>[...e[32]||(e[32]=[r(" 请输入当前密码以继续操作 ",-1)])]),_:1})]),_:1}),t(P,null,{default:s(()=>[t(L,{modelValue:i.verifyForm.password,"onUpdate:modelValue":e[10]||(e[10]=d=>i.verifyForm.password=d),label:"当前密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.verifyLoading,error:!!i.verifyForm.error,"error-messages":i.verifyForm.error,onKeyup:fe(o.verifyPassword,["enter"])},{"prepend-inner":s(()=>[t(f,{icon:"mdi-lock"})]),_:1},8,["modelValue","loading","error","error-messages","onKeyup"])]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{color:"grey-darken-1",variant:"text",onClick:o.cancelVerify,disabled:i.verifyLoading},{default:s(()=>[...e[33]||(e[33]=[r(" 取消 ",-1)])]),_:1},8,["onClick","disabled"]),t(p,{color:"primary",variant:"text",loading:i.verifyLoading,disabled:!i.verifyForm.password,onClick:o.verifyPassword},{default:s(()=>[...e[34]||(e[34]=[r(" 确认 ",-1)])]),_:1},8,["loading","disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[13]||(e[13]=d=>i.showSnackbar=d),timeout:3e3,color:i.snackbarColor,location:"top"},{actions:s(()=>[t(p,{variant:"text",onClick:e[12]||(e[12]=d=>i.showSnackbar=!1)},{default:s(()=>[...e[35]||(e[35]=[r(" 关闭 ",-1)])]),_:1})]),default:s(()=>[r(x(i.snackbarText)+" ",1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])):C("",!0)}const Ht=z(Qs,[["render",Zs]]),$s={name:"KvDatabaseCard",components:{SettingsCard:B},data(){return{loading:!1,loadingData:!1,savingData:!1,deletingData:!1,kvData:[],searchQuery:"",viewDialog:!1,editDialog:!1,deleteDialog:!1,createDialog:!1,cloudUrlDialog:!1,selectedItem:null,editingItem:null,itemToDelete:null,selectedCloudItem:null,gettingCloudUrl:!1,cloudUrlResult:null,cloudUrlError:null,cloudUrlOptions:{migrateFromLocal:!0,autoConfigureCloud:!0},editingData:"",newKey:"",newData:"",tableHeaders:[{title:"键名",key:"key",sortable:!0},{title:"操作",key:"actions",sortable:!1,width:"120px"}]}},computed:{currentProvider(){return k("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"},connectionStatus(){return this.isKvProvider?this.currentProvider==="kv-local"?"本地数据库":"服务器数据库":"当前数据提供者不支持KV数据库管理"},connectionIcon(){return this.isKvProvider?this.currentProvider==="kv-local"?"mdi-database":"mdi-database-sync":"mdi-database-off"},connectionColor(){return this.isKvProvider?"success":"error"},filteredKvData(){return this.searchQuery?this.kvData.filter(n=>n.key.toLowerCase().includes(this.searchQuery.toLowerCase())):this.kvData},isValidJson(){if(!this.editingData)return!0;try{return JSON.parse(this.editingData),!0}catch{return!1}},isValidNewJson(){if(!this.newData)return!0;try{return JSON.parse(this.newData),!0}catch{return!1}},isValidKey(){return!this.newKey||this.newKey.trim()===""?!1:!this.kvData.some(n=>n.key===this.newKey.trim())}},async mounted(){this.isKvProvider&&await this.loadKvData()},methods:{async refreshConnection(){this.loading=!0;try{await new Promise(n=>setTimeout(n,500)),this.$message.success("连接状态已刷新")}catch(n){this.$message.error("刷新失败",n.message)}finally{this.loading=!1}},async loadKvData(){var n;if(!this.isKvProvider){this.$message.warning("当前数据提供者不支持KV数据库管理");return}this.loadingData=!0;try{this.kvData=[];const e=await ie.loadKeys({sortBy:"key",sortDir:"asc",limit:1e3});if(e.success===!1)throw new Error(((n=e.error)==null?void 0:n.message)||"获取键名列表失败");this.kvData=e.keys.map(a=>({key:a,value:null,loaded:!1})),this.$message.success("键名加载完成",`共找到 ${this.kvData.length} 个键,总计 ${e.total_rows} 个键`)}catch(e){this.$message.error("加载数据失败",e.message)}finally{this.loadingData=!1}},async viewItem(n){this.selectedItem=n,this.viewDialog=!0,(!n.loaded||n.value===null)&&await this.loadItemData(n)},async editItem(n){this.editingItem=n,(!n.loaded||n.value===null)&&await this.loadItemData(n),this.editingData=this.formatJsonData(n.value),this.editDialog=!0},async loadItemData(n){try{const e=await ie.loadData(n.key);if(e&&e.success!==!1)n.value=e,n.loaded=!0;else throw new Error("数据加载失败")}catch(e){this.$message.error("加载数据失败",e.message),n.value=null,n.loaded=!1}},closeEditDialog(){this.editDialog=!1,this.editingItem=null,this.editingData=""},createNewItem(){this.newKey="",this.newData=`{ + "example": "value" +}`,this.createDialog=!0},closeCreateDialog(){this.createDialog=!1,this.newKey="",this.newData=""},async saveNewData(){var n;if(!(!this.isValidKey||!this.isValidNewJson)){this.savingData=!0;try{const e=JSON.parse(this.newData),a=this.newKey.trim(),u=await ie.saveData(a,e);if(u&&!u.error)this.kvData.push({key:a,value:e,loaded:!0}),this.$message.success("数据创建成功"),this.closeCreateDialog();else throw new Error(((n=u.error)==null?void 0:n.message)||"创建失败")}catch(e){this.$message.error("创建失败",e.message)}finally{this.savingData=!1}}},async saveEditedData(){var n;if(!(!this.isValidJson||!this.editingItem)){this.savingData=!0;try{const e=JSON.parse(this.editingData),a=await ie.saveData(this.editingItem.key,e);if(a&&!a.error){const u=this.kvData.findIndex(i=>i.key===this.editingItem.key);u!==-1&&(this.kvData[u].value=e,this.kvData[u].loaded=!0),this.$message.success("数据保存成功"),this.closeEditDialog()}else throw new Error(((n=a.error)==null?void 0:n.message)||"保存失败")}catch(e){this.$message.error("保存失败",e.message)}finally{this.savingData=!1}}},confirmDelete(n){this.itemToDelete=n,this.deleteDialog=!0},async deleteItem(){if(this.itemToDelete){this.deletingData=!0;try{this.currentProvider==="kv-local"?await(await vn("ClassworksDB",2)).transaction("kv","readwrite").objectStore("kv").delete(this.itemToDelete.key):await ie.saveData(this.itemToDelete.key,null);const n=this.kvData.findIndex(e=>e.key===this.itemToDelete.key);n!==-1&&this.kvData.splice(n,1),this.$message.success("数据删除成功"),this.deleteDialog=!1,this.itemToDelete=null}catch(n){this.$message.error("删除失败",n.message)}finally{this.deletingData=!1}}},formatJsonData(n){try{return JSON.stringify(n,null,2)}catch{return String(n)}},async copyToClipboard(n){try{const e=this.formatJsonData(n);await navigator.clipboard.writeText(e),this.$message.success("数据已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}},async getCloudUrl(n){this.selectedCloudItem=n,this.cloudUrlResult=null,this.cloudUrlError=null,this.cloudUrlDialog=!0,await this.fetchCloudUrl()},async fetchCloudUrl(){var n;if(this.selectedCloudItem){this.gettingCloudUrl=!0,this.cloudUrlError=null;try{const e=await ie.getKeyCloudUrl(this.selectedCloudItem.key,this.cloudUrlOptions);e.success?(this.cloudUrlResult=e,this.$message.success("云端地址获取成功")):(this.cloudUrlError=((n=e.error)==null?void 0:n.message)||"获取云端地址失败",this.$message.error("获取失败",this.cloudUrlError))}catch(e){this.cloudUrlError=e.message||"获取云端地址时发生错误",this.$message.error("获取失败",this.cloudUrlError)}finally{this.gettingCloudUrl=!1}}},async refreshCloudUrl(){await this.fetchCloudUrl()},async copyCloudUrl(){var n;if((n=this.cloudUrlResult)!=null&&n.url)try{await navigator.clipboard.writeText(this.cloudUrlResult.url),this.$message.success("云端地址已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}},openCloudUrl(){var n;if((n=this.cloudUrlResult)!=null&&n.url)try{window.open(this.cloudUrlResult.url,"_blank")}catch(e){this.$message.error("打开链接失败",e.message)}}}},ei={class:"text-primary"},ti={class:"mt-2"},ni={key:0,class:"mb-2"},si={key:1,class:"mb-2"};function ii(n,e,a,u,i,o){const l=B;return h(),w(l,{title:"KV数据库管理",icon:"mdi-database-edit",loading:i.loading},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{prepend:s(()=>[t(f,{icon:o.connectionIcon,color:o.connectionColor,class:"mr-3"},null,8,["icon","color"])]),append:s(()=>[t(p,{variant:"tonal",onClick:o.refreshConnection,loading:i.loading},{default:s(()=>[...e[18]||(e[18]=[r(" 刷新 ",-1)])]),_:1},8,["onClick","loading"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[17]||(e[17]=[r("数据库状态",-1)])]),_:1}),t(X,null,{default:s(()=>[r(x(o.connectionStatus),1)]),_:1})]),_:1}),t(U,{class:"my-2"}),t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-format-list-bulleted",class:"mr-3"})]),append:s(()=>[t(nt,{variant:"tonal"},{default:s(()=>[t(p,{onClick:o.loadKvData,loading:i.loadingData},{default:s(()=>[...e[20]||(e[20]=[r(" 加载数据 ",-1)])]),_:1},8,["onClick","loading"]),t(p,{onClick:o.createNewItem,disabled:!o.isKvProvider},{default:s(()=>[t(f,{icon:"mdi-plus",class:"mr-1"}),e[21]||(e[21]=r(" 新建 ",-1))]),_:1},8,["onClick","disabled"])]),_:1})]),default:s(()=>[t(R,null,{default:s(()=>[...e[19]||(e[19]=[r("数据条目",-1)])]),_:1}),t(X,null,{default:s(()=>[r("共 "+x(i.kvData.length)+" 条记录",1)]),_:1})]),_:1})]),_:1}),i.kvData.length>0?(h(),w(E,{key:0,class:"mt-4",variant:"outlined"},{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(f,{icon:"mdi-table",class:"mr-2"}),e[22]||(e[22]=r(" KV数据列表 ",-1)),t(Q),t(L,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=c=>i.searchQuery=c),label:"搜索键名","prepend-inner-icon":"mdi-magnify",variant:"outlined",density:"compact","hide-details":"",clearable:"",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1}),t(yt,{headers:i.tableHeaders,items:o.filteredKvData,loading:i.loadingData,"item-value":"key",class:"elevation-0","items-per-page":10},{"item.key":s(({item:c})=>[y("code",ei,x(c.key),1)]),"item.actions":s(({item:c})=>[t(nt,{variant:"text",density:"compact"},{default:s(()=>[t(p,{icon:"mdi-eye",size:"small",onClick:d=>o.viewItem(c),title:"查看"},null,8,["onClick"]),t(p,{icon:"mdi-pencil",size:"small",onClick:d=>o.editItem(c),title:"编辑"},null,8,["onClick"]),t(p,{icon:"mdi-cloud-download",size:"small",color:"primary",onClick:d=>o.getCloudUrl(c),title:"获取云端地址"},null,8,["onClick"]),t(p,{icon:"mdi-delete",size:"small",color:"error",onClick:d=>o.confirmDelete(c),title:"删除"},null,8,["onClick"])]),_:2},1024)]),_:2},1032,["headers","items","loading"])]),_:1})):C("",!0),t(re,{modelValue:i.viewDialog,"onUpdate:modelValue":e[4]||(e[4]=c=>i.viewDialog=c),"max-width":"800px"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(f,{icon:"mdi-eye",class:"mr-2"}),e[23]||(e[23]=r(" 查看数据 ",-1)),t(Q),t(p,{icon:"mdi-close",variant:"text",onClick:e[1]||(e[1]=c=>i.viewDialog=!1)})]),_:1}),i.selectedItem?(h(),w(ge,{key:0},{default:s(()=>[e[24]||(e[24]=r(" 键名: ",-1)),y("code",null,x(i.selectedItem.key),1)]),_:1})):C("",!0),t(P,null,{default:s(()=>[i.selectedItem?(h(),w(Pe,{key:0,"model-value":o.formatJsonData(i.selectedItem.value),label:"数据内容",variant:"outlined",readonly:"",rows:"15",class:"font-monospace"},null,8,["model-value"])):C("",!0)]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{onClick:e[2]||(e[2]=c=>{var d;return o.copyToClipboard((d=i.selectedItem)==null?void 0:d.value)}),variant:"tonal"},{default:s(()=>[t(f,{icon:"mdi-content-copy",class:"mr-1"}),e[25]||(e[25]=r(" 复制数据 ",-1))]),_:1}),t(p,{onClick:e[3]||(e[3]=c=>i.viewDialog=!1),variant:"text"},{default:s(()=>[...e[26]||(e[26]=[r(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(re,{modelValue:i.editDialog,"onUpdate:modelValue":e[6]||(e[6]=c=>i.editDialog=c),"max-width":"800px"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(f,{icon:"mdi-pencil",class:"mr-2"}),e[27]||(e[27]=r(" 编辑数据 ",-1)),t(Q),t(p,{icon:"mdi-close",variant:"text",onClick:o.closeEditDialog},null,8,["onClick"])]),_:1}),i.editingItem?(h(),w(ge,{key:0},{default:s(()=>[e[28]||(e[28]=r(" 键名: ",-1)),y("code",null,x(i.editingItem.key),1)]),_:1})):C("",!0),t(P,null,{default:s(()=>[t(Pe,{modelValue:i.editingData,"onUpdate:modelValue":e[5]||(e[5]=c=>i.editingData=c),label:"数据内容 (JSON格式)",variant:"outlined",rows:"15",class:"font-monospace",error:!o.isValidJson,"error-messages":o.isValidJson?[]:["请输入有效的JSON格式"]},null,8,["modelValue","error","error-messages"])]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{onClick:o.closeEditDialog,variant:"text"},{default:s(()=>[...e[29]||(e[29]=[r(" 取消 ",-1)])]),_:1},8,["onClick"]),t(p,{onClick:o.saveEditedData,variant:"tonal",color:"primary",disabled:!o.isValidJson,loading:i.savingData},{default:s(()=>[...e[30]||(e[30]=[r(" 保存 ",-1)])]),_:1},8,["onClick","disabled","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(re,{modelValue:i.createDialog,"onUpdate:modelValue":e[9]||(e[9]=c=>i.createDialog=c),"max-width":"800px"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(f,{icon:"mdi-plus",class:"mr-2"}),e[31]||(e[31]=r(" 新建数据 ",-1)),t(Q),t(p,{icon:"mdi-close",variant:"text",onClick:o.closeCreateDialog},null,8,["onClick"])]),_:1}),t(P,null,{default:s(()=>[t(L,{modelValue:i.newKey,"onUpdate:modelValue":e[7]||(e[7]=c=>i.newKey=c),label:"键名",variant:"outlined",class:"mb-4",error:!o.isValidKey,"error-messages":o.isValidKey?[]:["键名不能为空且不能与现有键重复"],placeholder:"请输入键名,如:my-config"},null,8,["modelValue","error","error-messages"]),t(Pe,{modelValue:i.newData,"onUpdate:modelValue":e[8]||(e[8]=c=>i.newData=c),label:"数据内容 (JSON格式)",variant:"outlined",rows:"15",class:"font-monospace",error:!o.isValidNewJson,"error-messages":o.isValidNewJson?[]:["请输入有效的JSON格式"],placeholder:'请输入JSON数据,如:{"name": "value"}'},null,8,["modelValue","error","error-messages"])]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{onClick:o.closeCreateDialog,variant:"text"},{default:s(()=>[...e[32]||(e[32]=[r(" 取消 ",-1)])]),_:1},8,["onClick"]),t(p,{onClick:o.saveNewData,variant:"tonal",color:"primary",disabled:!o.isValidKey||!o.isValidNewJson,loading:i.savingData},{default:s(()=>[...e[33]||(e[33]=[r(" 创建 ",-1)])]),_:1},8,["onClick","disabled","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(re,{modelValue:i.cloudUrlDialog,"onUpdate:modelValue":e[14]||(e[14]=c=>i.cloudUrlDialog=c),"max-width":"800px"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(f,{icon:"mdi-cloud-download",class:"mr-2"}),e[34]||(e[34]=r(" 获取云端访问地址 ",-1)),t(Q),t(p,{icon:"mdi-close",variant:"text",onClick:e[10]||(e[10]=c=>i.cloudUrlDialog=!1)})]),_:1}),i.selectedCloudItem?(h(),w(ge,{key:0},{default:s(()=>[e[35]||(e[35]=r(" 键名: ",-1)),y("code",null,x(i.selectedCloudItem.key),1)]),_:1})):C("",!0),t(P,null,{default:s(()=>[i.cloudUrlError?(h(),w(oe,{key:0,type:"error",variant:"tonal",class:"mb-4"},{default:s(()=>[r(x(i.cloudUrlError),1)]),_:1})):C("",!0),i.cloudUrlResult&&i.cloudUrlResult.success?(h(),w(oe,{key:1,type:"success",variant:"tonal",class:"mb-4"},{default:s(()=>[t(We,null,{default:s(()=>[...e[36]||(e[36]=[r("云端地址获取成功",-1)])]),_:1}),y("div",ti,[i.cloudUrlResult.migrated?(h(),N("div",ni,[t(f,{icon:"mdi-database-arrow-up",class:"mr-1",color:"success"}),e[37]||(e[37]=r(" 数据已从本地迁移到云端 ",-1))])):C("",!0),i.cloudUrlResult.configured?(h(),N("div",si,[t(f,{icon:"mdi-cog",class:"mr-1",color:"info"}),e[38]||(e[38]=r(" 云端配置已自动设置 ",-1))])):C("",!0)])]),_:1})):C("",!0),i.cloudUrlResult&&i.cloudUrlResult.url?(h(),w(L,{key:2,"model-value":i.cloudUrlResult.url,label:"云端访问地址",variant:"outlined",readonly:"",class:"font-monospace","append-inner-icon":"mdi-content-copy","onClick:appendInner":o.copyCloudUrl},null,8,["model-value","onClick:appendInner"])):C("",!0),i.cloudUrlResult&&i.cloudUrlResult.url?(h(),w(xt,{key:3,class:"mt-4"},{default:s(()=>[t(Ct,null,{default:s(()=>[t(_t,null,{default:s(()=>[t(f,{icon:"mdi-cog",class:"mr-2"}),e[39]||(e[39]=r(" 高级选项 ",-1))]),_:1}),t(Vt,null,{default:s(()=>[t(st,{modelValue:i.cloudUrlOptions.migrateFromLocal,"onUpdate:modelValue":e[11]||(e[11]=c=>i.cloudUrlOptions.migrateFromLocal=c),label:"从本地迁移数据到云端",density:"compact"},null,8,["modelValue"]),t(st,{modelValue:i.cloudUrlOptions.autoConfigureCloud,"onUpdate:modelValue":e[12]||(e[12]=c=>i.cloudUrlOptions.autoConfigureCloud=c),label:"自动配置云端默认设置",density:"compact"},null,8,["modelValue"]),t(p,{onClick:o.refreshCloudUrl,variant:"tonal",color:"primary",loading:i.gettingCloudUrl,class:"mt-2"},{default:s(()=>[t(f,{icon:"mdi-refresh",class:"mr-1"}),e[40]||(e[40]=r(" 重新获取 ",-1))]),_:1},8,["onClick","loading"])]),_:1})]),_:1})]),_:1})):C("",!0)]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{onClick:e[13]||(e[13]=c=>i.cloudUrlDialog=!1),variant:"text"},{default:s(()=>[...e[41]||(e[41]=[r(" 关闭 ",-1)])]),_:1}),i.cloudUrlResult&&i.cloudUrlResult.url?(h(),w(p,{key:0,onClick:o.openCloudUrl,variant:"tonal",color:"primary"},{default:s(()=>[t(f,{icon:"mdi-open-in-new",class:"mr-1"}),e[42]||(e[42]=r(" 在新窗口打开 ",-1))]),_:1},8,["onClick"])):C("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(re,{modelValue:i.deleteDialog,"onUpdate:modelValue":e[16]||(e[16]=c=>i.deleteDialog=c),"max-width":"400px"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,{class:"d-flex align-center text-error"},{default:s(()=>[t(f,{icon:"mdi-alert",class:"mr-2"}),e[43]||(e[43]=r(" 确认删除 ",-1))]),_:1}),t(P,null,{default:s(()=>{var c;return[e[45]||(e[45]=r(" 确定要删除键名为 ",-1)),y("code",null,x((c=i.itemToDelete)==null?void 0:c.key),1),e[46]||(e[46]=r(" 的数据吗? ",-1)),e[47]||(e[47]=y("br",null,null,-1)),e[48]||(e[48]=y("br",null,null,-1)),t(oe,{type:"warning",variant:"tonal",class:"mt-2"},{default:s(()=>[...e[44]||(e[44]=[r(" 此操作不可撤销,请谨慎操作! ",-1)])]),_:1})]}),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{onClick:e[15]||(e[15]=c=>i.deleteDialog=!1),variant:"text"},{default:s(()=>[...e[49]||(e[49]=[r(" 取消 ",-1)])]),_:1}),t(p,{onClick:o.deleteItem,variant:"tonal",color:"error",loading:i.deletingData},{default:s(()=>[...e[50]||(e[50]=[r(" 删除 ",-1)])]),_:1},8,["onClick","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["loading"])}const Rt=z($s,[["render",ii],["__scopeId","data-v-8316248f"]]),oi={name:"DataProviderSettingsCard",components:{SettingsCard:B},data(){return{loading:!1,serverchecktime:{},confirmDialog:!1,confirmTitle:"",confirmMessage:"",confirmAction:null,machineId:null,migrateLoading:!1}},computed:{currentProvider(){return k("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},async created(){this.machineId=k("device.uuid")},methods:{async checkServerConnection(){this.loading=!0,this.serverchecktime=new Date;try{const n=k("server.domain"),e=k("server.siteKey"),a={Accept:"application/json"};if(e&&(a["x-site-key"]=e),(await bn.get(`${n}/check`,{method:"GET",headers:a})).data.status==="success")this.$message.success("连接成功","服务器连接正常 延迟"+(new Date-this.serverchecktime)+"ms");else throw new Error("服务器响应异常")}catch(n){this.$message.error("连接失败",n.message||"无法连接到服务器")}finally{this.loading=!1}},confirmClearLocalStorage(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有本地存储的数据,确定要继续吗?",this.confirmAction=this.clearLocalStorage,this.confirmDialog=!0},clearLocalStorage(){try{localStorage.clear(),this.$message.success("清除成功","本地存储数据已清除"),this.confirmDialog=!1}catch(n){this.$message.error("清除失败",n.message)}},confirmClearIndexedDB(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有IndexedDB中的数据,确定要继续吗?",this.confirmAction=this.clearIndexedDB,this.confirmDialog=!0},async clearIndexedDB(){try{await window.indexedDB.deleteDatabase("ClassworksDB"),this.$message.success("清除成功","数据库缓存已清除"),this.confirmDialog=!1,this.isKvProvider&&setTimeout(()=>{window.location.reload()},1500)}catch(n){this.$message.error("清除失败",n.message)}},async exportData(){try{const n="ClassworksDB",e={indexedDB:{}},a=await new Promise((d,g)=>{const S=window.indexedDB.open(n);S.onerror=()=>g(S.error),S.onsuccess=()=>d(S.result)}),u=Array.from(a.objectStoreNames);for(const d of u){const S=a.transaction(d,"readonly").objectStore(d),I=await new Promise((J,M)=>{const G=S.getAll();G.onerror=()=>M(G.error),G.onsuccess=()=>J(G.result)});e.indexedDB[d]=I}const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),o=URL.createObjectURL(i),l=document.createElement("a"),c=new Date().toISOString().split("T")[0];l.href=o,l.download=`homework-indexeddb-${c}.json`,l.click(),URL.revokeObjectURL(o),this.$message.success("导出成功","IndexedDB数据已导出")}catch(n){console.error("导出失败:",n),this.$message.error("导出失败",n.message||"无法导出数据库数据")}},async migrateData(){this.migrateLoading=!0,this.$router.push("/datamigration"),this.migrateLoading=!1},handleConfirm(){this.confirmAction&&this.confirmAction()}}};function ai(n,e,a,u,i,o){const l=B;return h(),w(l,{title:"数据源设置",icon:"mdi-database-cog"},{default:s(()=>[t(H,null,{default:s(()=>[o.currentProvider==="kv-server"||o.currentProvider==="classworkscloud"?(h(),w(D,{key:0},{prepend:s(()=>[t(f,{icon:"mdi-lan-connect",class:"mr-3"})]),append:s(()=>[t(p,{loading:i.loading,variant:"tonal",onClick:o.checkServerConnection},{default:s(()=>[...e[3]||(e[3]=[r(" 测试连接 ",-1)])]),_:1},8,["loading","onClick"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[2]||(e[2]=[r("检查服务器连接",-1)])]),_:1})]),_:1})):C("",!0),o.currentProvider==="kv-local"?(h(),N(ee,{key:1},[t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-database",class:"mr-3"})]),append:s(()=>[t(p,{color:"error",variant:"tonal",onClick:o.confirmClearIndexedDB},{default:s(()=>[...e[6]||(e[6]=[r(" 清除 ",-1)])]),_:1},8,["onClick"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[4]||(e[4]=[r("清除数据库缓存",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[5]||(e[5]=[r("这将清除所有本地数据库中的数据",-1)])]),_:1})]),_:1}),t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-database-export",class:"mr-3"})]),append:s(()=>[t(p,{variant:"tonal",onClick:o.exportData},{default:s(()=>[...e[8]||(e[8]=[r(" 导出 ",-1)])]),_:1},8,["onClick"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[7]||(e[7]=[r("导出数据库",-1)])]),_:1})]),_:1})],64)):C("",!0),t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-database-import",class:"mr-3"})]),append:s(()=>[t(p,{loading:i.migrateLoading,variant:"tonal",onClick:o.migrateData},{default:s(()=>[...e[11]||(e[11]=[r(" 迁移 ",-1)])]),_:1},8,["loading","onClick"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[9]||(e[9]=[r("迁移旧数据",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[10]||(e[10]=[r("将旧的存储格式数据转移到新的KV存储",-1)])]),_:1})]),_:1}),t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-identifier",class:"mr-3"})]),default:s(()=>[t(R,null,{default:s(()=>[...e[12]||(e[12]=[r("本机唯一标识符",-1)])]),_:1}),i.machineId?(h(),w(X,{key:0},{default:s(()=>[r(x(i.machineId),1)]),_:1})):(h(),w(X,{key:1},{default:s(()=>[...e[13]||(e[13]=[r("正在加载...",-1)])]),_:1}))]),_:1}),t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-lan-connect",class:"mr-3"})]),append:s(()=>[t(p,{variant:"tonal",to:"/cachemanagement"},{default:s(()=>[...e[15]||(e[15]=[r(" 查看 ",-1)])]),_:1})]),default:s(()=>[t(R,null,{default:s(()=>[...e[14]||(e[14]=[r("查看本地缓存",-1)])]),_:1})]),_:1})]),_:1}),t(re,{modelValue:i.confirmDialog,"onUpdate:modelValue":e[1]||(e[1]=c=>i.confirmDialog=c),"max-width":"400"},{default:s(()=>[t(E,null,{default:s(()=>[t(K,null,{default:s(()=>[r(x(i.confirmTitle),1)]),_:1}),t(P,null,{default:s(()=>[r(x(i.confirmMessage),1)]),_:1}),t($,null,{default:s(()=>[t(Q),t(p,{color:"grey",variant:"text",onClick:e[0]||(e[0]=c=>i.confirmDialog=!1)},{default:s(()=>[...e[16]||(e[16]=[r("取消",-1)])]),_:1}),t(p,{color:"error",variant:"tonal",onClick:o.handleConfirm},{default:s(()=>[...e[17]||(e[17]=[r("确认",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const zt=z(oi,[["render",ai]]),ri={name:"ServerSettingsCard",components:{SettingsCard:B,SettingItem:ve},props:{loading:Boolean},data(){return{}},computed:{currentProvider(){return k("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"},isClassworksCloud(){return this.currentProvider==="classworkscloud"},useServer(){return this.currentProvider==="server"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}}},li={key:0};function ui(n,e,a,u,i,o){const l=ve,c=B;return h(),w(c,{title:"数据源设置",icon:"mdi-database",loading:a.loading},{default:s(()=>[t(Le,null,{default:s(()=>[t(l,{"setting-key":"server.provider",title:"数据提供者"}),o.isKvProvider?(h(),w(oe,{key:0,type:"info",variant:"tonal",class:"my-2"},{default:s(()=>[t(We,null,{default:s(()=>[...e[0]||(e[0]=[r("KV 存储系统",-1)])]),_:1}),e[2]||(e[2]=y("p",null,"KV存储系统使用本机唯一标识符(UUID)来区分不同设备的数据。",-1)),o.currentProvider==="kv-server"?(h(),N("p",li,[...e[1]||(e[1]=[r(" 服务器端点格式: ",-1),y("code",null,"http(s)://服务器域名/",-1),y("br",null,null,-1),r(" 在服务器域名处仅填写基础URL,不需要任何路径。 ",-1)])])):C("",!0)]),_:1})):C("",!0),o.isClassworksCloud?(h(),w(oe,{key:1,type:"info",color:"success",variant:"tonal",class:"my-2"},{default:s(()=>[t(We,null,{default:s(()=>[...e[3]||(e[3]=[r("Classworks云端存储",-1)])]),_:1}),e[4]||(e[4]=y("p",null,"Classworks云端存储是官方提供的存储解决方案,自动配置了最优的访问设置。",-1)),e[5]||(e[5]=y("p",null,"使用此选项时,服务器域名和网站令牌将自动配置,无需手动设置。",-1))]),_:1})):C("",!0),t(U,{class:"my-2"}),t(l,{"setting-key":"server.domain",title:"服务器域名",disabled:o.isClassworksCloud},null,8,["disabled"]),t(U,{class:"my-2"}),t(l,{"setting-key":"server.classNumber",title:"班号"}),t(U,{class:"my-2"}),t(l,{"setting-key":"server.siteKey",title:"网站令牌",disabled:o.isClassworksCloud},{description:s(()=>[...e[6]||(e[6]=[r(" 用于后端验证请求的安全令牌。如需要,请从系统管理员获取。 ",-1)])]),_:1},8,["disabled"]),o.useServer?(h(),w(oe,{key:2,type:"info",variant:"tonal",class:"my-2"},{default:s(()=>[t(f,{icon:"mdi-information-outline",class:"mr-2"}),e[7]||(e[7]=y("span",null,[r("网站令牌将作为 "),y("code",null,"x-site-key"),r(" 请求头发送给服务器,用于验证请求的合法性。如果您的服务器需要此验证,请在上方输入有效的令牌。")],-1))]),_:1})):C("",!0),t(U,{class:"my-2"}),t(l,{"setting-key":"device.uuid",title:"设备UUID"})]),_:1})]),_:1},8,["loading"])}const Jt=z(ri,[["render",ui]]),di={name:"Settings",components:{ServerSettingsCard:Jt,EditSettingsCard:At,RefreshSettingsCard:Ft,DisplaySettingsCard:Ot,MessageLog:dt,SettingsCard:B,StudentListCard:Kt,AboutCard:It,DataProviderSettingsCard:zt,ThemeSettingsCard:Lt,EchoChamberCard:Tt,SettingsExplorer:Et,SettingsLinkGenerator:Bt,NamespaceSettingsCard:Ht,RandomPickerCard:jt,HomeworkTemplateCard:Ut,SubjectManagementCard:Pt,KvDatabaseCard:Rt},setup(){const{mobile:n}=kn();return{isMobile:n}},data(){const n=k("server.provider"),e=n==="kv-server"||n==="classworkscloud";return{settings:{server:{domain:k("server.domain"),classNumber:k("server.classNumber"),provider:k("server.provider")},namespace:{name:k("namespace.name"),accessType:k("namespace.accessType"),password:k("namespace.password")},refresh:{auto:k("refresh.auto"),interval:k("refresh.interval")},font:{size:k("font.size")},edit:{autoSave:k("edit.autoSave"),blockNonTodayAutoSave:k("edit.blockNonTodayAutoSave"),confirmNonTodaySave:k("edit.confirmNonTodaySave"),refreshBeforeEdit:k("edit.refreshBeforeEdit")},display:{emptySubjectDisplay:k("display.emptySubjectDisplay"),dynamicSort:k("display.dynamicSort"),showRandomButton:k("display.showRandomButton"),showFullscreenButton:k("display.showFullscreenButton")},developer:{enabled:k("developer.enabled"),showDebugConfig:k("developer.showDebugConfig")},message:{showSidebar:k("message.showSidebar"),maxActiveMessages:k("message.maxActiveMessages"),timeout:k("message.timeout"),saveHistory:k("message.saveHistory")}},dataProviders:[{title:"服务器",value:"server"},{title:"本地数据库",value:"indexedDB"}],studentData:{list:[],text:"",advanced:!1},newStudent:"",editingIndex:-1,editingName:"",deleteDialog:!1,studentToDelete:null,numberDialog:!1,newPosition:"",studentToMove:null,touchStartTime:0,touchTimeout:null,studentsLoading:!1,studentsError:null,debugConfig:"",loading:{server:!1,students:!1},hasUnsavedChanges:!1,lastSavedData:null,settingsTab:"index",settingsTabs:[{title:"首页",icon:"mdi-home",value:"index"},{title:"服务器",icon:"mdi-server",value:"server"},...e?[{title:"命名空间",icon:"mdi-database-lock",value:"namespace"}]:[],{title:"科目",icon:"mdi-book-edit",value:"subject"},{title:"学生列表",icon:"mdi-account-group",value:"student"},{title:"分享设置",icon:"mdi-share",value:"share"},{title:"刷新",icon:"mdi-refresh",value:"refresh"},{title:"编辑",icon:"mdi-pencil",value:"edit"},{title:"显示",icon:"mdi-eye",value:"display"},{title:"主题",icon:"mdi-theme-light-dark",value:"theme"},{title:"随机点名",icon:"mdi-dice-multiple",value:"randomPicker"},{title:"开发者",icon:"mdi-developer-board",value:"developer"},{title:"关于",icon:"mdi-information",value:"about"}],drawer:!1}},watch:{settings:{handler(n){this.handleSettingsChange(n)},deep:!0},isMobile:{handler(n){this.drawer=!n},immediate:!0},studentData:{handler(n){this.lastSavedData&&(this.hasUnsavedChanges=JSON.stringify(n.list)!==JSON.stringify(this.lastSavedData)),this.studentData.text=n.list.join(` +`)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatchSettings=wt(()=>{this.loadAllSettings()}),this.drawer=!this.isMobile},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings()},methods:{loadAllSettings(){Object.keys(this.settings).forEach(n=>{Object.keys(this.settings[n]).forEach(e=>{this.settings[n][e]=k(`${n}.${e}`)})})},handleSettingsChange(n){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{Object.entries(n).forEach(([e,a])=>{Object.entries(a).forEach(([u,i])=>{const o=`${e}.${u}`,l=k(o);i!==l&&(qe(o,i)?this.showMessage("设置已更新",`${o} 已保存`):(this.showError("保存失败",`${o} 设置失败`),this.settings[e][u]=l))})})},100)},showMessage(n,e="",a="success"){this.$message[a](n,e)},showError(n,e=""){this.$message.error(n,e)},saveEdit(){if(this.editingIndex!==-1){const n=this.editingName.trim();n&&n!==this.studentData.list[this.editingIndex]&&(this.studentData.list[this.editingIndex]=n),this.editingIndex=-1,this.editingName=""}},startEdit(n,e){this.editingIndex=n,this.editingName=e},confirmDelete(n){this.studentToDelete={index:n,name:this.studentData.list[n]},this.deleteDialog=!0},moveStudent(n,e){const a=e==="up"?n-1:n+1;a>=0&&a=0&&n0){const e=this.studentData.list[n];this.studentData.list.splice(n,1),this.studentData.list.unshift(e)}},addStudent(){const n=this.newStudent.trim();n&&!this.studentData.list.includes(n)&&(this.studentData.list.push(n),this.newStudent="")},removeStudent(n){n!==void 0&&(this.studentData.list.splice(n,1),this.deleteDialog=!1,this.studentToDelete=null)},resetFontSize(){pt("font.size"),this.settings.font.size=k("font.size"),this.showMessage("字体已重置","字体大小已恢复默认值")},handleDeveloperChange(n){n||(this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0})},resetDeveloperSettings(){this.settings.developer={enabled:!1},this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0},this.handleSettingsChange(this.settings),this.showMessage("已重置","开发者设置已重置为默认值","warning")},adjustFontSize(n){const a=this.settings.font.size;n==="up"&&a<100?this.settings.font.size=a+2:n==="down"&&a>16&&(this.settings.font.size=a-2),this.handleSettingsChange(this.settings)},onSettingsSaved(){this.showMessage("设置已更新","您的设置已成功保存")},onSettingUpdate(n,e){this.showMessage("设置已更新",`${n} 已保存为 ${e}`)}}},ci={class:"settings-page"};function mi(n,e,a,u,i,o){const l=Jt,c=zt,d=Rt,g=Ht,S=Kt,I=Bt,J=Ft,M=At,G=Ot,de=Lt,be=jt,pe=Pt,te=Ut,ke=B,Y=yn("developer-settings-card"),ne=Et,ce=It,ye=Tt,ae=dt;return h(),N("div",ci,[t(_n,{elevation:"1"},{prepend:s(()=>[t(p,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=O=>n.$router.push("/"))}),t(p,{icon:"mdi-menu",variant:"text",onClick:e[1]||(e[1]=O=>i.drawer=!i.drawer),class:"d-md-none"})]),default:s(()=>[t(Cn,{class:"text-h6"},{default:s(()=>[...e[5]||(e[5]=[r("设置",-1)])]),_:1})]),_:1}),t(St,{fluid:""},{default:s(()=>[t(nn,{modelValue:i.drawer,"onUpdate:modelValue":e[2]||(e[2]=O=>i.drawer=O),permanent:!u.isMobile,temporary:u.isMobile},{default:s(()=>[t(H,null,{default:s(()=>[(h(!0),N(ee,null,le(i.settingsTabs,O=>(h(),w(D,{key:O.value,onClick:Te=>i.settingsTab=O.value,active:i.settingsTab===O.value,"prepend-icon":O.icon,class:"rounded-e-xl",color:i.settingsTab===O.value?"primary":"default"},{default:s(()=>[t(R,null,{default:s(()=>[r(x(O.title),1)]),_:2},1024)]),_:2},1032,["onClick","active","prepend-icon","color"]))),128))]),_:1})]),_:1},8,["modelValue","permanent","temporary"]),t(Tn,{modelValue:i.settingsTab,"onUpdate:modelValue":e[4]||(e[4]=O=>i.settingsTab=O),style:{width:"100%"},direction:"vertical"},{default:s(()=>[t(Z,{value:"index"},{default:s(()=>[t(E,{title:"Classworks",subtitle:"设置",class:"rounded-xl",border:""},{default:s(()=>[t(P,null,{default:s(()=>[t(oe,{color:"error",variant:"tonal",icon:"mdi-alert-circle",class:"rounded-xl"},{default:s(()=>[...e[6]||(e[6]=[r("Classworks 是开源免费的软件,官方没有提供任何形式的付费支持服务,源代码仓库地址在 ",-1),y("a",{href:"https://github.com/ZeroCatDev/Classworks",target:"_blank"},"https://github.com/ZeroCatDev/Classworks",-1),r("。如果您通过有偿协助等付费方式取得本应用,在遇到问题时请在与卖家约定的服务框架下,优先向卖家求助。如果卖家没有提供您预期的服务,请退款或通过其它形式积极维护您的合法权益。",-1)])]),_:1}),t(oe,{class:"mt-4 rounded-xl",color:"info",variant:"tonal",icon:"mdi-information"},{default:s(()=>[...e[7]||(e[7]=[r("请不要使用浏览器清除缓存功能,否则会导致配置丢失。",-1),y("del",null,"恶意的操作可能导致您受到贵校教师的处理",-1)])]),_:1}),t(oe,{class:"mt-4 rounded-xl",color:"warning",variant:"tonal",icon:"mdi-information"},{default:s(()=>[e[9]||(e[9]=y("p",null," 请不要使用包括但不限于360极速浏览器、360安全浏览器、夸克浏览器、QQ浏览器等浏览器使用 Classworks ,这些浏览器过时且存在严重的一致性问题。在Windows上,使用新版 Microsoft Edge 浏览器是最推荐的选择。 ",-1)),e[10]||(e[10]=y("p",{style:{color:"#666"}}," 上述浏览器商标为其所属公司所有,Classworks™ 与上述浏览器所属公司暂无竞争关系。 ",-1)),e[11]||(e[11]=y("br",null,null,-1)),t(p,{href:"https://www.microsoft.com/zh-cn/windows/microsoft-edge",target:"_blank",color:"warning",variant:"tonal",class:"text-none rounded-xl","append-icon":"mdi-open-in-new"},{default:s(()=>[...e[8]||(e[8]=[r("下载 Microsoft Edge(微软边缘浏览器)",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(Z,{value:"server"},{default:s(()=>[t(l,{border:"",loading:i.loading.server,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"]),t(c,{border:"",class:"mt-4"}),t(d,{border:"",class:"mt-4"})]),_:1}),t(Z,{value:"namespace"},{default:s(()=>[t(g,{border:"",loading:i.loading.namespace,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"student"},{default:s(()=>[t(S,{border:"","is-mobile":u.isMobile},null,8,["is-mobile"])]),_:1}),t(Z,{value:"share"},{default:s(()=>[t(I,{border:"",class:"mt-4"})]),_:1}),t(Z,{value:"refresh"},{default:s(()=>[t(J,{border:"",loading:i.loading.refresh,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"edit"},{default:s(()=>[t(M,{border:"",loading:i.loading.edit,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"display"},{default:s(()=>[t(G,{border:"",loading:i.loading.display,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"theme"},{default:s(()=>[t(de,{border:"",loading:i.loading.theme,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"randomPicker"},{default:s(()=>[t(be,{border:"","is-mobile":u.isMobile},null,8,["is-mobile"])]),_:1}),t(Z,{value:"subject"},{default:s(()=>[t(pe,{border:""}),e[12]||(e[12]=r()),e[13]||(e[13]=y("br",null,null,-1)),t(te,{border:""})]),_:1}),t(Z,{value:"developer"},{default:s(()=>[t(ke,{border:"",title:"开发者选项",icon:"mdi-developer-board"},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{prepend:s(()=>[t(f,{icon:"mdi-code-tags",class:"mr-3"})]),append:s(()=>[t(vt,{modelValue:i.settings.developer.enabled,"onUpdate:modelValue":e[3]||(e[3]=O=>i.settings.developer.enabled=O),density:"comfortable","hide-details":"",onChange:o.handleDeveloperChange},null,8,["modelValue","onChange"])]),default:s(()=>[t(R,null,{default:s(()=>[...e[14]||(e[14]=[r("启用开发者选项",-1)])]),_:1}),t(X,null,{default:s(()=>[...e[15]||(e[15]=[r("启用后可以查看和修改开发者设置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(Y,{border:"",loading:i.loading.developer,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"]),i.settings.developer.enabled?(h(),w(E,{key:0,border:"",class:"mt-4 rounded-lg"},{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(f,{icon:"mdi-cog-outline",class:"mr-2"}),e[16]||(e[16]=r(" 所有设置 ",-1))]),_:1}),t(ge,null,{default:s(()=>[...e[17]||(e[17]=[r(" 浏览和修改所有可用设置 ",-1)])]),_:1}),t(P,null,{default:s(()=>[t(ne,{onUpdate:o.onSettingUpdate},null,8,["onUpdate"])]),_:1})]),_:1})):C("",!0),i.settings.developer.enabled?(h(),w(ue,{key:1,cols:"12"})):C("",!0)]),_:1}),t(Z,{value:"about"},{default:s(()=>[t(ce),t(ye,{border:"",class:"mt-4"})]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(ae,{ref:"messageLog"},null,512)])}const Ti=z(di,[["render",mi]]);export{Ti as default}; diff --git a/assets/settings-BMmWdDen.css b/assets/settings-Bu2v050q.css similarity index 93% rename from assets/settings-BMmWdDen.css rename to assets/settings-Bu2v050q.css index 88146e4..0b9caf9 100644 --- a/assets/settings-BMmWdDen.css +++ b/assets/settings-Bu2v050q.css @@ -1 +1 @@ -.settings-card[data-v-3e8918ff]{height:100%}.source-text[data-v-5c15976c],.contributor[data-v-5c15976c]{opacity:.7;font-size:.9em}.fade-enter-active[data-v-5c15976c],.fade-leave-active[data-v-5c15976c]{transition:opacity .3s ease}.fade-enter-from[data-v-5c15976c],.fade-leave-to[data-v-5c15976c]{opacity:0}.setting-item[data-v-c47b37f3]{border-radius:8px;transition:background-color .2s}.setting-text-field[data-v-c47b37f3],.setting-select[data-v-c47b37f3],.setting-number-field[data-v-c47b37f3]{min-width:180px;border-radius:6px}.text-wrap[data-v-c47b37f3]{white-space:normal;overflow-wrap:break-word;word-break:break-word}@media (max-width: 600px){.setting-item[data-v-c47b37f3]{flex-wrap:wrap}}.settings-explorer[data-v-da09fd0e]{padding:8px 0}.settings-json[data-v-da09fd0e]{background-color:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.v-theme--dark .settings-json[data-v-da09fd0e]{background-color:#ffffff0d}.setting-group[data-v-ca48ce62]{margin-bottom:16px}.v-card-text[data-v-261bf98e]{padding-top:0}.v-list-item[data-v-7077623d]{border-bottom:1px solid rgba(0,0,0,.12)}.v-list-item[data-v-7077623d]:last-child{border-bottom:none}.warning-container[data-v-0668f179]{display:inline-block;margin-right:8px}.warning-chip[data-v-0668f179]{animation:fade-in-0668f179 .3s ease}@keyframes fade-in-0668f179{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.student-card[data-v-fe47d12d]{transition:all .2s ease}.action-buttons[data-v-fe47d12d]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-fe47d12d]{border-color:rgb(var(--v-theme-warning))!important}.font-monospace[data-v-336c7576]{font-family:Consolas,Monaco,Courier New,monospace}code[data-v-336c7576]{background-color:#0000000d;padding:2px 4px;border-radius:4px;font-size:.875em}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.settings-page .v-card{transition:transform .2s,box-shadow .2s}.settings-page .v-card:hover{box-shadow:0 4px 8px #0000001a!important} +.settings-card[data-v-3e8918ff]{height:100%}.source-text[data-v-5c15976c],.contributor[data-v-5c15976c]{opacity:.7;font-size:.9em}.fade-enter-active[data-v-5c15976c],.fade-leave-active[data-v-5c15976c]{transition:opacity .3s ease}.fade-enter-from[data-v-5c15976c],.fade-leave-to[data-v-5c15976c]{opacity:0}.setting-item[data-v-c47b37f3]{border-radius:8px;transition:background-color .2s}.setting-text-field[data-v-c47b37f3],.setting-select[data-v-c47b37f3],.setting-number-field[data-v-c47b37f3]{min-width:180px;border-radius:6px}.text-wrap[data-v-c47b37f3]{white-space:normal;overflow-wrap:break-word;word-break:break-word}@media (max-width: 600px){.setting-item[data-v-c47b37f3]{flex-wrap:wrap}}.settings-explorer[data-v-da09fd0e]{padding:8px 0}.settings-json[data-v-da09fd0e]{background-color:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.v-theme--dark .settings-json[data-v-da09fd0e]{background-color:#ffffff0d}.setting-group[data-v-ca48ce62]{margin-bottom:16px}.v-card-text[data-v-261bf98e]{padding-top:0}.v-list-item[data-v-7077623d]{border-bottom:1px solid rgba(0,0,0,.12)}.v-list-item[data-v-7077623d]:last-child{border-bottom:none}.warning-container[data-v-0668f179]{display:inline-block;margin-right:8px}.warning-chip[data-v-0668f179]{animation:fade-in-0668f179 .3s ease}@keyframes fade-in-0668f179{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.student-card[data-v-fe47d12d]{transition:all .2s ease}.action-buttons[data-v-fe47d12d]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-fe47d12d]{border-color:rgb(var(--v-theme-warning))!important}.font-monospace[data-v-8316248f]{font-family:Consolas,Monaco,Courier New,monospace}code[data-v-8316248f]{background-color:#0000000d;padding:2px 4px;border-radius:4px;font-size:.875em}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.settings-page .v-card{transition:transform .2s,box-shadow .2s}.settings-page .v-card:hover{box-shadow:0 4px 8px #0000001a!important} diff --git a/assets/settings-CiB_D7vP.js b/assets/settings-CiB_D7vP.js deleted file mode 100644 index 4fd6269..0000000 --- a/assets/settings-CiB_D7vP.js +++ /dev/null @@ -1,9 +0,0 @@ -import{p as et,_ as lt,a as ut,V as Zt}from"./index-WOogkXEw.js";import{_ as J,j as w,o as m,w as s,d as t,B as V,b3 as we,q as K,t as r,C as x,v as b,z as j,b4 as Le,b5 as dt,av as se,l as N,i as y,b6 as Xt,at as ct,aD as ht,W as ze,b7 as $t,y as p,au as P,aq as H,ar as D,aw as z,ax as Z,H as ce,x as W,A as L,F as $,G as oe,b8 as mt,k,s as qe,b9 as en,E as Je,as as Oe,ba as Pe,aA as pt,az as Re,ap as ye,ao as ae,bb as tn,b1 as fe,b2 as De,aG as nn,D as sn,g as wt,p as ft,c as on,n as an,e as Qe,aM as rn,h as ln,S as un,bc as dn,bd as cn,be as hn,a_ as Ke,bf as Ee,a$ as mn,al as tt,bg as pn,r as wn,aB as fn}from"./index-DmGr2YjE.js";import{V as he}from"./VChip-Cb9zLh7n.js";import{a as Se,V as re}from"./VRow-2V1J5F3c.js";import{b as gn,c as vn,V as bn,a as yn}from"./VAppBarTitle-caQbgffg.js";import{V as gt}from"./VSwitch-Cqv0EiRW.js";import{b as vt,V as bt}from"./VDataTable-DAMkWB1R.js";import{V as A,f as kn,g as Sn}from"./VTextField-C4kOar5O.js";import{V as yt}from"./VMenu-BNxvK6X3.js";import{V as me,a as nt}from"./VAlert-BGPbp463.js";import{V as kt}from"./VContainer-D6AyJkGG.js";import{V as xn,a as Cn,b as _n,c as Vn}from"./VExpansionPanels-D9y3oi3n.js";import{V as je}from"./VTextarea-GxradEKI.js";import{b as Dn,a as X}from"./VTabsWindowItem-CevZz8wf.js";import"./VCheckboxBtn-vttsGEHT.js";const Tn={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function In(n,e,a,u,i,o){return m(),w(N,{elevation:"2",class:"settings-card rounded-lg"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(b,{icon:a.icon,size:"large",class:"mr-2"},null,8,["icon"])]),default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[r(x(a.title),1)]),_:1})]),_:1}),t(j,null,{default:s(()=>[a.loading?(m(),w(dt,{key:0,indeterminate:"",color:"primary",class:"mb-4"})):V("",!0),Le(n.$slots,"default",{},void 0,!0)]),_:3}),n.$slots.actions?(m(),w(se,{key:0,class:"pa-4"},{default:s(()=>[Le(n.$slots,"actions",{},void 0,!0)]),_:3})):V("",!0)]),_:3})}const M=J(Tn,[["render",In],["__scopeId","data-v-3e8918ff"]]);var Nn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function En(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var St={exports:{}};(function(n,e){(function(a,u){n.exports=u()})(typeof self<"u"?self:Nn,()=>(()=>{var a={3146:(l,h,d)=>{for(var f=d(3491),S=typeof window>"u"?d.g:window,I=["moz","webkit"],R="AnimationFrame",U=S["request"+R],G=S["cancel"+R]||S["cancelRequest"+R],le=0;!U&&le{var h=l&&l.__esModule?()=>l.default:()=>l;return i.d(h,{a:h}),h},i.d=(l,h)=>{for(var d in h)i.o(h,d)&&!i.o(l,d)&&Object.defineProperty(l,d,{enumerable:!0,get:h[d]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(l,h)=>Object.prototype.hasOwnProperty.call(l,h);var o={};return(()=>{i.d(o,{default:()=>Ht});var l=i(3146),h=i.n(l);const d=function(_){return new RegExp(/<[a-z][\s\S]*>/i).test(_)},f=function(_,g){return Math.floor(Math.random()*(g-_+1))+_};var S="TYPE_CHARACTER",I="REMOVE_CHARACTER",R="REMOVE_ALL",U="REMOVE_LAST_VISIBLE_NODE",G="PAUSE_FOR",le="CALL_FUNCTION",ve="ADD_HTML_TAG_ELEMENT",pe="CHANGE_DELETE_SPEED",ee="CHANGE_DELAY",ke="CHANGE_CURSOR",Y="PASTE_STRING",te="HTML_TAG";function ue(_){return ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},ue(_)}function be(_,g){var T=Object.keys(_);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(_);g&&(C=C.filter(function(de){return Object.getOwnPropertyDescriptor(_,de).enumerable})),T.push.apply(T,C)}return T}function ie(_){for(var g=1;g_.length)&&(g=_.length);for(var T=0,C=Array(g);T1&&arguments[1]!==void 0?arguments[1]:null;if(d(v))return c.typeOutHTMLString(v,E);if(v){var Q=(c.options||{}).stringSplitter,q=typeof Q=="function"?Q(v):v.split("");c.typeCharacters(q,E)}return c}),F(this,"pasteString",function(v){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return d(v)?c.typeOutHTMLString(v,E,!0):(v&&c.addEventToQueue(Y,{character:v,node:E}),c)}),F(this,"typeOutHTMLString",function(v){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,Q=arguments.length>2?arguments[2]:void 0,q=function(Ce){var _e=document.createElement("div");return _e.innerHTML=Ce,_e.childNodes}(v);if(q.length>0)for(var B=0;B0&&arguments[0]!==void 0?arguments[0]:"natural";return c.addEventToQueue(R,{speed:v}),c}),F(this,"changeDeleteSpeed",function(v){if(!v)throw new Error("Must provide new delete speed");return c.addEventToQueue(pe,{speed:v}),c}),F(this,"changeDelay",function(v){if(!v)throw new Error("Must provide new delay");return c.addEventToQueue(ee,{delay:v}),c}),F(this,"changeCursor",function(v){if(!v)throw new Error("Must provide new cursor");return c.addEventToQueue(ke,{cursor:v}),c}),F(this,"deleteChars",function(v){if(!v)throw new Error("Must provide amount of characters to delete");for(var E=0;E1&&arguments[1]!==void 0?arguments[1]:null;if(!v||!Array.isArray(v))throw new Error("Characters must be an array");return v.forEach(function(Q){c.addEventToQueue(S,{character:Q,node:E})}),c}),F(this,"removeCharacters",function(v){if(!v||!Array.isArray(v))throw new Error("Characters must be an array");return v.forEach(function(){c.addEventToQueue(I)}),c}),F(this,"addEventToQueue",function(v,E){var Q=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return c.addEventToStateProperty(v,E,Q,"eventQueue")}),F(this,"addReverseCalledEvent",function(v,E){var Q=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return c.options.loop?c.addEventToStateProperty(v,E,Q,"reverseCalledEvents"):c}),F(this,"addEventToStateProperty",function(v,E){var Q=arguments.length>2&&arguments[2]!==void 0&&arguments[2],q=arguments.length>3?arguments[3]:void 0,B={eventName:v,eventArgs:E||{}};return c.state[q]=Q?[B].concat(O(c.state[q])):[].concat(O(c.state[q]),[B]),c}),F(this,"runEventLoop",function(){c.state.lastFrameTime||(c.state.lastFrameTime=Date.now());var v=Date.now(),E=v-c.state.lastFrameTime;if(!c.state.eventQueue.length){if(!c.options.loop)return;c.state.eventQueue=O(c.state.calledEvents),c.state.calledEvents=[],c.options=ie({},c.state.initialOptions)}if(c.state.eventLoop=h()(c.runEventLoop),!c.state.eventLoopPaused){if(c.state.pauseUntil){if(v({typewriter:null,sourceWriter:null,currentQuote:ot,hasClicked:!1}),mounted(){this.initTypewriters()},methods:{initTypewriters(){this.typewriter=new st(this.$refs.typewriter,at.main),this.sourceWriter=new st(this.$refs.sourceWriter,at.source),this.typeQuote(ot)},typeQuote(n){this.typewriter.deleteAll(30).typeString(n.text).start(),n.author&&this.sourceWriter.deleteAll(20).typeString(n.author).start()},async handleClick(){this.hasClicked||(this.hasClicked=!0),await this.copyToClipboard(),this.currentQuote=this.getRandomQuote(),this.typeQuote(this.currentQuote)},getRandomQuote(){return it.quotes[Math.floor(Math.random()*it.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:n,author:e,contributor:a,link:u}=this.currentQuote,i=[n,e&&`作者:${e}`,a&&`贡献者:${a}`,(u||a)&&`来源:${u||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` -`))}catch(o){console.error("复制失败:",o)}}},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(n=>n==null?void 0:n.stop())}},An={ref:"typewriter",class:"typewriter-text"},On={ref:"sourceWriter",class:"source-text"};function Fn(n,e,a,u,i,o){const l=M;return m(),w(l,{border:"",title:"回声洞",icon:"mdi-thought-bubble",onClick:o.handleClick},{default:s(()=>[t(j,null,{default:s(()=>[y("div",An,null,512),y("div",On,null,512)]),_:1}),t(Xt,{name:"fade"},{default:s(()=>{var h;return[(h=n.currentQuote)!=null&&h.contributor?(m(),w(he,{key:0,class:"contributor"},{default:s(()=>[t(ct,{start:""},{default:s(()=>[t(ht,{src:`https://github.com/${n.currentQuote.contributor}.png`},null,8,["src"])]),_:1}),r(" "+x(n.currentQuote.contributor),1)]),_:1})):V("",!0)]}),_:1})]),_:1},8,["onClick"])}const xt=J(Ln,[["render",Fn],["__scopeId","data-v-5c15976c"]]),Bn="Classworks",Mn="module",Un="0.0.0",Kn={dev:"vite --host",build:"vite build",preview:"vite preview",lint:"eslint . --fix"},Hn={"@mdi/font":"7.4.47","@microsoft/clarity":"^1.0.0",axios:"^1.8.4",idb:"^8.0.2","js-base64":"^3.7.7","js-yaml":"^4.1.0","pinyin-pro":"^3.26.0","ratelimit-header-parser":"^0.1.0","roboto-fontface":"*","typewriter-effect":"^2.21.0",uuid:"^9.0.1",vue:"^3.4.31",vuetify:"^3.8.0"},zn={"@eslint/js":"^9.14.0","@vite-pwa/assets-generator":"^1.0.0","@vitejs/plugin-vue":"^5.2.3",eslint:"^9.14.0","eslint-plugin-import":"^2.29.1","eslint-plugin-n":"^16.6.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^6.4.0","eslint-plugin-vue":"^9.30.0",pinia:"^3.0.1",sass:"1.86.3","sass-embedded":"^1.86.3","unplugin-auto-import":"^19.1.2","unplugin-fonts":"^1.3.1","unplugin-vue-components":"^28.4.1","unplugin-vue-router":"^0.12.0",vite:"^5.4.17","vite-plugin-pwa":"^1.0.0","vite-plugin-vue-layouts":"^0.11.0","vite-plugin-vuetify":"^2.1.1","vue-router":"^4.5.0"},rt={name:Bn,private:!0,type:Mn,version:Un,scripts:Kn,dependencies:Hn,devDependencies:zn},Jn={name:"AboutCard",setup(){const n=ze([]),e=ze(!1),a=()=>{try{const i={...rt.dependencies||{},...rt.devDependencies||{}},o=Object.entries(i).map(([l,h])=>({name:l,version:h.replace(/[\^~]/g,""),description:u(l)}));n.value=o}catch(i){console.error("加载依赖信息失败:",i),n.value=[]}},u=i=>({vue:"渐进式 JavaScript 框架",vuetify:"材料设计组件框架",axios:"Promise 基础的 HTTP 客户端",pinia:"Vue 状态管理库","vue-router":"Vue.js 官方路由管理器","@vitejs/plugin-vue":"Vite 的 Vue 插件"})[i]||"";return $t(()=>{a()}),{Dependencies:n,showDeps:e}}},Rn={class:"d-flex flex-column align-start"},Qn={class:"d-flex gap-2 flex-wrap mb-6"},qn={class:"text-caption text-medium-emphasis"};function Wn(n,e,a,u,i,o){return m(),w(N,{border:""},{default:s(()=>[t(we,null,{prepend:s(()=>[t(b,{icon:"mdi-information",size:"large",class:"mr-2"})]),default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[...e[3]||(e[3]=[r("关于",-1)])]),_:1})]),_:1}),t(j,null,{default:s(()=>[t(Se,null,{default:s(()=>[t(re,{cols:"12",md:"8",class:"mx-auto"},{default:s(()=>[y("div",Rn,[t(ct,{size:"120",class:"mb-4"},{default:s(()=>[t(ht,{src:"https://github.com/SunWuyuan.png",alt:"Sunwuyuan"})]),_:1}),e[20]||(e[20]=y("h2",{class:"text-h5 mb-2"},"Classworks",-1)),e[21]||(e[21]=y("p",{class:"text-body-1 mb-4"},"适用于班级大屏的作业板小工具",-1)),y("div",Qn,[t(p,{color:"red",variant:"tonal",href:"https://github.com/ClassworksDev/Classworks/issues",target:"_blank","prepend-icon":"mdi-bug"},{default:s(()=>[...e[4]||(e[4]=[r(" 报告问题 ",-1)])]),_:1}),t(p,{color:"primary",variant:"tonal",href:"https://qm.qq.com/q/qNBX4ZZVeg",target:"_blank","prepend-icon":"mdi-qqchat"},{default:s(()=>[...e[5]||(e[5]=[r(" QQ 群 ",-1)])]),_:1}),t(p,{variant:"text",href:"https://github.com/ClassworksDev/Classworks",target:"_blank","prepend-icon":"mdi-github"},{default:s(()=>[...e[6]||(e[6]=[r(" 前端 ",-1)])]),_:1}),t(p,{variant:"text",href:"https://github.com/ClassworksDev/ClassworksServer",target:"_blank","prepend-icon":"mdi-github"},{default:s(()=>[...e[7]||(e[7]=[r(" 后端 ",-1)])]),_:1})]),t(P,{class:"mb-4 w-100"}),e[22]||(e[22]=y("h3",{class:"text-h6 mb-2"},"备注与致谢",-1)),t(H,{class:"mb-4 bg-transparent"},{default:s(()=>[t(D,{href:"https://github.com/EnderWolf006/HomeworkBoard",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(z,null,{default:s(()=>[...e[8]||(e[8]=[r(" 本项目受到 HomeworkBoard 的启发而开发 ",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[9]||(e[9]=[r(" 感谢 EnderWolf006 (@EnderWolf) fhzit(@Hellofhz) KeyFac 等人的贡献 ",-1)])]),_:1})]),_:1}),t(D,{href:"https://hlyun.org",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(z,null,{default:s(()=>[...e[10]||(e[10]=[r(" Classworks 由",-1),y("strong",null,"厚浪云",-1),r("提供 ",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[11]||(e[11]=[r(" 长江后浪推前浪 浮事新人换旧人 ",-1)])]),_:1})]),_:1}),t(D,{href:"https://zerocat.houlangs.com",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(z,null,{default:s(()=>[...e[12]||(e[12]=[r(" 感谢 ZeroCat 社区的开发者们 ",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[13]||(e[13]=[r(" 新一代,开源,编程社区 ",-1)])]),_:1})]),_:1}),t(P,{class:"ma-1"}),t(D,{href:"https://github.com/HUSX100/IslandCaller",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(z,null,{default:s(()=>[...e[14]||(e[14]=[r(" 本项目与 IslandCaller 没有从属关系 ",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[15]||(e[15]=[r(" IslandCaller 是由 HUSX100 开发的基于 ClassIsland 提醒服务的轻量级点名器 ",-1)])]),_:1})]),_:1}),t(D,{href:"https://classisland.tech",target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(z,null,{default:s(()=>[...e[16]||(e[16]=[r(" 本项目与 ClassIsland 没有从属关系 ",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[17]||(e[17]=[r(" ClassIsland 是由 HelloWRC 开发的适用于班级大屏的课表信息显示工具 ",-1)])]),_:1})]),_:1})]),_:1}),t(p,{variant:"text",class:"mb-4","prepend-icon":"mdi-package-variant",onClick:e[0]||(e[0]=l=>u.showDeps=!0)},{default:s(()=>[...e[18]||(e[18]=[r(" 查看使用的第三方库 ",-1)])]),_:1}),t(ce,{modelValue:u.showDeps,"onUpdate:modelValue":e[2]||(e[2]=l=>u.showDeps=l),transition:"dialog-bottom-transition",fullscreen:""},{default:s(()=>[t(N,null,{default:s(()=>[t(gn,null,{default:s(()=>[t(p,{icon:"mdi-close",onClick:e[1]||(e[1]=l=>u.showDeps=!1)}),t(vn,null,{default:s(()=>[...e[19]||(e[19]=[r("使用的第三方库",-1)])]),_:1}),t(W)]),_:1}),t(j,null,{default:s(()=>[t(H,null,{default:s(()=>[(m(!0),L($,null,oe(u.Dependencies,l=>(m(),w(D,{key:l.name,href:"https://www.npmjs.com/package/"+l.name,target:"_blank","append-icon":"mdi-link"},{default:s(()=>[t(z,null,{default:s(()=>[r(x(l.name),1)]),_:2},1024),t(Z,null,{default:s(()=>[r(" v"+x(l.version),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),y("p",qn," Copyright © "+x(new Date().getFullYear())+" Sunwuyuan ",1)])]),_:1})]),_:1})]),_:1})]),_:1})}const Ct=J(Jn,[["render",Wn]]),Gn={name:"SettingItem",props:{settingKey:{type:String,required:!0},icon:{type:String,default:null},disabled:{type:Boolean,default:!1},title:{type:String,default:null},description:{type:String,default:null}},data(){return{localValue:null,definition:null,type:null,selectOptions:[],hasOptions:!1,minValue:0,maxValue:100,stepValue:1,showSnackbar:!1,snackbarText:"",fontFamilies:[{title:"Arial",value:"Arial, sans-serif"},{title:"Calibri",value:"Calibri, sans-serif"},{title:"Cambria",value:"Cambria, serif"},{title:"Consolas",value:"Consolas, monospace"},{title:"Courier New",value:"Courier New, monospace"},{title:"Georgia",value:"Georgia, serif"},{title:"Helvetica",value:"Helvetica, sans-serif"},{title:"Segoe UI",value:"Segoe UI, sans-serif"},{title:"Times New Roman",value:"Times New Roman, serif"},{title:"Trebuchet MS",value:"Trebuchet MS, sans-serif"},{title:"Verdana",value:"Verdana, sans-serif"},{title:"Monospace",value:"monospace"},{title:"Sans-serif",value:"sans-serif"},{title:"Serif",value:"serif"}],displayValueMappings:{"display.emptySubjectDisplay":{card:"卡片",button:"按钮"},"theme.mode":{light:"浅色",dark:"深色"},"server.provider":{classworkscloud:"Classworks云端存储","kv-local":"KV本地存储","kv-server":"KV远程服务器"}},defaultIcons:{boolean:"mdi-toggle-switch-outline",number:"mdi-numeric",string:"mdi-form-textbox"}}},computed:{displayTitle(){if(this.title)return this.title;if(this.definition&&this.definition.description)return this.definition.description;const n=this.settingKey.split(".");return n[n.length-1]},displayDescription(){return this.description?this.description:this.settingKey},isFontFamily(){return this.settingKey.toLowerCase().includes("fontfamily")||this.settingKey.toLowerCase().includes("font.family")},isDefaultValue(){return this.definition?typeof this.localValue=="object"&&this.localValue!==null?JSON.stringify(this.localValue)===JSON.stringify(this.definition.default):this.localValue===this.definition.default:!0},settingIcon(){return this.icon?this.icon:this.definition&&this.definition.icon?this.definition.icon:this.defaultIcons[this.type]||"mdi-cog-outline"}},created(){this.loadSetting()},methods:{loadSetting(){if(this.definition=en(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=k(this.settingKey),this.type==="string"){if(this.isFontFamily)this.selectOptions=this.fontFamilies,this.hasOptions=!0;else if(this.settingKey in this.displayValueMappings){const n=this.displayValueMappings[this.settingKey];this.selectOptions=Object.entries(n).map(([e,a])=>({title:a,value:e})),this.hasOptions=!0}else if(this.definition.validate){const e=this.definition.validate.toString().match(/\[(.*?)\]/);if(e){const u=e[1].split(",").map(i=>{const o=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(o)||o,value:o}});u.length>0&&(this.selectOptions=u,this.hasOptions=!0)}}}if(this.type==="number"&&this.definition.validate){const n=this.definition.validate.toString(),e=n.match(/value\s*>=\s*(\d+)/);e&&(this.minValue=Number(e[1]));const a=n.match(/value\s*<=\s*(\d+)/);a&&(this.maxValue=Number(a[1]));const u=this.maxValue-this.minValue;u>100?this.stepValue=10:u>20?this.stepValue=5:u>10?this.stepValue=2:this.stepValue=1}},getDisplayValue(n){return this.settingKey in this.displayValueMappings&&this.displayValueMappings[this.settingKey][n]||n},updateSetting(n){let e=n;this.type==="boolean"?e=!!n:this.type==="number"&&(e=Number(n),ethis.maxValue&&(e=this.maxValue)),qe(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=k(this.settingKey),this.$emit("error",this.settingKey))},adjustValue(n){if(this.type!=="number")return;const e=this.localValue+n;e>=this.minValue&&e<=this.maxValue&&(this.localValue=e,this.updateSetting(e))},copySettingId(){navigator.clipboard.writeText(this.settingKey).then(()=>{this.showSnackbarMessage("设置ID已复制到剪贴板")}).catch(n=>{console.error("复制失败:",n)})},copySettingValue(){let n="";typeof this.localValue=="object"&&this.localValue!==null?n=JSON.stringify(this.localValue):n=String(this.localValue),navigator.clipboard.writeText(n).then(()=>{this.showSnackbarMessage("设置值已复制到剪贴板")}).catch(e=>{console.error("复制失败:",e)})},resetToDefault(){this.definition&&(mt(this.settingKey),this.localValue=k(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(n){this.snackbarText=n,this.showSnackbar=!0}}},Yn={class:"text-caption text-grey-darken-1"},Zn={class:"d-flex flex-column flex-sm-row align-center"},Xn={key:0,class:"me-2"},$n={key:2,class:"d-flex align-center"},es={key:0,class:"px-4 pb-2 pt-0"};function ts(n,e,a,u,i,o){return m(),L($,null,[t(D,{class:"setting-item",disabled:a.disabled},{prepend:s(()=>[t(b,{icon:o.settingIcon},null,8,["icon"])]),append:s(()=>[y("div",Zn,[i.type!=="string"||i.hasOptions?(m(),L("div",Xn,[i.type==="boolean"?(m(),w(gt,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=l=>i.localValue=l),o.updateSetting],density:"comfortable","hide-details":"",disabled:a.disabled},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(m(),w(vt,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=l=>i.localValue=l),o.updateSetting],items:i.selectOptions,density:"compact","hide-details":"",disabled:a.disabled,class:"setting-select",variant:"outlined","bg-color":"surface","item-title":"title","item-value":"value"},null,8,["modelValue","items","disabled","onUpdate:modelValue"])):i.type==="number"?(m(),L("div",$n,[t(p,{icon:"mdi-minus",size:"small",variant:"text",disabled:a.disabled||i.localValue<=i.minValue,onClick:e[2]||(e[2]=l=>o.adjustValue(-i.stepValue))},null,8,["disabled"]),t(A,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=l=>i.localValue=l),o.updateSetting],modelModifiers:{number:!0},type:"number",density:"compact","hide-details":"",min:i.minValue,max:i.maxValue,step:i.stepValue,disabled:a.disabled,class:"mx-2 setting-number-field",style:{width:"80px"},variant:"outlined","bg-color":"surface"},null,8,["modelValue","min","max","step","disabled","onUpdate:modelValue"]),t(p,{icon:"mdi-plus",size:"small",variant:"text",disabled:a.disabled||i.localValue>=i.maxValue,onClick:e[4]||(e[4]=l=>o.adjustValue(i.stepValue))},null,8,["disabled"])])):V("",!0)])):V("",!0),t(yt,{location:"bottom"},{activator:s(({props:l})=>[t(p,Je({icon:"mdi-dots-vertical",size:"small",variant:"text"},l,{class:"ml-2",disabled:a.disabled}),null,16,["disabled"])]),default:s(()=>[t(H,{density:"compact"},{default:s(()=>[t(D,{onClick:o.copySettingId},{prepend:s(()=>[t(b,{icon:"mdi-key",size:"small"})]),default:s(()=>[t(z,null,{default:s(()=>[...e[7]||(e[7]=[r("复制设置ID",-1)])]),_:1})]),_:1},8,["onClick"]),t(D,{onClick:o.copySettingValue},{prepend:s(()=>[t(b,{icon:"mdi-content-copy",size:"small"})]),default:s(()=>[t(z,null,{default:s(()=>[...e[8]||(e[8]=[r("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(P),t(D,{onClick:o.resetToDefault,disabled:o.isDefaultValue},{prepend:s(()=>[t(b,{icon:"mdi-restore",size:"small"})]),default:s(()=>[t(z,null,{default:s(()=>[...e[9]||(e[9]=[r("重置为默认值",-1)])]),_:1})]),_:1},8,["onClick","disabled"])]),_:1})]),_:1})])]),default:s(()=>[t(z,{class:"text-wrap"},{default:s(()=>[r(x(o.displayTitle),1)]),_:1}),t(Z,{class:"d-flex align-center text-wrap"},{default:s(()=>[y("span",Yn,x(a.settingKey),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(m(),L("div",es,[t(A,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=l=>i.localValue=l),o.updateSetting],density:"compact","hide-details":"",disabled:a.disabled,class:"setting-text-field mt-1",variant:"outlined","bg-color":"surface"},null,8,["modelValue","disabled","onUpdate:modelValue"])])):V("",!0),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=l=>i.showSnackbar=l),timeout:2e3,color:"success",location:"top"},{default:s(()=>[r(x(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const ge=J(Gn,[["render",ts],["__scopeId","data-v-c47b37f3"]]),ns={name:"SettingsExplorer",components:{SettingItem:ge},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return k("developer.enabled")},allSettings(){var e;const n=[];for(const[a,u]of Object.entries(Re))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=u.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||n.push({key:a,...u});return n},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=pt(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Pe()},onSettingUpdate(n,e){this.$emit("update",n,e),this.updateCurrentSettings()},onSettingError(n){this.$emit("error",n)},copySettingsToClipboard(){navigator.clipboard.writeText(JSON.stringify(this.currentSettings)).then(()=>{this.$emit("message",{type:"success",text:"设置已复制到剪贴板"})}).catch(n=>{console.error("复制到剪贴板失败:",n),this.$emit("message",{type:"error",text:"复制到剪贴板失败"})})}}},ss={class:"settings-explorer"},is={class:"settings-json"};function os(n,e,a,u,i,o){const l=ge;return m(),L("div",ss,[y("div",null,[t(A,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=h=>i.searchQuery=h),label:"搜索设置","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"comfortable",class:"mb-4"},null,8,["modelValue"]),t(H,null,{default:s(()=>[(m(!0),L($,null,oe(o.allSettings,h=>(m(),L("div",{key:h.key},[(m(),w(l,{key:h.key,"setting-key":h.key,disabled:h.requireDeveloper&&!o.isDeveloperMode,onUpdate:o.onSettingUpdate,onError:o.onSettingError},null,8,["setting-key","disabled","onUpdate","onError"])),t(P,{class:"my-2"})]))),128))]),_:1}),t(N,{border:""},{default:s(()=>[t(K,{class:"text-subtitle-1"},{default:s(()=>[...e[1]||(e[1]=[r("当前配置",-1)])]),_:1}),t(j,null,{default:s(()=>[y("pre",is,x(o.formattedSettings),1)]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{onClick:o.copySettingsToClipboard},{default:s(()=>[e[3]||(e[3]=r(" 复制到剪贴板 ",-1)),t(b,{right:""},{default:s(()=>[...e[2]||(e[2]=[r("mdi-content-copy",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1})])])}const _t=J(ns,[["render",os],["__scopeId","data-v-da09fd0e"]]),as={name:"SettingGroup",props:{title:{type:String,default:null},description:{type:String,default:null},icon:{type:String,default:null},border:{type:Boolean,default:!1}},methods:{onSettingUpdate(n,e){this.$emit("update",n,e)},onSettingError(n){this.$emit("error",n)}}};function rs(n,e,a,u,i,o){return m(),w(N,{border:a.border,class:"setting-group"},{default:s(()=>[a.title?(m(),w(K,{key:0,class:"d-flex align-center"},{default:s(()=>[a.icon?(m(),w(b,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):V("",!0),r(" "+x(a.title),1)]),_:1})):V("",!0),a.description?(m(),w(ye,{key:1},{default:s(()=>[r(x(a.description),1)]),_:1})):V("",!0),t(j,null,{default:s(()=>[t(H,null,{default:s(()=>[Le(n.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),n.$slots.actions?(m(),w(se,{key:2},{default:s(()=>[Le(n.$slots,"actions",{},void 0,!0)]),_:3})):V("",!0)]),_:3},8,["border"])}const Vt=J(as,[["render",rs],["__scopeId","data-v-ca48ce62"]]),ls={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},us={name:"HomeworkTemplateCard",components:{SettingsCard:M,SettingGroup:Vt},data(){return{loading:!1,error:null,config:tn(JSON.parse(JSON.stringify(ls))),originalConfig:null,newSubject:"",newCommonBook:"",newAction:"",newTask:"",editedSubjects:{},editedBookTypes:{},newBookTypes:{},newBooks:{},showSnackbar:!1,snackbarText:"",snackbarColor:"success",isNewConfig:!0,dialog:{show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",bookType:"",originalName:"",tasks:[]}}}},computed:{subjectList(){return Object.keys(this.config.subjects)},hasChanges(){return this.isNewConfig?!0:this.originalConfig&&JSON.stringify(this.config)!==JSON.stringify(this.originalConfig)}},created(){this.loadConfig()},methods:{async loadConfig(){var n,e;this.loading=!0;try{const a=await ae.loadData("classworks-config-homework-template");if(a){const u=a;Object.assign(this.config,u),this.originalConfig=JSON.parse(JSON.stringify(u)),this.isNewConfig=!1,this.showMessage("配置已加载","success")}else if(((n=a.error)==null?void 0:n.code)==="NOT_FOUND")this.showMessage("使用默认配置","info"),this.isNewConfig=!0;else{const u=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${u},可继续编辑当前配置`,"warning")}}catch(a){console.error("Failed to load config:",a),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const n=await ae.saveData("classworks-config-homework-template",this.config);if(n)this.originalConfig=JSON.parse(JSON.stringify(this.config)),this.isNewConfig=!1,this.showMessage("配置已保存","success");else throw new Error(n||"保存失败")}catch(n){console.error("Failed to save config:",n),this.showMessage(`保存失败: ${n.message},请稍后重试`,"error")}this.loading=!1},showMessage(n,e="success"){this.snackbarText=n,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){this.newSubject&&(this.config.subjects[this.newSubject]||(this.config.subjects[this.newSubject]={books:{}}),this.newSubject="")},updateSubject(n){const e=this.editedSubjects[n];if(e&&e!==n){const a=this.config.subjects[n];this.config.subjects[e]=a,delete this.config.subjects[n]}delete this.editedSubjects[n]},deleteSubject(n){delete this.config.subjects[n]},addBookType(n){const e=this.newBookTypes[n];e&&(this.config.subjects[n].books[e]||(this.config.subjects[n].books[e]=[]),this.newBookTypes[n]="")},updateBookType(n,e){const a=`${n}-${e}`,u=this.editedBookTypes[a];if(u&&u!==e){const i=this.config.subjects[n].books[e];this.config.subjects[n].books[u]=i,delete this.config.subjects[n].books[e]}delete this.editedBookTypes[a]},deleteBookType(n,e){n==="common"?delete this.config.commonSubject.books[e]:delete this.config.subjects[n].books[e]},addBook(n,e){const a=`${n}-${e}`,u=this.newBooks[a];u&&(this.config.subjects[n].books[e].includes(u)||this.config.subjects[n].books[e].push(u),this.newBooks[a]="")},removeBook(n,e,a){const u=this.config.subjects[n].books[e],i=u.indexOf(a);i>-1&&u.splice(i,1)},addCommonBook(){this.newCommonBook&&(this.config.commonSubject.books[this.newCommonBook]||(this.config.commonSubject.books[this.newCommonBook]=[]),this.newCommonBook="")},removeCommonBook(n){delete this.config.commonSubject.books[n]},addAction(){this.newAction&&(this.config.actions.includes(this.newAction)||this.config.actions.push(this.newAction),this.newAction="")},removeAction(n){const e=this.config.actions.indexOf(n);e>-1&&this.config.actions.splice(e,1)},openBookDialog(n,e,a){this.dialog.show=!0,this.dialog.title="编辑需完成部分",this.dialog.nameLabel="部分名称",this.dialog.editedItem={name:a,type:"book",subject:n,bookType:e,originalName:a,tasks:this.config.subjects[n].books[e]}},openCommonBookDialog(n){this.dialog.show=!0,this.dialog.title="编辑通用作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:n,type:"commonBook",originalName:n,tasks:Array.isArray(this.config.commonSubject.books[n])?[...this.config.commonSubject.books[n]]:[]}},openActionDialog(n){this.dialog={show:!0,title:"编辑操作",nameLabel:"操作名称",editedItem:{name:n,type:"action",originalName:n,tasks:[]}}},addTask(){this.newTask&&(this.dialog.editedItem.tasks||(this.dialog.editedItem.tasks=[]),this.dialog.editedItem.tasks.push(this.newTask),this.newTask="")},removeTask(n){this.dialog.editedItem.tasks.splice(n,1)},openSubjectBookDialog(n,e,a){this.dialog.show=!0,this.dialog.title=n==="common"?"编辑通用作业本":"编辑作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:e,type:"subjectBook",subject:n,originalName:e,tasks:Array.isArray(a)?[...a]:[]}},saveDialog(){const{type:n,name:e,subject:a,originalName:u,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let o;const l=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(n){case"subjectBook":l&&(u!==e?(l[e]=i||[],delete l[u]):l[e]=i||[]);break;case"action":o=this.config.actions.indexOf(u),o>-1&&(this.config.actions[o]=e);break}this.closeDialog()},closeDialog(){this.dialog={show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",originalName:"",tasks:[]}},this.newTask=""}}},ds={class:"d-flex justify-space-between align-center mb-6"};function cs(n,e,a,u,i,o){const l=Vt,h=M;return m(),w(h,{title:"作业模板配置",icon:"mdi-book-edit",loading:i.loading,border:""},{default:s(()=>[i.error?(m(),w(me,{key:0,type:"error",variant:"tonal",closable:"",class:"mb-4"},{default:s(()=>[r(x(i.error),1)]),_:1})):V("",!0),y("div",ds,[y("div",null,[t(p,{color:"primary",size:"large","prepend-icon":"mdi-refresh",loading:i.loading,onClick:o.loadConfig,class:"mr-2"},{default:s(()=>[...e[7]||(e[7]=[r(" 重新加载配置 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{color:"success",size:"large","prepend-icon":"mdi-content-save",loading:i.loading,onClick:o.saveConfig},{default:s(()=>[...e[8]||(e[8]=[r(" 保存所有更改 ",-1)])]),_:1},8,["loading","onClick"])]),o.hasChanges?(m(),w(he,{key:0,color:"warning",variant:"elevated"},{default:s(()=>[...e[9]||(e[9]=[r(" 有未保存的更改 ",-1)])]),_:1})):V("",!0)]),t(Se,null,{default:s(()=>[t(re,{cols:"12",md:"6"},{default:s(()=>[t(l,{title:"科目配置",icon:"mdi-book",border:""},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{default:s(()=>[t(A,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=d=>i.newSubject=d),label:"添加新科目",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addSubject,onKeyup:fe(o.addSubject,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),(m(!0),L($,null,oe(o.subjectList,d=>(m(),w(D,{key:d},{default:s(()=>[t(N,{border:"",class:"w-100 mb-2"},{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(A,{modelValue:i.editedSubjects[d],"onUpdate:modelValue":f=>i.editedSubjects[d]=f,placeholder:d,density:"comfortable",variant:"plain","hide-details":"",onBlur:f=>o.updateSubject(d)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(W),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:f=>o.deleteSubject(d)},null,8,["onClick"])]),_:2},1024),t(j,null,{default:s(()=>[t(A,{modelValue:i.newBookTypes[d],"onUpdate:modelValue":f=>i.newBookTypes[d]=f,label:"添加作业本名称",variant:"outlined",density:"comfortable",class:"mb-2","append-inner-icon":"mdi-plus","onClick:appendInner":()=>o.addBookType(d),onKeyup:fe(()=>o.addBookType(d),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(H,{density:"compact",border:"",rounded:""},{default:s(()=>[(m(!0),L($,null,oe(i.config.subjects[d].books,(f,S)=>(m(),w(D,{key:S,title:S,onClick:I=>o.openSubjectBookDialog(d,S,f)},{prepend:s(()=>[t(b,{icon:"mdi-book-open-variant",class:"mr-2"})]),append:s(()=>[t(he,{size:"small",class:"mr-2",color:"info"},{default:s(()=>[r(x(f.length)+"个部分 ",1)]),_:2},1024),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:De(()=>o.deleteBookType(d,S),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(re,{cols:"12",md:"6"},{default:s(()=>[t(l,{title:"通用配置",icon:"mdi-cog",border:""},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{default:s(()=>[t(A,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=d=>i.newCommonBook=d),label:"添加作业本名称",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addCommonBook,onKeyup:fe(o.addCommonBook,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(D,null,{default:s(()=>[t(H,{density:"compact",border:"",rounded:""},{default:s(()=>[(m(!0),L($,null,oe(i.config.commonSubject.books,(d,f)=>(m(),w(D,{key:f,title:f,onClick:S=>o.openSubjectBookDialog("common",f,d)},{prepend:s(()=>[t(b,{icon:"mdi-book-multiple",class:"mr-2"})]),append:s(()=>[t(he,{size:"small",class:"mr-2",color:"info"},{default:s(()=>[r(x(d.length)+"个部分 ",1)]),_:2},1024),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:De(()=>o.deleteBookType("common",f),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(P,{class:"my-2"}),t(D,null,{default:s(()=>[t(A,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=d=>i.newAction=d),label:"添加操作",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addAction,onKeyup:fe(o.addAction,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(D,null,{default:s(()=>[t(H,{density:"compact",border:"",rounded:""},{default:s(()=>[(m(!0),L($,null,oe(i.config.actions,d=>(m(),w(D,{key:d,title:d,onClick:f=>o.openActionDialog(d)},{append:s(()=>[t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:De(f=>o.removeAction(d),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(ce,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=d=>i.dialog.show=d),"max-width":"600px"},{default:s(()=>[t(N,null,{default:s(()=>[t(K,{class:"text-h5 pa-4"},{default:s(()=>[r(x(i.dialog.title),1)]),_:1}),t(j,null,{default:s(()=>[t(kt,null,{default:s(()=>[t(Se,null,{default:s(()=>[t(re,{cols:"12"},{default:s(()=>[t(A,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=d=>i.dialog.editedItem.name=d),label:i.dialog.nameLabel,variant:"outlined",density:"comfortable",rules:[d=>!!d||"名称不能为空"]},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(m(),w(re,{key:0,cols:"12"},{default:s(()=>[e[10]||(e[10]=y("div",{class:"text-subtitle-2 mb-2"},"所属科目",-1)),t(he,{color:"primary"},{default:s(()=>[r(x(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):V("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(m(),w(re,{key:1,cols:"12"},{default:s(()=>[t(N,{variant:"outlined"},{default:s(()=>[t(K,{class:"text-subtitle-1 py-2"},{default:s(()=>[...e[11]||(e[11]=[r("需完成部分",-1)])]),_:1}),t(j,{class:"pt-0"},{default:s(()=>[t(H,{density:"compact",border:"",rounded:"",class:"mb-2"},{default:s(()=>[(m(!0),L($,null,oe(i.dialog.editedItem.tasks,(d,f)=>(m(),w(D,{key:f},{prepend:s(()=>[t(b,{icon:"mdi-checkbox-blank-circle-outline",size:"small",class:"mr-2"})]),append:s(()=>[t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:S=>o.removeTask(f)},null,8,["onClick"])]),default:s(()=>[t(A,{modelValue:i.dialog.editedItem.tasks[f],"onUpdate:modelValue":S=>i.dialog.editedItem.tasks[f]=S,variant:"plain",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(A,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=d=>i.newTask=d),label:"添加需完成部分",variant:"outlined",density:"comfortable","append-inner-icon":"mdi-plus","onClick:appendInner":o.addTask,onKeyup:fe(o.addTask,["enter"]),class:"mt-2"},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1})]),_:1})]),_:1})):V("",!0)]),_:1})]),_:1})]),_:1}),t(se,{class:"pa-4"},{default:s(()=>[t(W),t(p,{color:"primary",variant:"elevated",onClick:o.saveDialog},{default:s(()=>[...e[12]||(e[12]=[r(" 关闭 ",-1)])]),_:1},8,["onClick"]),t(p,{color:"error",variant:"text",onClick:o.closeDialog},{default:s(()=>[...e[13]||(e[13]=[r(" 取消 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=d=>i.showSnackbar=d),color:i.snackbarColor,timeout:3e3},{default:s(()=>[r(x(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Dt=J(us,[["render",cs],["__scopeId","data-v-261bf98e"]]),hs={name:"SubjectManagementCard",components:{SettingsCard:M},data(){return{loading:!1,error:null,subjects:[],originalSubjects:null,newSubjectName:"",showSnackbar:!1,snackbarText:"",snackbarColor:"success",defaultSubjects:[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}]}},computed:{hasChanges(){return this.originalSubjects&&JSON.stringify(this.subjects)!==JSON.stringify(this.originalSubjects)}},created(){this.loadConfig()},methods:{async loadConfig(){this.loading=!0;try{const n=await ae.loadData("classworks-config-subject");n?(this.subjects=n.map((e,a)=>({name:e.name,order:e.order??a})).sort((e,a)=>e.order-a.order),this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已加载","success")):(this.subjects=[],this.originalSubjects=[],this.showMessage("使用默认配置","info"))}catch(n){console.error("Failed to load config:",n),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const n=await ae.saveData("classworks-config-subject",this.subjects);if(n)this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已保存","success");else throw new Error(n||"保存失败")}catch(n){console.error("Failed to save config:",n),this.showMessage(`保存失败: ${n.message},请稍后重试`,"error")}this.loading=!1},showMessage(n,e="success"){this.snackbarText=n,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){if(!this.newSubjectName)return;const n={name:this.newSubjectName,order:this.subjects.length};this.subjects.push(n),this.newSubjectName=""},updateSubject(n){const e=this.subjects.findIndex(a=>a.order===n.order);e>-1&&(this.subjects[e]={...n})},deleteSubject(n){const e=this.subjects.findIndex(a=>a.order===n.order);e>-1&&(this.subjects.splice(e,1),this.subjects.forEach((a,u)=>{a.order=u}))},moveSubject(n,e){const a=n+e;if(a>=0&&a{i.order=o})}},resetToDefault(){this.subjects=JSON.parse(JSON.stringify(this.defaultSubjects)),this.showMessage("已重置为默认科目列表","info")}}},ms={class:"d-flex justify-space-between align-center mb-6"},ps={class:"d-flex flex-column align-center mr-2"};function ws(n,e,a,u,i,o){const l=M;return m(),w(l,{title:"科目管理",icon:"mdi-book-multiple",loading:i.loading,border:""},{default:s(()=>[i.error?(m(),w(me,{key:0,type:"error",variant:"tonal",closable:"",class:"mb-4"},{default:s(()=>[r(x(i.error),1)]),_:1})):V("",!0),y("div",ms,[y("div",null,[t(p,{variant:"text",color:"primary",size:"large","prepend-icon":"mdi-refresh",loading:i.loading,onClick:o.loadConfig,class:"mr-2"},{default:s(()=>[...e[2]||(e[2]=[r(" 重新加载 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{color:"success",size:"large","prepend-icon":"mdi-content-save",loading:i.loading,onClick:o.saveConfig},{default:s(()=>[...e[3]||(e[3]=[r(" 保存 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{variant:"text","prepend-icon":"mdi-restore",loading:i.loading,onClick:o.resetToDefault,class:"mr-2"},{default:s(()=>[...e[4]||(e[4]=[r(" 重置为默认 ",-1)])]),_:1},8,["loading","onClick"])]),o.hasChanges?(m(),w(he,{key:0,color:"warning",variant:"elevated"},{default:s(()=>[...e[5]||(e[5]=[r(" 有未保存的更改 ",-1)])]),_:1})):V("",!0)]),t(N,{class:"mb-4",variant:"outlined"},{default:s(()=>[t(j,null,{default:s(()=>[t(Se,null,{default:s(()=>[t(re,{cols:"12",sm:"6"},{default:s(()=>[t(A,{modelValue:i.newSubjectName,"onUpdate:modelValue":e[0]||(e[0]=h=>i.newSubjectName=h),label:"科目名称",variant:"outlined",density:"comfortable",rules:[h=>!!h||"科目名称不能为空"],onKeyup:fe(o.addSubject,["enter"]),"append-inner-icon":"mdi-plus","onClick:appendInner":o.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(N,{variant:"outlined"},{default:s(()=>[t(j,{class:"pa-0"},{default:s(()=>[t(H,{lines:"one"},{default:s(()=>[(m(!0),L($,null,oe(i.subjects,(h,d)=>(m(),w(D,{key:h.order},{prepend:s(()=>[y("div",ps,[t(p,{icon:"mdi-chevron-up",variant:"text",size:"small",disabled:d===0,onClick:f=>o.moveSubject(d,-1)},null,8,["disabled","onClick"]),t(p,{icon:"mdi-chevron-down",variant:"text",size:"small",disabled:d===i.subjects.length-1,onClick:f=>o.moveSubject(d,1)},null,8,["disabled","onClick"])])]),append:s(()=>[t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:f=>o.deleteSubject(h)},null,8,["onClick"])]),default:s(()=>[t(z,null,{default:s(()=>[t(A,{modelValue:h.name,"onUpdate:modelValue":f=>h.name=f,variant:"plain",density:"compact","hide-details":"",onBlur:f=>o.updateSubject(h)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[1]||(e[1]=h=>i.showSnackbar=h),color:i.snackbarColor,timeout:3e3},{default:s(()=>[r(x(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Tt=J(hs,[["render",ws],["__scopeId","data-v-7077623d"]]),fs={};function gs(n,e,a,u,i,o){const l=ge,h=M;return m(),w(h,{title:"编辑设置",icon:"mdi-cog"},{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"randomPicker.enabled"}),t(P,{class:"my-2"}),t(l,{"setting-key":"randomPicker.mode"}),t(P,{class:"my-2"}),t(l,{"setting-key":"randomPicker.minNumber"}),t(P,{class:"my-2"}),t(l,{"setting-key":"randomPicker.maxNumber"}),t(P,{class:"my-2"}),t(l,{"setting-key":"randomPicker.defaultCount"}),t(P,{class:"my-2"}),t(l,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const It=J(fs,[["render",gs]]),vs={name:"ThemeSettingsCard",components:{SettingsCard:M},data(){return{localTheme:k("theme.mode")}},watch:{localTheme(n){qe("theme.mode",n),this.updateTheme(n)}},setup(){return{theme:nn()}},methods:{updateTheme(n){this.theme.global.name.value=n}}};function bs(n,e,a,u,i,o){const l=M;return m(),w(l,{title:"主题设置",icon:"mdi-palette"},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-theme-light-dark",class:"mr-3"})]),append:s(()=>[t(sn,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=h=>i.localTheme=h),density:"comfortable",color:"primary"},{default:s(()=>[t(p,{value:"light"},{default:s(()=>[t(b,{icon:"mdi-white-balance-sunny",class:"mr-2"}),e[3]||(e[3]=r(" 明亮 ",-1))]),_:1}),t(p,{value:"dark"},{default:s(()=>[t(b,{icon:"mdi-moon-waning-crescent",class:"mr-2"}),e[4]||(e[4]=r(" 暗黑 ",-1))]),_:1})]),_:1},8,["modelValue"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[1]||(e[1]=[r("主题模式",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[2]||(e[2]=[r("选择明亮或暗黑主题",-1)])]),_:1})]),_:1})]),_:1})]),_:1})}const Nt=J(vs,[["render",bs]]),ys={name:"DisplaySettingsCard",components:{SettingsCard:M,SettingItem:ge},data(){return{}}};function ks(n,e,a,u,i,o){const l=ge,h=M;return m(),w(h,{title:"显示设置",icon:"mdi-monitor",border:""},{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"display.emptySubjectDisplay"}),t(P,{class:"my-2"}),t(l,{"setting-key":"display.dynamicSort"}),t(P,{class:"my-2"}),t(l,{"setting-key":"display.showRandomButton"}),t(P,{class:"my-2"}),t(l,{"setting-key":"display.showFullscreenButton"}),t(P,{class:"my-2"}),t(l,{"setting-key":"display.cardHoverEffect"}),t(P,{class:"my-2"}),t(l,{"setting-key":"display.enhancedTouchMode"}),t(P,{class:"my-2"}),t(l,{"setting-key":"display.showAntiScreenBurnCard"})]),_:1})]),_:1})}const Et=J(ys,[["render",ks]]),Ss={};function xs(n,e,a,u,i,o){const l=ge,h=M;return m(),w(h,{title:"编辑设置",icon:"mdi-cog"},{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"edit.autoSave"}),t(P,{class:"my-2"}),t(l,{"setting-key":"edit.blockNonTodayAutoSave"}),t(P,{class:"my-2"}),t(l,{"setting-key":"edit.confirmNonTodaySave"}),t(P,{class:"my-2"}),t(l,{"setting-key":"edit.refreshBeforeEdit"})]),_:1})]),_:1})}const Pt=J(Ss,[["render",xs]]),Cs=ft({...ln(),...Sn()},"VForm"),Ae=wt()({name:"VForm",props:Cs(),emits:{"update:modelValue":n=>!0,submit:n=>!0},setup(n,e){let{slots:a,emit:u}=e;const i=kn(n),o=ze();function l(d){d.preventDefault(),i.reset()}function h(d){const f=d,S=i.validate();f.then=S.then.bind(S),f.catch=S.catch.bind(S),f.finally=S.finally.bind(S),u("submit",f),f.defaultPrevented||S.then(I=>{var U;let{valid:R}=I;R&&((U=o.value)==null||U.submit())}),f.preventDefault()}return on(()=>{var d;return y("form",{ref:o,class:Qe(["v-form",n.class]),style:an(n.style),novalidate:!0,onReset:l,onSubmit:h},[(d=a.default)==null?void 0:d.call(a,i)])}),rn(i,o)}}),_s={name:"RefreshSettingsCard",components:{SettingsCard:M},data(){return{}}};function Vs(n,e,a,u,i,o){const l=ge,h=M;return m(),w(h,{title:"刷新设置",icon:"mdi-refresh-circle"},{default:s(()=>[t(Ae,null,{default:s(()=>[t(H,null,{default:s(()=>[t(l,{"setting-key":"refresh.auto",title:"自动刷新"}),e[0]||(e[0]=r()),t(P,{class:"my-2"}),t(l,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const jt=J(_s,[["render",Vs]]),Ds={name:"SettingsLinkGenerator",data(){return{selectedItems:[],generatedLink:"",linkCopied:!1,search:"",headers:[{title:"",key:"data-table-select"},{title:"设置项",key:"description",sortable:!0},{title:"当前值",key:"value",sortable:!0},{title:"键名",key:"key",class:"d-none d-sm-table-cell",sortable:!0},{title:"状态",key:"isChanged",sortable:!0}]}},computed:{settingItems(){const n=Pe(),e=[];for(const[a,u]of Object.entries(Re)){if(u.requireDeveloper&&!n["developer.enabled"])continue;const i=n[a]!==u.default;e.push({key:a,description:u.description||a,value:n[a],icon:u.icon||"mdi-cog",isChanged:i,defaultValue:u.default})}return e.sort((a,u)=>a.key.localeCompare(u.key))},filteredItems(){if(!this.search)return this.settingItems;const n=this.search.toLowerCase();return n==="已修改"?this.settingItems.filter(e=>e.isChanged):n==="是"||n==="否"?this.settingItems.filter(e=>typeof e.value=="boolean"&&(n==="是"?e.value:!e.value)):this.settingItems.filter(e=>{const a=e.description.toLowerCase(),u=e.key.toLowerCase(),i=String(e.value).toLowerCase(),o=e.isChanged?"已修改":"默认";return a.includes(n)||u.includes(n)||i.includes(n)||o.includes(n)})},hasDisplaySettings(){return this.selectedItems.some(n=>n.startsWith("display."))},hasEditSettings(){return this.selectedItems.some(n=>n.startsWith("edit."))},hasServerSettings(){return this.selectedItems.some(n=>n.startsWith("server."))},hasChangedSettings(){const n=Pe();return this.selectedItems.some(e=>{const a=Re[e];return a&&n[e]!==a.default})}},methods:{handleSelectionChange(n){this.selectedItems=n.map(e=>e.key),this.generateLink()},generateLink(){const n=`${window.location.protocol}//${window.location.host}/`,e=Pe(),a={};for(const u of this.selectedItems)a[u]=e[u];if(Object.keys(a).length===0){this.generatedLink=n;return}try{const u=JSON.stringify(a),o=new TextEncoder().encode(u),h={config:btoa(Array.from(o).map(I=>String.fromCharCode(I)).join(""))},f=new URLSearchParams(window.location.search).get("date");f&&(h.date=f);const S=new URLSearchParams(h).toString();this.generatedLink=`${n}?${S}`}catch(u){console.error("生成链接失败:",u),this.generatedLink="链接生成失败,请重试"}this.linkCopied=!1},async copyLink(){this.generatedLink||this.generateLink();try{await navigator.clipboard.writeText(this.generatedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(n){console.error("复制链接失败:",n)}},resetSelection(){this.selectedItems=[],this.generatedLink="",this.linkCopied=!1},selectAll(){this.selectedItems=this.settingItems.map(n=>n.key),this.generateLink()},selectDataSourceSettings(){const n=this.settingItems.filter(e=>e.key.startsWith("server.")).map(e=>e.key);this.selectedItems=n,this.generateLink()},selectChangedSettings(){const n=this.settingItems.filter(e=>e.isChanged).map(e=>e.key);this.selectedItems=n,this.generateLink()},selectByPrefix(n){const e=this.settingItems.filter(a=>a.key.startsWith(`${n}.`)).map(a=>a.key);this.selectedItems=e},autoGenerateLink(){this.selectedItems.length>0?this.generateLink():this.generatedLink=""},getSettingDescription(n){const e=this.settingItems.find(a=>a.key===n);return e?e.description:n}},watch:{selectedItems:{handler(){this.autoGenerateLink()},deep:!0}}},Ts={class:"d-flex mb-3 gap-2 flex-wrap"},Is={class:"d-flex align-center mt-3 mb-3 flex-wrap gap-2"},Ns={class:"d-flex align-center"},Es={key:0},Ps={key:1},js={class:"text-caption text-grey"};function Ls(n,e,a,u,i,o){return m(),w(N,{border:"",class:"settings-link-generator mb-4"},{default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[t(b,{start:"",icon:"mdi-link-variant",class:"mr-2"}),e[3]||(e[3]=r(" 设置分享 ",-1))]),_:1}),t(j,null,{default:s(()=>[y("div",Ts,[t(p,{size:"small",variant:"tonal",color:"primary","prepend-icon":"mdi-select-all",onClick:o.selectAll},{default:s(()=>[...e[4]||(e[4]=[r(" 全选 ",-1)])]),_:1},8,["onClick"]),t(p,{size:"small",variant:"tonal",color:"primary","prepend-icon":"mdi-server-network",onClick:o.selectDataSourceSettings},{default:s(()=>[...e[5]||(e[5]=[r(" 数据源设置 ",-1)])]),_:1},8,["onClick"]),t(p,{size:"small",variant:"tonal",color:"primary","prepend-icon":"mdi-compare",onClick:o.selectChangedSettings},{default:s(()=>[...e[6]||(e[6]=[r(" 已变更设置 ",-1)])]),_:1},8,["onClick"]),t(p,{size:"small",variant:"tonal",color:"error","prepend-icon":"mdi-select-remove",onClick:o.resetSelection},{default:s(()=>[...e[7]||(e[7]=[r(" 取消选择 ",-1)])]),_:1},8,["onClick"])]),y("div",Is,[t(he,{color:"primary",class:"mr-2"},{default:s(()=>[r(" 已选 "+x(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(m(!0),L($,{key:0},oe(i.selectedItems,l=>(m(),w(he,{key:l,size:"small",class:"mr-1",variant:"text"},{default:s(()=>[r(x(o.getSettingDescription(l)),1)]),_:2},1024))),128)):V("",!0)]),t(A,{modelValue:i.generatedLink,"onUpdate:modelValue":e[0]||(e[0]=l=>i.generatedLink=l),label:"生成的链接",readonly:"",variant:"outlined",class:"mb-2","append-inner-icon":i.linkCopied?"mdi-check":"mdi-content-copy","onClick:appendInner":o.copyLink},null,8,["modelValue","append-inner-icon","onClick:appendInner"]),t(xn,{variant:"accordion"},{default:s(()=>[t(Cn,null,{default:s(()=>[t(_n,null,{default:s(()=>[...e[8]||(e[8]=[r(" 显示设置列表详情 ",-1)])]),_:1}),t(Vn,null,{default:s(()=>[t(bt,{"items-per-page":o.settingItems.length,headers:i.headers,items:o.filteredItems,"item-value":"key",modelValue:i.selectedItems,"onUpdate:modelValue":e[2]||(e[2]=l=>i.selectedItems=l),"show-select":"",density:"compact",class:"rounded setting-table","onUpdate:selected":o.handleSelectionChange,"sort-by":[{key:"isChanged",order:"desc"}]},{top:s(()=>[t(A,{modelValue:i.search,"onUpdate:modelValue":e[1]||(e[1]=l=>i.search=l),label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":"","hide-details":"",class:"mb-4"},null,8,["modelValue"])]),"item.description":s(({item:l})=>[y("div",Ns,[t(b,{size:"small",icon:l.icon,class:"mr-2"},null,8,["icon"]),r(" "+x(l.description),1)])]),"item.value":s(({item:l})=>[typeof l.value=="boolean"?(m(),L("span",Es,x(l.value?"是":"否"),1)):(m(),L("span",Ps,x(l.value),1))]),"item.key":s(({item:l})=>[y("span",js,x(l.key),1)]),"item.isChanged":s(({item:l})=>[t(he,{size:"x-small",color:l.isChanged?"warning":"success",text:l.isChanged?"已修改":"默认",density:"compact"},null,8,["color","text"])]),_:2},1032,["items-per-page","headers","items","modelValue","onUpdate:selected"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Lt=J(Ds,[["render",Ls]]),As={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},Os={class:"warning-container"};function Fs(n,e,a,u,i,o){return m(),L("div",Os,[a.show?(m(),w(he,{key:0,color:"warning",size:"small",class:"warning-chip"},{default:s(()=>[r(x(a.message),1)]),_:1})):V("",!0)])}const At=J(As,[["render",Fs],["__scopeId","data-v-0668f179"]]),Bs=ft({disabled:Boolean,modelValue:{type:Boolean,default:null},...cn()},"VHover"),Ms=wt()({name:"VHover",props:Bs(),emits:{"update:modelValue":n=>!0},setup(n,e){let{slots:a}=e;const u=un(n,"modelValue"),{runOpenDelay:i,runCloseDelay:o}=dn(n,l=>!n.disabled&&(u.value=l));return()=>{var l;return(l=a.default)==null?void 0:l.call(a,{isHovering:u.value,props:{onMouseenter:i,onMouseleave:o}})}}}),Us={name:"StudentListCard",components:{UnsavedWarning:At},props:{isMobile:Boolean},data(){return{newStudentName:"",editState:{index:-1,name:""},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1}},watch:{modelValue:{handler(n){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(n.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=n.list.slice().sort((e,a)=>e.id-a.id).map(e=>e.name).join(` -`))},deep:!0}},mounted(){this.loadStudents()},methods:{async loadStudents(){var n;this.error=null;try{if(this.loading=!0,!k("server.classNumber"))throw new Error("请先设置班号");try{const a=await ae.loadData("classworks-list-main");if(a.success!=!1&&Array.isArray(a)){this.modelValue.list=a.map((u,i)=>typeof u=="string"?{id:i+1,name:u}:{id:u.id||i+1,name:u.name||u.toString()}),this.modelValue.list.sort((u,i)=>u.id-i.id),this.modelValue.text=this.modelValue.list.map(u=>u.name).join(` -`),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1;return}}catch(a){console.warn("Failed to load student list from dedicated key, falling back to config",a)}}catch(e){console.error("加载学生列表失败:",e),this.error=e.message||"加载失败,请检查设置",(n=this.$message)==null||n.error("加载失败",this.error)}finally{this.loading=!1}},async saveStudents(){var n,e,a;try{if(!k("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.slice().sort((l,h)=>l.id-h.id).map((l,h)=>({id:h+1,name:l.name})),o=await ae.saveData("classworks-list-main",i);if(o.success===!1)throw new Error(((n=o.error)==null?void 0:n.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","学生列表已更新")}catch(u){console.error("保存学生列表失败:",u),(a=this.$message)==null||a.error("保存失败",u.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced},handleTextInput(n){if(!this.modelValue.advanced)return;const e=n.split(` -`).filter(o=>o.trim()),a=new Map(this.modelValue.list.map(o=>[o.name,o.id]));let u=Math.max(0,...this.modelValue.list.map(o=>o.id));const i=e.map(o=>(o=o.trim(),a.has(o)?{id:a.get(o),name:o}:{id:++u,name:o}));this.modelValue.list=i},addStudent(){const n=this.newStudentName.trim();if(n&&!this.modelValue.list.some(e=>e.name===n)){const e=Math.max(0,...this.modelValue.list.map(a=>a.id));this.modelValue.list.push({id:e+1,name:n}),this.newStudentName=""}},startEdit(n,e){this.editState.index=n,this.editState.name=e.name},saveEdit(){if(this.editState.index!==-1){const n=this.editState.name.trim();n&&n!==this.modelValue.list[this.editState.index].name&&(this.modelValue.list[this.editState.index].name=n),this.editState.index=-1,this.editState.name=""}},removeStudent(n){n!==void 0&&this.modelValue.list.splice(n,1)},moveStudent(n,e){if(e==="top"){if(n>0){const a=this.modelValue.list[n];this.modelValue.list.splice(n,1),this.modelValue.list.unshift(a),this.modelValue.list.forEach((u,i)=>u.id=i+1)}}else{const a=e==="up"?n-1:n+1;a>=0&&a{const u=et(e.name,{toneType:"none"}),i=et(a.name,{toneType:"none"});return u.localeCompare(i)});n.forEach((e,a)=>e.id=a+1),this.modelValue.list=n}}},Ks={key:0},Hs=["onClick"],zs={key:1,class:"pt-2"};function Js(n,e,a,u,i,o){const l=At;return m(),w(N,{border:"",color:i.unsavedChanges?"warning-subtle":void 0,class:Qe({"unsaved-changes":i.unsavedChanges})},{default:s(()=>[t(we,null,{prepend:s(()=>[t(b,{icon:"mdi-account-group",size:"large",class:"mr-2"})]),append:s(()=>[t(l,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(p,{"prepend-icon":"mdi-sort-alphabetical-variant",variant:"text",class:"mr-2",onClick:o.sortStudentsByPinyin,disabled:i.modelValue.list.length===0},{default:s(()=>[...e[4]||(e[4]=[r(" 按姓名首字母排序 ",-1)])]),_:1},8,["onClick","disabled"]),t(p,{color:i.modelValue.advanced?"primary":void 0,variant:"text","prepend-icon":"mdi-code-braces",onClick:o.toggleAdvanced},{default:s(()=>[r(x(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:s(()=>[t(K,{class:"text-h6"},{default:s(()=>[...e[3]||(e[3]=[r("学生列表",-1)])]),_:1})]),_:1}),t(j,null,{default:s(()=>[i.loading?(m(),w(dt,{key:0,indeterminate:"",color:"primary",class:"mb-4"})):V("",!0),i.error?(m(),w(me,{key:1,type:"error",variant:"tonal",closable:"",class:"mb-4"},{default:s(()=>[r(x(i.error),1)]),_:1})):V("",!0),t(hn,null,{default:s(()=>[i.modelValue.advanced?(m(),L("div",zs,[t(je,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[2]||(e[2]=h=>i.modelValue.text=h),o.handleTextInput],label:"批量编辑学生列表",placeholder:"每行输入一个学生姓名",hint:"使用文本编辑模式批量编辑学生名单,保存时会自动去除空行","persistent-hint":"",variant:"outlined",rows:"10"},null,8,["modelValue","onUpdate:modelValue"])])):(m(),L("div",Ks,[t(Se,{class:"mb-6"},{default:s(()=>[t(re,{cols:"12",sm:"6",md:"4"},{default:s(()=>[t(A,{modelValue:i.newStudentName,"onUpdate:modelValue":e[0]||(e[0]=h=>i.newStudentName=h),label:"添加学生",placeholder:"输入学生姓名后回车添加","prepend-inner-icon":"mdi-account-plus",variant:"outlined","hide-details":"",class:"mb-4",onKeyup:fe(o.addStudent,["enter"])},{append:s(()=>[t(p,{icon:"mdi-plus",variant:"text",color:"primary",disabled:!i.newStudentName.trim(),onClick:o.addStudent},null,8,["disabled","onClick"])]),_:1},8,["modelValue","onKeyup"])]),_:1})]),_:1}),t(Se,null,{default:s(()=>[(m(!0),L($,null,oe(i.modelValue.list,(h,d)=>(m(),w(re,{key:d,cols:"12",sm:"6",md:"4",lg:"3"},{default:s(()=>[t(Ms,null,{default:s(({isHovering:f,props:S})=>[t(N,Je({ref_for:!0},S,{elevation:a.isMobile?1:f?4:1,class:"student-card",border:""}),{default:s(()=>[t(j,{class:"d-flex align-center pa-3"},{default:s(()=>[t(yt,{location:"bottom","open-on-hover":!a.isMobile},{activator:s(({props:I})=>[t(p,Je({variant:"tonal",size:"small",class:"mr-3 font-weight-medium"},{ref_for:!0},I),{default:s(()=>[r(x(d+1),1)]),_:2},1040)]),default:s(()=>[t(H,{density:"compact",nav:""},{default:s(()=>[t(D,{"prepend-icon":"mdi-arrow-up-bold",disabled:d===0,onClick:I=>o.moveStudent(d,"top")},{default:s(()=>[...e[5]||(e[5]=[r(" 置顶 ",-1)])]),_:2},1032,["disabled","onClick"]),t(P),t(D,{"prepend-icon":"mdi-arrow-up",disabled:d===0,onClick:I=>o.moveStudent(d,"up")},{default:s(()=>[...e[6]||(e[6]=[r(" 上移 ",-1)])]),_:2},1032,["disabled","onClick"]),t(D,{"prepend-icon":"mdi-arrow-down",disabled:d===i.modelValue.list.length-1,onClick:I=>o.moveStudent(d,"down")},{default:s(()=>[...e[7]||(e[7]=[r(" 下移 ",-1)])]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["open-on-hover"]),i.editState.index===d?(m(),w(A,{key:0,modelValue:i.editState.name,"onUpdate:modelValue":e[1]||(e[1]=I=>i.editState.name=I),density:"compact",variant:"underlined","hide-details":"",class:"flex-grow-1",autofocus:"",onKeyup:fe(o.saveEdit,["enter"]),onBlur:o.saveEdit},null,8,["modelValue","onKeyup","onBlur"])):(m(),L("span",{key:1,class:"text-body-1 flex-grow-1",onClick:I=>o.handleClick(d,h)},x(h.name),9,Hs)),y("div",{class:Qe(["d-flex gap-1 action-buttons",{"opacity-100":f||a.isMobile}])},[t(p,{icon:"mdi-pencil",variant:"text",color:"primary",size:"small",onClick:I=>o.startEdit(d,h)},null,8,["onClick"]),t(p,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:I=>o.removeStudent(d)},null,8,["onClick"])],2)]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]))]),_:1}),t(Se,{class:"mt-6"},{default:s(()=>[t(re,{cols:"12",class:"d-flex gap-2"},{default:s(()=>[t(p,{color:"primary","prepend-icon":"mdi-content-save",size:"large",loading:i.loading,disabled:i.loading,onClick:o.saveStudents},{default:s(()=>[...e[8]||(e[8]=[r(" 保存名单 ",-1)])]),_:1},8,["loading","disabled","onClick"]),t(p,{color:"error",variant:"outlined","prepend-icon":"mdi-refresh",size:"large",loading:i.loading,disabled:i.loading,onClick:o.loadStudents},{default:s(()=>[...e[9]||(e[9]=[r(" 重载名单 ",-1)])]),_:1},8,["loading","disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["color","class"])}const Ot=J(Us,[["render",Js],["__scopeId","data-v-fe47d12d"]]),He=()=>{const n={Accept:"application/json"},e=k("server.siteKey"),a=k("namespace.password");return e&&(n["x-site-key"]=e),a&&(n["x-namespace-password"]=a),n},Rs={name:"NamespaceSettingsCard",components:{SettingsCard:M,NamespaceAccess:lt},data(){return{loading:!1,passwordLoading:!1,hintLoading:!1,verifyLoading:!1,showSnackbar:!1,showDeleteConfirm:!1,showHintDialog:!1,showVerifyDialog:!1,snackbarText:"",snackbarColor:"success",namespaceInfo:{uuid:"",name:"",accessType:"PUBLIC",hasPassword:!1,passwordHint:null},namespaceForm:{name:"",accessType:"PUBLIC"},passwordForm:{newPassword:"",oldPassword:"",confirmPassword:""},passwordHintForm:{hint:""},verifyForm:{password:"",error:"",action:null,onSuccess:null},originalForm:{name:"",accessType:"PUBLIC"},accessTypeOptions:[{title:"公开(无需密码)",value:"PUBLIC",icon:"mdi-lock-open"},{title:"受保护(需要密码写入)",value:"PROTECTED",icon:"mdi-lock"},{title:"私有(需要密码读写)",value:"PRIVATE",icon:"mdi-lock-alert"}]}},computed:{shouldShowCard(){const n=k("server.provider");return n==="kv-server"||n==="classworkscloud"},deviceUuid(){return this.namespaceInfo.uuid},isFormChanged(){return this.namespaceForm.name!==this.originalForm.name||this.namespaceForm.accessType!==this.originalForm.accessType},isPasswordFormValid(){if(!this.passwordForm.newPassword)return!0;const n=this.passwordForm.newPassword===this.passwordForm.confirmPassword;return this.namespaceInfo.hasPassword?n&&!!this.passwordForm.oldPassword:n}},async created(){this.shouldShowCard&&(await this.loadNamespaceInfo(),await this.loadPasswordHint())},methods:{async loadNamespaceInfo(){this.loading=!0;try{const n=await Ee.loadNamespaceInfo();n.status==200&&n.data&&(this.namespaceInfo=n.data,this.namespaceForm.name=n.data.name,this.namespaceForm.accessType=n.data.accessType,this.passwordForm.passwordHint=n.data.passwordHint||"",this.originalForm={...this.namespaceForm})}catch(n){console.error("加载命名空间信息失败:",n),this.showError("加载命名空间信息失败")}finally{this.loading=!1}},async saveNamespaceInfo(){if(this.isFormChanged){this.loading=!0;try{const n=await Ee.updateNamespaceInfo({name:this.namespaceForm.name,accessType:this.namespaceForm.accessType});if(console.log(n),n.status==200)this.originalForm={...this.namespaceForm},this.showSuccess("命名空间信息已更新");else throw new Error(n.error.message||"保存失败")}catch(n){console.error("保存命名空间信息失败:",n),this.showError(n.message||"保存命名空间信息失败")}finally{this.loading=!1}}},async copyUuid(){try{await navigator.clipboard.writeText(this.namespaceInfo.uuid),this.showSuccess("命名空间标识符已复制到剪贴板")}catch(n){console.error("复制失败:",n),this.showError("复制失败")}},async savePassword(){var n,e,a;if(this.isPasswordFormValid){this.passwordLoading=!0;try{const u=await Ee.updatePassword(this.passwordForm.newPassword||null,this.passwordForm.oldPassword||null);if(u.status===200)this.namespaceInfo.hasPassword=!!this.passwordForm.newPassword,this.passwordForm={newPassword:"",oldPassword:"",confirmPassword:""},this.showSuccess("密码已更新"),this.$router.push("/");else throw new Error(((n=u.error)==null?void 0:n.message)||"保存失败")}catch(u){console.error("保存密码失败:",u),this.showError(((a=(e=u.response)==null?void 0:e.data)==null?void 0:a.message)||"保存密码失败")}finally{this.passwordLoading=!1}}},async confirmDeletePassword(){this.verifyForm={password:"",error:"",action:"delete",onSuccess:()=>{this.showDeleteConfirm=!0}},this.showVerifyDialog=!0},async deletePassword(){var n,e,a;this.passwordLoading=!0;try{const u=await Ee.deletePassword();if(u.status===200)this.namespaceInfo.hasPassword=!1,this.namespaceInfo.passwordHint=null,this.passwordForm={newPassword:"",oldPassword:"",confirmPassword:""},this.showDeleteConfirm=!1,this.showSuccess("密码已删除");else throw new Error(((n=u.error)==null?void 0:n.message)||"删除失败")}catch(u){console.error("删除密码失败:",u),this.showError(((a=(e=u.response)==null?void 0:e.data)==null?void 0:a.message)||"删除密码失败")}finally{this.passwordLoading=!1}},async loadPasswordHint(){try{const n=k("server.domain"),e=k("device.uuid"),a=await Ke.get(`${n}/${e}/_hint`,{headers:He()});a.data&&a.data.passwordHint!==void 0&&(this.namespaceInfo.passwordHint=a.data.passwordHint,this.passwordHintForm.hint=a.data.passwordHint||"")}catch(n){console.error("加载密码提示失败:",n),this.showError("加载密码提示失败")}},async savePasswordHint(){var n,e;this.hintLoading=!0;try{const a=k("server.domain"),u=k("device.uuid"),i=await Ke.put(`${a}/${u}/_hint`,{hint:this.passwordHintForm.hint||null},{headers:He()});i.data&&(this.namespaceInfo.passwordHint=i.data.passwordHint,this.showSuccess("密码提示已更新"),this.showHintDialog=!1)}catch(a){console.error("保存密码提示失败:",a),this.showError(((e=(n=a.response)==null?void 0:n.data)==null?void 0:e.message)||"保存密码提示失败")}finally{this.hintLoading=!1}},async openHintDialog(){this.verifyForm={password:"",error:"",action:"hint",onSuccess:()=>{this.showHintDialog=!0}},this.showVerifyDialog=!0},cancelVerify(){this.showVerifyDialog=!1,this.verifyForm={password:"",error:"",action:null,onSuccess:null}},async verifyPassword(){if(this.verifyForm.password){this.verifyLoading=!0,this.verifyForm.error="";try{(await Ke.post(`${k("server.domain")}/${k("device.uuid")}/_checkpassword`,{password:this.verifyForm.password},{headers:He()})).status==200?(this.showVerifyDialog=!1,this.verifyForm.onSuccess&&this.verifyForm.onSuccess()):this.verifyForm.error="密码错误"}catch(n){console.error("密码验证失败:",n),this.verifyForm.error="密码验证失败"}finally{this.verifyLoading=!1}}},showSuccess(n){this.snackbarColor="success",this.snackbarText=n,this.showSnackbar=!0},showError(n){this.snackbarColor="error",this.snackbarText=n,this.showSnackbar=!0},modifyLocalPassword(){const n=this.$refs.namespaceAccess;n&&n.openPasswordDialog()}}},Qs={class:"d-flex align-center mt-2"},qs={class:"text-body-1"},Ws={class:"d-flex justify-end"},Gs={class:"d-flex justify-space-between align-center"},Ys={class:"text-caption text-grey"};function Zs(n,e,a,u,i,o){const l=lt,h=M;return o.shouldShowCard?(m(),w(h,{key:0,title:"命名空间设置",icon:"mdi-database-lock",loading:i.loading},{default:s(()=>[t(l,{ref:"namespaceAccess"},null,512),t(N,{variant:"tonal",class:"rounded-lg mb-4"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(b,{icon:"mdi-identifier",size:"large",class:"mr-3",color:"primary"})]),default:s(()=>[t(K,null,{default:s(()=>[...e[14]||(e[14]=[r("命名空间标识符",-1)])]),_:1}),t(ye,null,{default:s(()=>[y("div",Qs,[y("code",qs,x(i.namespaceInfo.uuid),1),t(p,{icon:"mdi-content-copy",variant:"text",size:"small",class:"ml-2",onClick:o.copyUuid},null,8,["onClick"])])]),_:1})]),_:1})]),_:1}),t(N,{variant:"tonal",class:"rounded-lg mb-4"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(b,{icon:"mdi-form-textbox",size:"large",class:"mr-3",color:"primary"})]),default:s(()=>[t(K,null,{default:s(()=>[...e[15]||(e[15]=[r("命名空间信息",-1)])]),_:1})]),_:1}),t(j,null,{default:s(()=>[t(Ae,{ref:"form",onSubmit:De(o.saveNamespaceInfo,["prevent"])},{default:s(()=>[t(A,{modelValue:i.namespaceForm.name,"onUpdate:modelValue":e[0]||(e[0]=d=>i.namespaceForm.name=d),label:"命名空间名称",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.loading,rules:[d=>!!d||"请输入命名空间名称"]},{"prepend-inner":s(()=>[t(b,{icon:"mdi-tag-text"})]),_:1},8,["modelValue","loading","rules"]),t(vt,{modelValue:i.namespaceForm.accessType,"onUpdate:modelValue":e[1]||(e[1]=d=>i.namespaceForm.accessType=d),items:i.accessTypeOptions,label:"访问权限",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-6",loading:i.loading},{"prepend-inner":s(()=>[t(b,{icon:"mdi-shield-lock"})]),_:1},8,["modelValue","items","loading"]),y("div",Ws,[t(p,{color:"primary",loading:i.loading,disabled:!o.isFormChanged,onClick:o.saveNamespaceInfo},{prepend:s(()=>[t(b,{icon:"mdi-content-save"})]),default:s(()=>[e[16]||(e[16]=r(" 保存更改 ",-1))]),_:1},8,["loading","disabled","onClick"])])]),_:1},8,["onSubmit"])]),_:1})]),_:1}),t(N,{variant:"tonal",class:"rounded-lg"},{default:s(()=>[t(we,null,{prepend:s(()=>[t(b,{icon:"mdi-key",size:"large",class:"mr-3",color:"primary"})]),default:s(()=>[t(K,null,{default:s(()=>[...e[17]||(e[17]=[r("访问密码",-1)])]),_:1}),t(ye,{class:"mt-2"},{default:s(()=>[...e[18]||(e[18]=[r(" 设置访问密码以保护数据安全,可以将老师、电教的名字、学号等作为密码 ",-1)])]),_:1})]),_:1}),t(j,null,{default:s(()=>[t(Ae,{ref:"passwordForm",onSubmit:De(o.savePassword,["prevent"])},{default:s(()=>[i.namespaceInfo.hasPassword?(m(),w(A,{key:0,modelValue:i.passwordForm.oldPassword,"onUpdate:modelValue":e[2]||(e[2]=d=>i.passwordForm.oldPassword=d),label:"当前密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.passwordLoading,rules:[d=>!!d||"请输入当前密码"]},{"prepend-inner":s(()=>[t(b,{icon:"mdi-lock"})]),_:1},8,["modelValue","loading","rules"])):V("",!0),t(A,{modelValue:i.passwordForm.newPassword,"onUpdate:modelValue":e[3]||(e[3]=d=>i.passwordForm.newPassword=d),label:"新密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.passwordLoading},{"prepend-inner":s(()=>[t(b,{icon:"mdi-lock-plus"})]),_:1},8,["modelValue","loading"]),t(A,{modelValue:i.passwordForm.confirmPassword,"onUpdate:modelValue":e[4]||(e[4]=d=>i.passwordForm.confirmPassword=d),label:"确认新密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.passwordLoading,rules:[d=>!i.passwordForm.newPassword||d===i.passwordForm.newPassword||"两次输入的密码不一致"]},{"prepend-inner":s(()=>[t(b,{icon:"mdi-lock-check"})]),_:1},8,["modelValue","loading","rules"]),y("div",Gs,[y("div",null,[i.namespaceInfo.hasPassword?(m(),w(p,{key:0,color:"error",variant:"tonal",loading:i.passwordLoading,onClick:o.confirmDeletePassword,class:"mr-2"},{prepend:s(()=>[t(b,{icon:"mdi-lock-remove"})]),default:s(()=>[e[19]||(e[19]=r(" 删除密码 ",-1))]),_:1},8,["loading","onClick"])):V("",!0),i.namespaceInfo.hasPassword?(m(),w(p,{key:1,color:"primary",variant:"tonal",loading:i.hintLoading,onClick:o.openHintDialog,class:"mr-2"},{prepend:s(()=>[t(b,{icon:"mdi-lightbulb-outline"})]),default:s(()=>[e[20]||(e[20]=r(" 设置密码提示 ",-1))]),_:1},8,["loading","onClick"])):V("",!0),t(p,{color:"primary",variant:"tonal",onClick:o.modifyLocalPassword},{prepend:s(()=>[t(b,{icon:"mdi-key-variant"})]),default:s(()=>[e[21]||(e[21]=r(" 修改本地密码 ",-1))]),_:1},8,["onClick"])]),t(p,{color:"primary",loading:i.passwordLoading,disabled:!o.isPasswordFormValid,onClick:o.savePassword},{prepend:s(()=>[t(b,{icon:"mdi-content-save"})]),default:s(()=>[e[22]||(e[22]=r(" 保存密码 ",-1))]),_:1},8,["loading","disabled","onClick"])])]),_:1},8,["onSubmit"])]),_:1})]),_:1}),t(ce,{modelValue:i.showHintDialog,"onUpdate:modelValue":e[7]||(e[7]=d=>i.showHintDialog=d),"max-width":"400"},{default:s(()=>[t(N,null,{default:s(()=>[t(we,null,{default:s(()=>[t(K,null,{default:s(()=>[...e[23]||(e[23]=[r("设置密码提示",-1)])]),_:1}),t(ye,{class:"mt-2"},{default:s(()=>[...e[24]||(e[24]=[r(" 设置一个提示帮助记忆密码 ",-1)])]),_:1})]),_:1}),t(j,null,{default:s(()=>[t(A,{modelValue:i.passwordHintForm.hint,"onUpdate:modelValue":e[5]||(e[5]=d=>i.passwordHintForm.hint=d),label:"密码提示",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.hintLoading,placeholder:"例如:我的生日"},{"prepend-inner":s(()=>[t(b,{icon:"mdi-lightbulb-outline"})]),_:1},8,["modelValue","loading"]),y("div",Ys," 当前提示:"+x(i.namespaceInfo.passwordHint||"未设置"),1)]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{color:"grey-darken-1",variant:"text",onClick:e[6]||(e[6]=d=>i.showHintDialog=!1),disabled:i.hintLoading},{default:s(()=>[...e[25]||(e[25]=[r(" 取消 ",-1)])]),_:1},8,["disabled"]),t(p,{color:"primary",variant:"text",loading:i.hintLoading,onClick:o.savePasswordHint},{default:s(()=>[...e[26]||(e[26]=[r(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ce,{modelValue:i.showDeleteConfirm,"onUpdate:modelValue":e[9]||(e[9]=d=>i.showDeleteConfirm=d),"max-width":"400"},{default:s(()=>[t(N,null,{default:s(()=>[t(we,null,{default:s(()=>[t(K,null,{default:s(()=>[...e[27]||(e[27]=[r("确认删除密码",-1)])]),_:1}),t(j,{class:"mt-4"},{default:s(()=>[...e[28]||(e[28]=[r(" 删除密码后,任何人都可以访问和修改此命名空间的数据。确定要继续吗? ",-1)])]),_:1})]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{color:"grey-darken-1",variant:"text",onClick:e[8]||(e[8]=d=>i.showDeleteConfirm=!1)},{default:s(()=>[...e[29]||(e[29]=[r(" 取消 ",-1)])]),_:1}),t(p,{color:"error",variant:"text",loading:i.passwordLoading,onClick:o.deletePassword},{default:s(()=>[...e[30]||(e[30]=[r(" 确认删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ce,{modelValue:i.showVerifyDialog,"onUpdate:modelValue":e[11]||(e[11]=d=>i.showVerifyDialog=d),"max-width":"400",persistent:""},{default:s(()=>[t(N,null,{default:s(()=>[t(we,null,{default:s(()=>[t(K,null,{default:s(()=>[...e[31]||(e[31]=[r("验证密码",-1)])]),_:1}),t(ye,{class:"mt-2"},{default:s(()=>[...e[32]||(e[32]=[r(" 请输入当前密码以继续操作 ",-1)])]),_:1})]),_:1}),t(j,null,{default:s(()=>[t(A,{modelValue:i.verifyForm.password,"onUpdate:modelValue":e[10]||(e[10]=d=>i.verifyForm.password=d),label:"当前密码",variant:"outlined",density:"comfortable","hide-details":"auto",class:"mb-4",loading:i.verifyLoading,error:!!i.verifyForm.error,"error-messages":i.verifyForm.error,onKeyup:fe(o.verifyPassword,["enter"])},{"prepend-inner":s(()=>[t(b,{icon:"mdi-lock"})]),_:1},8,["modelValue","loading","error","error-messages","onKeyup"])]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{color:"grey-darken-1",variant:"text",onClick:o.cancelVerify,disabled:i.verifyLoading},{default:s(()=>[...e[33]||(e[33]=[r(" 取消 ",-1)])]),_:1},8,["onClick","disabled"]),t(p,{color:"primary",variant:"text",loading:i.verifyLoading,disabled:!i.verifyForm.password,onClick:o.verifyPassword},{default:s(()=>[...e[34]||(e[34]=[r(" 确认 ",-1)])]),_:1},8,["loading","disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(Oe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[13]||(e[13]=d=>i.showSnackbar=d),timeout:3e3,color:i.snackbarColor,location:"top"},{actions:s(()=>[t(p,{variant:"text",onClick:e[12]||(e[12]=d=>i.showSnackbar=!1)},{default:s(()=>[...e[35]||(e[35]=[r(" 关闭 ",-1)])]),_:1})]),default:s(()=>[r(x(i.snackbarText)+" ",1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])):V("",!0)}const Ft=J(Rs,[["render",Zs]]),Xs={name:"KvDatabaseCard",components:{SettingsCard:M},data(){return{loading:!1,loadingData:!1,savingData:!1,deletingData:!1,kvData:[],searchQuery:"",viewDialog:!1,editDialog:!1,deleteDialog:!1,createDialog:!1,selectedItem:null,editingItem:null,itemToDelete:null,editingData:"",newKey:"",newData:"",tableHeaders:[{title:"键名",key:"key",sortable:!0},{title:"操作",key:"actions",sortable:!1,width:"120px"}]}},computed:{currentProvider(){return k("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"},connectionStatus(){return this.isKvProvider?this.currentProvider==="kv-local"?"本地数据库":"服务器数据库":"当前数据提供者不支持KV数据库管理"},connectionIcon(){return this.isKvProvider?this.currentProvider==="kv-local"?"mdi-database":"mdi-database-sync":"mdi-database-off"},connectionColor(){return this.isKvProvider?"success":"error"},filteredKvData(){return this.searchQuery?this.kvData.filter(n=>n.key.toLowerCase().includes(this.searchQuery.toLowerCase())):this.kvData},isValidJson(){if(!this.editingData)return!0;try{return JSON.parse(this.editingData),!0}catch{return!1}},isValidNewJson(){if(!this.newData)return!0;try{return JSON.parse(this.newData),!0}catch{return!1}},isValidKey(){return!this.newKey||this.newKey.trim()===""?!1:!this.kvData.some(n=>n.key===this.newKey.trim())}},async mounted(){this.isKvProvider&&await this.loadKvData()},methods:{async refreshConnection(){this.loading=!0;try{await new Promise(n=>setTimeout(n,500)),this.$message.success("连接状态已刷新")}catch(n){this.$message.error("刷新失败",n.message)}finally{this.loading=!1}},async loadKvData(){var n;if(!this.isKvProvider){this.$message.warning("当前数据提供者不支持KV数据库管理");return}this.loadingData=!0;try{this.kvData=[];const e=await ae.loadKeys({sortBy:"key",sortDir:"asc",limit:1e3});if(e.success===!1)throw new Error(((n=e.error)==null?void 0:n.message)||"获取键名列表失败");this.kvData=e.keys.map(a=>({key:a,value:null,loaded:!1})),this.$message.success("键名加载完成",`共找到 ${this.kvData.length} 个键,总计 ${e.total_rows} 个键`)}catch(e){this.$message.error("加载数据失败",e.message)}finally{this.loadingData=!1}},async viewItem(n){this.selectedItem=n,this.viewDialog=!0,(!n.loaded||n.value===null)&&await this.loadItemData(n)},async editItem(n){this.editingItem=n,(!n.loaded||n.value===null)&&await this.loadItemData(n),this.editingData=this.formatJsonData(n.value),this.editDialog=!0},async loadItemData(n){try{const e=await ae.loadData(n.key);if(e&&e.success!==!1)n.value=e,n.loaded=!0;else throw new Error("数据加载失败")}catch(e){this.$message.error("加载数据失败",e.message),n.value=null,n.loaded=!1}},closeEditDialog(){this.editDialog=!1,this.editingItem=null,this.editingData=""},createNewItem(){this.newKey="",this.newData=`{ - "example": "value" -}`,this.createDialog=!0},closeCreateDialog(){this.createDialog=!1,this.newKey="",this.newData=""},async saveNewData(){var n;if(!(!this.isValidKey||!this.isValidNewJson)){this.savingData=!0;try{const e=JSON.parse(this.newData),a=this.newKey.trim(),u=await ae.saveData(a,e);if(u&&!u.error)this.kvData.push({key:a,value:e,loaded:!0}),this.$message.success("数据创建成功"),this.closeCreateDialog();else throw new Error(((n=u.error)==null?void 0:n.message)||"创建失败")}catch(e){this.$message.error("创建失败",e.message)}finally{this.savingData=!1}}},async saveEditedData(){var n;if(!(!this.isValidJson||!this.editingItem)){this.savingData=!0;try{const e=JSON.parse(this.editingData),a=await ae.saveData(this.editingItem.key,e);if(a&&!a.error){const u=this.kvData.findIndex(i=>i.key===this.editingItem.key);u!==-1&&(this.kvData[u].value=e,this.kvData[u].loaded=!0),this.$message.success("数据保存成功"),this.closeEditDialog()}else throw new Error(((n=a.error)==null?void 0:n.message)||"保存失败")}catch(e){this.$message.error("保存失败",e.message)}finally{this.savingData=!1}}},confirmDelete(n){this.itemToDelete=n,this.deleteDialog=!0},async deleteItem(){if(this.itemToDelete){this.deletingData=!0;try{this.currentProvider==="kv-local"?await(await mn("ClassworksDB",2)).transaction("kv","readwrite").objectStore("kv").delete(this.itemToDelete.key):await ae.saveData(this.itemToDelete.key,null);const n=this.kvData.findIndex(e=>e.key===this.itemToDelete.key);n!==-1&&this.kvData.splice(n,1),this.$message.success("数据删除成功"),this.deleteDialog=!1,this.itemToDelete=null}catch(n){this.$message.error("删除失败",n.message)}finally{this.deletingData=!1}}},formatJsonData(n){try{return JSON.stringify(n,null,2)}catch{return String(n)}},async copyToClipboard(n){try{const e=this.formatJsonData(n);await navigator.clipboard.writeText(e),this.$message.success("数据已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}}}},$s={class:"text-primary"};function ei(n,e,a,u,i,o){const l=M;return m(),w(l,{title:"KV数据库管理",icon:"mdi-database-edit",loading:i.loading},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{prepend:s(()=>[t(b,{icon:o.connectionIcon,color:o.connectionColor,class:"mr-3"},null,8,["icon","color"])]),append:s(()=>[t(p,{variant:"tonal",onClick:o.refreshConnection,loading:i.loading},{default:s(()=>[...e[13]||(e[13]=[r(" 刷新 ",-1)])]),_:1},8,["onClick","loading"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[12]||(e[12]=[r("数据库状态",-1)])]),_:1}),t(Z,null,{default:s(()=>[r(x(o.connectionStatus),1)]),_:1})]),_:1}),t(P,{class:"my-2"}),t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-format-list-bulleted",class:"mr-3"})]),append:s(()=>[t(tt,{variant:"tonal"},{default:s(()=>[t(p,{onClick:o.loadKvData,loading:i.loadingData},{default:s(()=>[...e[15]||(e[15]=[r(" 加载数据 ",-1)])]),_:1},8,["onClick","loading"]),t(p,{onClick:o.createNewItem,disabled:!o.isKvProvider},{default:s(()=>[t(b,{icon:"mdi-plus",class:"mr-1"}),e[16]||(e[16]=r(" 新建 ",-1))]),_:1},8,["onClick","disabled"])]),_:1})]),default:s(()=>[t(z,null,{default:s(()=>[...e[14]||(e[14]=[r("数据条目",-1)])]),_:1}),t(Z,null,{default:s(()=>[r("共 "+x(i.kvData.length)+" 条记录",1)]),_:1})]),_:1})]),_:1}),i.kvData.length>0?(m(),w(N,{key:0,class:"mt-4",variant:"outlined"},{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(b,{icon:"mdi-table",class:"mr-2"}),e[17]||(e[17]=r(" KV数据列表 ",-1)),t(W),t(A,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=h=>i.searchQuery=h),label:"搜索键名","prepend-inner-icon":"mdi-magnify",variant:"outlined",density:"compact","hide-details":"",clearable:"",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1}),t(bt,{headers:i.tableHeaders,items:o.filteredKvData,loading:i.loadingData,"item-value":"key",class:"elevation-0","items-per-page":10},{"item.key":s(({item:h})=>[y("code",$s,x(h.key),1)]),"item.actions":s(({item:h})=>[t(tt,{variant:"text",density:"compact"},{default:s(()=>[t(p,{icon:"mdi-eye",size:"small",onClick:d=>o.viewItem(h),title:"查看"},null,8,["onClick"]),t(p,{icon:"mdi-pencil",size:"small",onClick:d=>o.editItem(h),title:"编辑"},null,8,["onClick"]),t(p,{icon:"mdi-delete",size:"small",color:"error",onClick:d=>o.confirmDelete(h),title:"删除"},null,8,["onClick"])]),_:2},1024)]),_:2},1032,["headers","items","loading"])]),_:1})):V("",!0),t(ce,{modelValue:i.viewDialog,"onUpdate:modelValue":e[4]||(e[4]=h=>i.viewDialog=h),"max-width":"800px"},{default:s(()=>[t(N,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(b,{icon:"mdi-eye",class:"mr-2"}),e[18]||(e[18]=r(" 查看数据 ",-1)),t(W),t(p,{icon:"mdi-close",variant:"text",onClick:e[1]||(e[1]=h=>i.viewDialog=!1)})]),_:1}),i.selectedItem?(m(),w(ye,{key:0},{default:s(()=>[e[19]||(e[19]=r(" 键名: ",-1)),y("code",null,x(i.selectedItem.key),1)]),_:1})):V("",!0),t(j,null,{default:s(()=>[i.selectedItem?(m(),w(je,{key:0,"model-value":o.formatJsonData(i.selectedItem.value),label:"数据内容",variant:"outlined",readonly:"",rows:"15",class:"font-monospace"},null,8,["model-value"])):V("",!0)]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{onClick:e[2]||(e[2]=h=>{var d;return o.copyToClipboard((d=i.selectedItem)==null?void 0:d.value)}),variant:"tonal"},{default:s(()=>[t(b,{icon:"mdi-content-copy",class:"mr-1"}),e[20]||(e[20]=r(" 复制数据 ",-1))]),_:1}),t(p,{onClick:e[3]||(e[3]=h=>i.viewDialog=!1),variant:"text"},{default:s(()=>[...e[21]||(e[21]=[r(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ce,{modelValue:i.editDialog,"onUpdate:modelValue":e[6]||(e[6]=h=>i.editDialog=h),"max-width":"800px"},{default:s(()=>[t(N,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(b,{icon:"mdi-pencil",class:"mr-2"}),e[22]||(e[22]=r(" 编辑数据 ",-1)),t(W),t(p,{icon:"mdi-close",variant:"text",onClick:o.closeEditDialog},null,8,["onClick"])]),_:1}),i.editingItem?(m(),w(ye,{key:0},{default:s(()=>[e[23]||(e[23]=r(" 键名: ",-1)),y("code",null,x(i.editingItem.key),1)]),_:1})):V("",!0),t(j,null,{default:s(()=>[t(je,{modelValue:i.editingData,"onUpdate:modelValue":e[5]||(e[5]=h=>i.editingData=h),label:"数据内容 (JSON格式)",variant:"outlined",rows:"15",class:"font-monospace",error:!o.isValidJson,"error-messages":o.isValidJson?[]:["请输入有效的JSON格式"]},null,8,["modelValue","error","error-messages"])]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{onClick:o.closeEditDialog,variant:"text"},{default:s(()=>[...e[24]||(e[24]=[r(" 取消 ",-1)])]),_:1},8,["onClick"]),t(p,{onClick:o.saveEditedData,variant:"tonal",color:"primary",disabled:!o.isValidJson,loading:i.savingData},{default:s(()=>[...e[25]||(e[25]=[r(" 保存 ",-1)])]),_:1},8,["onClick","disabled","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ce,{modelValue:i.createDialog,"onUpdate:modelValue":e[9]||(e[9]=h=>i.createDialog=h),"max-width":"800px"},{default:s(()=>[t(N,null,{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(b,{icon:"mdi-plus",class:"mr-2"}),e[26]||(e[26]=r(" 新建数据 ",-1)),t(W),t(p,{icon:"mdi-close",variant:"text",onClick:o.closeCreateDialog},null,8,["onClick"])]),_:1}),t(j,null,{default:s(()=>[t(A,{modelValue:i.newKey,"onUpdate:modelValue":e[7]||(e[7]=h=>i.newKey=h),label:"键名",variant:"outlined",class:"mb-4",error:!o.isValidKey,"error-messages":o.isValidKey?[]:["键名不能为空且不能与现有键重复"],placeholder:"请输入键名,如:my-config"},null,8,["modelValue","error","error-messages"]),t(je,{modelValue:i.newData,"onUpdate:modelValue":e[8]||(e[8]=h=>i.newData=h),label:"数据内容 (JSON格式)",variant:"outlined",rows:"15",class:"font-monospace",error:!o.isValidNewJson,"error-messages":o.isValidNewJson?[]:["请输入有效的JSON格式"],placeholder:'请输入JSON数据,如:{"name": "value"}'},null,8,["modelValue","error","error-messages"])]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{onClick:o.closeCreateDialog,variant:"text"},{default:s(()=>[...e[27]||(e[27]=[r(" 取消 ",-1)])]),_:1},8,["onClick"]),t(p,{onClick:o.saveNewData,variant:"tonal",color:"primary",disabled:!o.isValidKey||!o.isValidNewJson,loading:i.savingData},{default:s(()=>[...e[28]||(e[28]=[r(" 创建 ",-1)])]),_:1},8,["onClick","disabled","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ce,{modelValue:i.deleteDialog,"onUpdate:modelValue":e[11]||(e[11]=h=>i.deleteDialog=h),"max-width":"400px"},{default:s(()=>[t(N,null,{default:s(()=>[t(K,{class:"d-flex align-center text-error"},{default:s(()=>[t(b,{icon:"mdi-alert",class:"mr-2"}),e[29]||(e[29]=r(" 确认删除 ",-1))]),_:1}),t(j,null,{default:s(()=>{var h;return[e[31]||(e[31]=r(" 确定要删除键名为 ",-1)),y("code",null,x((h=i.itemToDelete)==null?void 0:h.key),1),e[32]||(e[32]=r(" 的数据吗? ",-1)),e[33]||(e[33]=y("br",null,null,-1)),e[34]||(e[34]=y("br",null,null,-1)),t(me,{type:"warning",variant:"tonal",class:"mt-2"},{default:s(()=>[...e[30]||(e[30]=[r(" 此操作不可撤销,请谨慎操作! ",-1)])]),_:1})]}),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{onClick:e[10]||(e[10]=h=>i.deleteDialog=!1),variant:"text"},{default:s(()=>[...e[35]||(e[35]=[r(" 取消 ",-1)])]),_:1}),t(p,{onClick:o.deleteItem,variant:"tonal",color:"error",loading:i.deletingData},{default:s(()=>[...e[36]||(e[36]=[r(" 删除 ",-1)])]),_:1},8,["onClick","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["loading"])}const Bt=J(Xs,[["render",ei],["__scopeId","data-v-336c7576"]]),ti={name:"DataProviderSettingsCard",components:{SettingsCard:M},data(){return{loading:!1,serverchecktime:{},confirmDialog:!1,confirmTitle:"",confirmMessage:"",confirmAction:null,machineId:null,migrateLoading:!1}},computed:{currentProvider(){return k("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},async created(){this.machineId=k("device.uuid")},methods:{async checkServerConnection(){this.loading=!0,this.serverchecktime=new Date;try{const n=k("server.domain"),e=k("server.siteKey"),a={Accept:"application/json"};if(e&&(a["x-site-key"]=e),(await pn.get(`${n}/check`,{method:"GET",headers:a})).data.status==="success")this.$message.success("连接成功","服务器连接正常 延迟"+(new Date-this.serverchecktime)+"ms");else throw new Error("服务器响应异常")}catch(n){this.$message.error("连接失败",n.message||"无法连接到服务器")}finally{this.loading=!1}},confirmClearLocalStorage(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有本地存储的数据,确定要继续吗?",this.confirmAction=this.clearLocalStorage,this.confirmDialog=!0},clearLocalStorage(){try{localStorage.clear(),this.$message.success("清除成功","本地存储数据已清除"),this.confirmDialog=!1}catch(n){this.$message.error("清除失败",n.message)}},confirmClearIndexedDB(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有IndexedDB中的数据,确定要继续吗?",this.confirmAction=this.clearIndexedDB,this.confirmDialog=!0},async clearIndexedDB(){try{await window.indexedDB.deleteDatabase("ClassworksDB"),this.$message.success("清除成功","数据库缓存已清除"),this.confirmDialog=!1,this.isKvProvider&&setTimeout(()=>{window.location.reload()},1500)}catch(n){this.$message.error("清除失败",n.message)}},async exportData(){try{const n="ClassworksDB",e={indexedDB:{}},a=await new Promise((d,f)=>{const S=window.indexedDB.open(n);S.onerror=()=>f(S.error),S.onsuccess=()=>d(S.result)}),u=Array.from(a.objectStoreNames);for(const d of u){const S=a.transaction(d,"readonly").objectStore(d),I=await new Promise((R,U)=>{const G=S.getAll();G.onerror=()=>U(G.error),G.onsuccess=()=>R(G.result)});e.indexedDB[d]=I}const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),o=URL.createObjectURL(i),l=document.createElement("a"),h=new Date().toISOString().split("T")[0];l.href=o,l.download=`homework-indexeddb-${h}.json`,l.click(),URL.revokeObjectURL(o),this.$message.success("导出成功","IndexedDB数据已导出")}catch(n){console.error("导出失败:",n),this.$message.error("导出失败",n.message||"无法导出数据库数据")}},async migrateData(){this.migrateLoading=!0,this.$router.push("/datamigration"),this.migrateLoading=!1},handleConfirm(){this.confirmAction&&this.confirmAction()}}};function ni(n,e,a,u,i,o){const l=M;return m(),w(l,{title:"数据源设置",icon:"mdi-database-cog"},{default:s(()=>[t(H,null,{default:s(()=>[o.currentProvider==="kv-server"||o.currentProvider==="classworkscloud"?(m(),w(D,{key:0},{prepend:s(()=>[t(b,{icon:"mdi-lan-connect",class:"mr-3"})]),append:s(()=>[t(p,{loading:i.loading,variant:"tonal",onClick:o.checkServerConnection},{default:s(()=>[...e[3]||(e[3]=[r(" 测试连接 ",-1)])]),_:1},8,["loading","onClick"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[2]||(e[2]=[r("检查服务器连接",-1)])]),_:1})]),_:1})):V("",!0),o.currentProvider==="kv-local"?(m(),L($,{key:1},[t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-database",class:"mr-3"})]),append:s(()=>[t(p,{color:"error",variant:"tonal",onClick:o.confirmClearIndexedDB},{default:s(()=>[...e[6]||(e[6]=[r(" 清除 ",-1)])]),_:1},8,["onClick"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[4]||(e[4]=[r("清除数据库缓存",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[5]||(e[5]=[r("这将清除所有本地数据库中的数据",-1)])]),_:1})]),_:1}),t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-database-export",class:"mr-3"})]),append:s(()=>[t(p,{variant:"tonal",onClick:o.exportData},{default:s(()=>[...e[8]||(e[8]=[r(" 导出 ",-1)])]),_:1},8,["onClick"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[7]||(e[7]=[r("导出数据库",-1)])]),_:1})]),_:1})],64)):V("",!0),t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-database-import",class:"mr-3"})]),append:s(()=>[t(p,{loading:i.migrateLoading,variant:"tonal",onClick:o.migrateData},{default:s(()=>[...e[11]||(e[11]=[r(" 迁移 ",-1)])]),_:1},8,["loading","onClick"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[9]||(e[9]=[r("迁移旧数据",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[10]||(e[10]=[r("将旧的存储格式数据转移到新的KV存储",-1)])]),_:1})]),_:1}),t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-identifier",class:"mr-3"})]),default:s(()=>[t(z,null,{default:s(()=>[...e[12]||(e[12]=[r("本机唯一标识符",-1)])]),_:1}),i.machineId?(m(),w(Z,{key:0},{default:s(()=>[r(x(i.machineId),1)]),_:1})):(m(),w(Z,{key:1},{default:s(()=>[...e[13]||(e[13]=[r("正在加载...",-1)])]),_:1}))]),_:1}),t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-lan-connect",class:"mr-3"})]),append:s(()=>[t(p,{variant:"tonal",to:"/cachemanagement"},{default:s(()=>[...e[15]||(e[15]=[r(" 查看 ",-1)])]),_:1})]),default:s(()=>[t(z,null,{default:s(()=>[...e[14]||(e[14]=[r("查看本地缓存",-1)])]),_:1})]),_:1})]),_:1}),t(ce,{modelValue:i.confirmDialog,"onUpdate:modelValue":e[1]||(e[1]=h=>i.confirmDialog=h),"max-width":"400"},{default:s(()=>[t(N,null,{default:s(()=>[t(K,null,{default:s(()=>[r(x(i.confirmTitle),1)]),_:1}),t(j,null,{default:s(()=>[r(x(i.confirmMessage),1)]),_:1}),t(se,null,{default:s(()=>[t(W),t(p,{color:"grey",variant:"text",onClick:e[0]||(e[0]=h=>i.confirmDialog=!1)},{default:s(()=>[...e[16]||(e[16]=[r("取消",-1)])]),_:1}),t(p,{color:"error",variant:"tonal",onClick:o.handleConfirm},{default:s(()=>[...e[17]||(e[17]=[r("确认",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Mt=J(ti,[["render",ni]]),si={name:"ServerSettingsCard",components:{SettingsCard:M,SettingItem:ge},props:{loading:Boolean},data(){return{}},computed:{currentProvider(){return k("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"},isClassworksCloud(){return this.currentProvider==="classworkscloud"},useServer(){return this.currentProvider==="server"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}}},ii={key:0};function oi(n,e,a,u,i,o){const l=ge,h=M;return m(),w(h,{title:"数据源设置",icon:"mdi-database",loading:a.loading},{default:s(()=>[t(Ae,null,{default:s(()=>[t(l,{"setting-key":"server.provider",title:"数据提供者"}),o.isKvProvider?(m(),w(me,{key:0,type:"info",variant:"tonal",class:"my-2"},{default:s(()=>[t(nt,null,{default:s(()=>[...e[0]||(e[0]=[r("KV 存储系统",-1)])]),_:1}),e[2]||(e[2]=y("p",null,"KV存储系统使用本机唯一标识符(UUID)来区分不同设备的数据。",-1)),o.currentProvider==="kv-server"?(m(),L("p",ii,[...e[1]||(e[1]=[r(" 服务器端点格式: ",-1),y("code",null,"http(s)://服务器域名/",-1),y("br",null,null,-1),r(" 在服务器域名处仅填写基础URL,不需要任何路径。 ",-1)])])):V("",!0)]),_:1})):V("",!0),o.isClassworksCloud?(m(),w(me,{key:1,type:"info",color:"success",variant:"tonal",class:"my-2"},{default:s(()=>[t(nt,null,{default:s(()=>[...e[3]||(e[3]=[r("Classworks云端存储",-1)])]),_:1}),e[4]||(e[4]=y("p",null,"Classworks云端存储是官方提供的存储解决方案,自动配置了最优的访问设置。",-1)),e[5]||(e[5]=y("p",null,"使用此选项时,服务器域名和网站令牌将自动配置,无需手动设置。",-1))]),_:1})):V("",!0),t(P,{class:"my-2"}),t(l,{"setting-key":"server.domain",title:"服务器域名",disabled:o.isClassworksCloud},null,8,["disabled"]),t(P,{class:"my-2"}),t(l,{"setting-key":"server.classNumber",title:"班号"}),t(P,{class:"my-2"}),t(l,{"setting-key":"server.siteKey",title:"网站令牌",disabled:o.isClassworksCloud},{description:s(()=>[...e[6]||(e[6]=[r(" 用于后端验证请求的安全令牌。如需要,请从系统管理员获取。 ",-1)])]),_:1},8,["disabled"]),o.useServer?(m(),w(me,{key:2,type:"info",variant:"tonal",class:"my-2"},{default:s(()=>[t(b,{icon:"mdi-information-outline",class:"mr-2"}),e[7]||(e[7]=y("span",null,[r("网站令牌将作为 "),y("code",null,"x-site-key"),r(" 请求头发送给服务器,用于验证请求的合法性。如果您的服务器需要此验证,请在上方输入有效的令牌。")],-1))]),_:1})):V("",!0),t(P,{class:"my-2"}),t(l,{"setting-key":"device.uuid",title:"设备UUID"})]),_:1})]),_:1},8,["loading"])}const Ut=J(si,[["render",oi]]),ai={name:"Settings",components:{ServerSettingsCard:Ut,EditSettingsCard:Pt,RefreshSettingsCard:jt,DisplaySettingsCard:Et,MessageLog:ut,SettingsCard:M,StudentListCard:Ot,AboutCard:Ct,DataProviderSettingsCard:Mt,ThemeSettingsCard:Nt,EchoChamberCard:xt,SettingsExplorer:_t,SettingsLinkGenerator:Lt,NamespaceSettingsCard:Ft,RandomPickerCard:It,HomeworkTemplateCard:Dt,SubjectManagementCard:Tt,KvDatabaseCard:Bt},setup(){const{mobile:n}=fn();return{isMobile:n}},data(){const n=k("server.provider"),e=n==="kv-server"||n==="classworkscloud";return{settings:{server:{domain:k("server.domain"),classNumber:k("server.classNumber"),provider:k("server.provider")},namespace:{name:k("namespace.name"),accessType:k("namespace.accessType"),password:k("namespace.password")},refresh:{auto:k("refresh.auto"),interval:k("refresh.interval")},font:{size:k("font.size")},edit:{autoSave:k("edit.autoSave"),blockNonTodayAutoSave:k("edit.blockNonTodayAutoSave"),confirmNonTodaySave:k("edit.confirmNonTodaySave"),refreshBeforeEdit:k("edit.refreshBeforeEdit")},display:{emptySubjectDisplay:k("display.emptySubjectDisplay"),dynamicSort:k("display.dynamicSort"),showRandomButton:k("display.showRandomButton"),showFullscreenButton:k("display.showFullscreenButton")},developer:{enabled:k("developer.enabled"),showDebugConfig:k("developer.showDebugConfig")},message:{showSidebar:k("message.showSidebar"),maxActiveMessages:k("message.maxActiveMessages"),timeout:k("message.timeout"),saveHistory:k("message.saveHistory")}},dataProviders:[{title:"服务器",value:"server"},{title:"本地数据库",value:"indexedDB"}],studentData:{list:[],text:"",advanced:!1},newStudent:"",editingIndex:-1,editingName:"",deleteDialog:!1,studentToDelete:null,numberDialog:!1,newPosition:"",studentToMove:null,touchStartTime:0,touchTimeout:null,studentsLoading:!1,studentsError:null,debugConfig:"",loading:{server:!1,students:!1},hasUnsavedChanges:!1,lastSavedData:null,settingsTab:"index",settingsTabs:[{title:"首页",icon:"mdi-home",value:"index"},{title:"服务器",icon:"mdi-server",value:"server"},...e?[{title:"命名空间",icon:"mdi-database-lock",value:"namespace"}]:[],{title:"科目",icon:"mdi-book-edit",value:"subject"},{title:"学生列表",icon:"mdi-account-group",value:"student"},{title:"分享设置",icon:"mdi-share",value:"share"},{title:"刷新",icon:"mdi-refresh",value:"refresh"},{title:"编辑",icon:"mdi-pencil",value:"edit"},{title:"显示",icon:"mdi-eye",value:"display"},{title:"主题",icon:"mdi-theme-light-dark",value:"theme"},{title:"随机点名",icon:"mdi-dice-multiple",value:"randomPicker"},{title:"开发者",icon:"mdi-developer-board",value:"developer"},{title:"关于",icon:"mdi-information",value:"about"}],drawer:!1}},watch:{settings:{handler(n){this.handleSettingsChange(n)},deep:!0},isMobile:{handler(n){this.drawer=!n},immediate:!0},studentData:{handler(n){this.lastSavedData&&(this.hasUnsavedChanges=JSON.stringify(n.list)!==JSON.stringify(this.lastSavedData)),this.studentData.text=n.list.join(` -`)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatchSettings=pt(()=>{this.loadAllSettings()}),this.drawer=!this.isMobile},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings()},methods:{loadAllSettings(){Object.keys(this.settings).forEach(n=>{Object.keys(this.settings[n]).forEach(e=>{this.settings[n][e]=k(`${n}.${e}`)})})},handleSettingsChange(n){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{Object.entries(n).forEach(([e,a])=>{Object.entries(a).forEach(([u,i])=>{const o=`${e}.${u}`,l=k(o);i!==l&&(qe(o,i)?this.showMessage("设置已更新",`${o} 已保存`):(this.showError("保存失败",`${o} 设置失败`),this.settings[e][u]=l))})})},100)},showMessage(n,e="",a="success"){this.$message[a](n,e)},showError(n,e=""){this.$message.error(n,e)},saveEdit(){if(this.editingIndex!==-1){const n=this.editingName.trim();n&&n!==this.studentData.list[this.editingIndex]&&(this.studentData.list[this.editingIndex]=n),this.editingIndex=-1,this.editingName=""}},startEdit(n,e){this.editingIndex=n,this.editingName=e},confirmDelete(n){this.studentToDelete={index:n,name:this.studentData.list[n]},this.deleteDialog=!0},moveStudent(n,e){const a=e==="up"?n-1:n+1;a>=0&&a=0&&n0){const e=this.studentData.list[n];this.studentData.list.splice(n,1),this.studentData.list.unshift(e)}},addStudent(){const n=this.newStudent.trim();n&&!this.studentData.list.includes(n)&&(this.studentData.list.push(n),this.newStudent="")},removeStudent(n){n!==void 0&&(this.studentData.list.splice(n,1),this.deleteDialog=!1,this.studentToDelete=null)},resetFontSize(){mt("font.size"),this.settings.font.size=k("font.size"),this.showMessage("字体已重置","字体大小已恢复默认值")},handleDeveloperChange(n){n||(this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0})},resetDeveloperSettings(){this.settings.developer={enabled:!1},this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0},this.handleSettingsChange(this.settings),this.showMessage("已重置","开发者设置已重置为默认值","warning")},adjustFontSize(n){const a=this.settings.font.size;n==="up"&&a<100?this.settings.font.size=a+2:n==="down"&&a>16&&(this.settings.font.size=a-2),this.handleSettingsChange(this.settings)},onSettingsSaved(){this.showMessage("设置已更新","您的设置已成功保存")},onSettingUpdate(n,e){this.showMessage("设置已更新",`${n} 已保存为 ${e}`)}}},ri={class:"settings-page"};function li(n,e,a,u,i,o){const l=Ut,h=Mt,d=Bt,f=Ft,S=Ot,I=Lt,R=jt,U=Pt,G=Et,le=Nt,ve=It,pe=Tt,ee=Dt,ke=M,Y=wn("developer-settings-card"),te=_t,ue=Ct,be=xt,ie=ut;return m(),L("div",ri,[t(yn,{elevation:"1"},{prepend:s(()=>[t(p,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=O=>n.$router.push("/"))}),t(p,{icon:"mdi-menu",variant:"text",onClick:e[1]||(e[1]=O=>i.drawer=!i.drawer),class:"d-md-none"})]),default:s(()=>[t(bn,{class:"text-h6"},{default:s(()=>[...e[5]||(e[5]=[r("设置",-1)])]),_:1})]),_:1}),t(kt,{fluid:""},{default:s(()=>[t(Zt,{modelValue:i.drawer,"onUpdate:modelValue":e[2]||(e[2]=O=>i.drawer=O),permanent:!u.isMobile,temporary:u.isMobile},{default:s(()=>[t(H,null,{default:s(()=>[(m(!0),L($,null,oe(i.settingsTabs,O=>(m(),w(D,{key:O.value,onClick:Te=>i.settingsTab=O.value,active:i.settingsTab===O.value,"prepend-icon":O.icon,class:"rounded-e-xl",color:i.settingsTab===O.value?"primary":"default"},{default:s(()=>[t(z,null,{default:s(()=>[r(x(O.title),1)]),_:2},1024)]),_:2},1032,["onClick","active","prepend-icon","color"]))),128))]),_:1})]),_:1},8,["modelValue","permanent","temporary"]),t(Dn,{modelValue:i.settingsTab,"onUpdate:modelValue":e[4]||(e[4]=O=>i.settingsTab=O),style:{width:"100%"},direction:"vertical"},{default:s(()=>[t(X,{value:"index"},{default:s(()=>[t(N,{title:"Classworks",subtitle:"设置",class:"rounded-xl",border:""},{default:s(()=>[t(j,null,{default:s(()=>[t(me,{color:"error",variant:"tonal",icon:"mdi-alert-circle",class:"rounded-xl"},{default:s(()=>[...e[6]||(e[6]=[r("Classworks 是开源免费的软件,官方没有提供任何形式的付费支持服务,源代码仓库地址在 ",-1),y("a",{href:"https://github.com/ZeroCatDev/Classworks",target:"_blank"},"https://github.com/ZeroCatDev/Classworks",-1),r("。如果您通过有偿协助等付费方式取得本应用,在遇到问题时请在与卖家约定的服务框架下,优先向卖家求助。如果卖家没有提供您预期的服务,请退款或通过其它形式积极维护您的合法权益。",-1)])]),_:1}),t(me,{class:"mt-4 rounded-xl",color:"info",variant:"tonal",icon:"mdi-information"},{default:s(()=>[...e[7]||(e[7]=[r("请不要使用浏览器清除缓存功能,否则会导致配置丢失。",-1),y("del",null,"恶意的操作可能导致您受到贵校教师的处理",-1)])]),_:1}),t(me,{class:"mt-4 rounded-xl",color:"warning",variant:"tonal",icon:"mdi-information"},{default:s(()=>[e[9]||(e[9]=y("p",null," 请不要使用包括但不限于360极速浏览器、360安全浏览器、夸克浏览器、QQ浏览器等浏览器使用 Classworks ,这些浏览器过时且存在严重的一致性问题。在Windows上,使用新版 Microsoft Edge 浏览器是最推荐的选择。 ",-1)),e[10]||(e[10]=y("p",{style:{color:"#666"}}," 上述浏览器商标为其所属公司所有,Classworks™ 与上述浏览器所属公司暂无竞争关系。 ",-1)),e[11]||(e[11]=y("br",null,null,-1)),t(p,{href:"https://www.microsoft.com/zh-cn/windows/microsoft-edge",target:"_blank",color:"warning",variant:"tonal",class:"text-none rounded-xl","append-icon":"mdi-open-in-new"},{default:s(()=>[...e[8]||(e[8]=[r("下载 Microsoft Edge(微软边缘浏览器)",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(X,{value:"server"},{default:s(()=>[t(l,{border:"",loading:i.loading.server,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"]),t(h,{border:"",class:"mt-4"}),t(d,{border:"",class:"mt-4"})]),_:1}),t(X,{value:"namespace"},{default:s(()=>[t(f,{border:"",loading:i.loading.namespace,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(X,{value:"student"},{default:s(()=>[t(S,{border:"","is-mobile":u.isMobile},null,8,["is-mobile"])]),_:1}),t(X,{value:"share"},{default:s(()=>[t(I,{border:"",class:"mt-4"})]),_:1}),t(X,{value:"refresh"},{default:s(()=>[t(R,{border:"",loading:i.loading.refresh,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(X,{value:"edit"},{default:s(()=>[t(U,{border:"",loading:i.loading.edit,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(X,{value:"display"},{default:s(()=>[t(G,{border:"",loading:i.loading.display,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(X,{value:"theme"},{default:s(()=>[t(le,{border:"",loading:i.loading.theme,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(X,{value:"randomPicker"},{default:s(()=>[t(ve,{border:"","is-mobile":u.isMobile},null,8,["is-mobile"])]),_:1}),t(X,{value:"subject"},{default:s(()=>[t(pe,{border:""}),e[12]||(e[12]=r()),e[13]||(e[13]=y("br",null,null,-1)),t(ee,{border:""})]),_:1}),t(X,{value:"developer"},{default:s(()=>[t(ke,{border:"",title:"开发者选项",icon:"mdi-developer-board"},{default:s(()=>[t(H,null,{default:s(()=>[t(D,null,{prepend:s(()=>[t(b,{icon:"mdi-code-tags",class:"mr-3"})]),append:s(()=>[t(gt,{modelValue:i.settings.developer.enabled,"onUpdate:modelValue":e[3]||(e[3]=O=>i.settings.developer.enabled=O),density:"comfortable","hide-details":"",onChange:o.handleDeveloperChange},null,8,["modelValue","onChange"])]),default:s(()=>[t(z,null,{default:s(()=>[...e[14]||(e[14]=[r("启用开发者选项",-1)])]),_:1}),t(Z,null,{default:s(()=>[...e[15]||(e[15]=[r("启用后可以查看和修改开发者设置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(Y,{border:"",loading:i.loading.developer,onSaved:o.onSettingsSaved},null,8,["loading","onSaved"]),i.settings.developer.enabled?(m(),w(N,{key:0,border:"",class:"mt-4 rounded-lg"},{default:s(()=>[t(K,{class:"d-flex align-center"},{default:s(()=>[t(b,{icon:"mdi-cog-outline",class:"mr-2"}),e[16]||(e[16]=r(" 所有设置 ",-1))]),_:1}),t(ye,null,{default:s(()=>[...e[17]||(e[17]=[r(" 浏览和修改所有可用设置 ",-1)])]),_:1}),t(j,null,{default:s(()=>[t(te,{onUpdate:o.onSettingUpdate},null,8,["onUpdate"])]),_:1})]),_:1})):V("",!0),i.settings.developer.enabled?(m(),w(re,{key:1,cols:"12"})):V("",!0)]),_:1}),t(X,{value:"about"},{default:s(()=>[t(ue),t(be,{border:"",class:"mt-4"})]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(ie,{ref:"messageLog"},null,512)])}const Ci=J(ai,[["render",li]]);export{Ci as default}; diff --git a/index.html b/index.html index 9880e79..c767fdb 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,7 @@ - + diff --git a/sw.js b/sw.js index 0d865cc..1d70a03 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const a=(a,n)=>(a=new URL(a+".js",n).href,s[a]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()}).then(()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let r={};const t=e=>a(e,c),f={module:{uri:c},exports:r,require:t};s[c]=Promise.all(n.map(e=>f[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-dd2fb8cb"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"17b71801596a3c100e47e94b2ceb820d"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"index.html",revision:"fbd93a04f59b2bcfb803ce306f370f0c"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>{if(!s)return!1;const a=e.pathname;return!(a.includes("/assets/")||a.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")}); +if(!self.define){let e,s={};const a=(a,n)=>(a=new URL(a+".js",n).href,s[a]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()}).then(()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let r={};const t=e=>a(e,c),o={module:{uri:c},exports:r,require:t};s[c]=Promise.all(n.map(e=>o[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-dd2fb8cb"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"17b71801596a3c100e47e94b2ceb820d"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"index.html",revision:"65d7992f24e09ad1688e1a28813b9828"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>{if(!s)return!1;const a=e.pathname;return!(a.includes("/assets/")||a.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});