diff --git a/404.html b/404.html index 3d5b00a..76b1890 100644 --- a/404.html +++ b/404.html @@ -5,17 +5,17 @@ 404 | BBS-GO - - + + - - + + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the GPL License.

- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the GPL License.

+ \ No newline at end of file diff --git a/README.html b/README.html index 45a13d2..92add8e 100644 --- a/README.html +++ b/README.html @@ -5,20 +5,20 @@ BBS-GO - - + + - - - - - + + + + + -
Skip to content

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

Released under the GPL License.

- +
Skip to content

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

Released under the GPL License.

+ \ No newline at end of file diff --git a/assets/README.md.-Y1-uMSl.js b/assets/README.md.BX_zWQ7A.js similarity index 95% rename from assets/README.md.-Y1-uMSl.js rename to assets/README.md.BX_zWQ7A.js index 416ee44..5794c02 100644 --- a/assets/README.md.-Y1-uMSl.js +++ b/assets/README.md.BX_zWQ7A.js @@ -1 +1 @@ -import{_ as t,c as e,o as a,a5 as o,a6 as i}from"./chunks/framework.BjaKWcf5.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"home":true,"modules":["BannerBrand","Features","MdContent","Footer"],"bannerBrand":{"bgImage":"/bg.svg","title":"BBS-GO","description":"简洁对话,高效互动,社区新体验!","tagline":"BBS-GO是一款以Go语言为主要开发语言的简洁、响应式布局的开源论坛系统。旨在提供高效、易用的在线社区交流平台,注重简洁设计和良好用户体验。通过Go语言驱动,保证高性能和稳定性,同时提供简洁的代码结构,方便用户二次开发和定制。","buttons":[{"icon":"LogoGithub","text":"GitHub","link":"https://github.com/mlogclub/bbs-go","type":"plain"},{"icon":"Forum","text":"社区","link":"https://mlog.club"}]},"isShowTitleInHome":true,"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"README.md","filePath":"README.md"}'),s={name:"README.md"},r=o('

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

',3),l=[r];function n(c,d,_,h,m,u){return a(),e("div",null,l)}const g=t(s,[["render",n]]);export{b as __pageData,g as default}; +import{_ as t,c as e,o as a,a4 as o,a5 as i}from"./chunks/framework.Sd_qASnv.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"home":true,"modules":["BannerBrand","Features","MdContent","Footer"],"bannerBrand":{"bgImage":"/bg.svg","title":"BBS-GO","description":"简洁对话,高效互动,社区新体验!","tagline":"BBS-GO是一款以Go语言为主要开发语言的简洁、响应式布局的开源论坛系统。旨在提供高效、易用的在线社区交流平台,注重简洁设计和良好用户体验。通过Go语言驱动,保证高性能和稳定性,同时提供简洁的代码结构,方便用户二次开发和定制。","buttons":[{"icon":"LogoGithub","text":"GitHub","link":"https://github.com/mlogclub/bbs-go","type":"plain"},{"icon":"Forum","text":"社区","link":"https://mlog.club"}]},"isShowTitleInHome":true,"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"README.md","filePath":"README.md"}'),s={name:"README.md"},r=o('

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

',3),l=[r];function n(c,d,_,h,m,u){return a(),e("div",null,l)}const g=t(s,[["render",n]]);export{b as __pageData,g as default}; diff --git a/assets/README.md.-Y1-uMSl.lean.js b/assets/README.md.BX_zWQ7A.lean.js similarity index 94% rename from assets/README.md.-Y1-uMSl.lean.js rename to assets/README.md.BX_zWQ7A.lean.js index ebe0654..33d2296 100644 --- a/assets/README.md.-Y1-uMSl.lean.js +++ b/assets/README.md.BX_zWQ7A.lean.js @@ -1 +1 @@ -import{_ as t,c as e,o as a,a5 as o,a6 as i}from"./chunks/framework.BjaKWcf5.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"home":true,"modules":["BannerBrand","Features","MdContent","Footer"],"bannerBrand":{"bgImage":"/bg.svg","title":"BBS-GO","description":"简洁对话,高效互动,社区新体验!","tagline":"BBS-GO是一款以Go语言为主要开发语言的简洁、响应式布局的开源论坛系统。旨在提供高效、易用的在线社区交流平台,注重简洁设计和良好用户体验。通过Go语言驱动,保证高性能和稳定性,同时提供简洁的代码结构,方便用户二次开发和定制。","buttons":[{"icon":"LogoGithub","text":"GitHub","link":"https://github.com/mlogclub/bbs-go","type":"plain"},{"icon":"Forum","text":"社区","link":"https://mlog.club"}]},"isShowTitleInHome":true,"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"README.md","filePath":"README.md"}'),s={name:"README.md"},r=o("",3),l=[r];function n(c,d,_,h,m,u){return a(),e("div",null,l)}const g=t(s,[["render",n]]);export{b as __pageData,g as default}; +import{_ as t,c as e,o as a,a4 as o,a5 as i}from"./chunks/framework.Sd_qASnv.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"home":true,"modules":["BannerBrand","Features","MdContent","Footer"],"bannerBrand":{"bgImage":"/bg.svg","title":"BBS-GO","description":"简洁对话,高效互动,社区新体验!","tagline":"BBS-GO是一款以Go语言为主要开发语言的简洁、响应式布局的开源论坛系统。旨在提供高效、易用的在线社区交流平台,注重简洁设计和良好用户体验。通过Go语言驱动,保证高性能和稳定性,同时提供简洁的代码结构,方便用户二次开发和定制。","buttons":[{"icon":"LogoGithub","text":"GitHub","link":"https://github.com/mlogclub/bbs-go","type":"plain"},{"icon":"Forum","text":"社区","link":"https://mlog.club"}]},"isShowTitleInHome":true,"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"README.md","filePath":"README.md"}'),s={name:"README.md"},r=o("",3),l=[r];function n(c,d,_,h,m,u){return a(),e("div",null,l)}const g=t(s,[["render",n]]);export{b as __pageData,g as default}; diff --git a/assets/app.C6_jgnYg.js b/assets/app.C6_jgnYg.js deleted file mode 100644 index 7d0d820..0000000 --- a/assets/app.C6_jgnYg.js +++ /dev/null @@ -1,7 +0,0 @@ -import{j as o,a8 as p,a9 as u,aa as c,ab as l,ac as f,ad as d,ae as m,af as h,ag as A,ah as g,Y as v,d as P,u as w,l as y,z as C,ai as R,aj as _,ak as b,a4 as E}from"./chunks/framework.BjaKWcf5.js";import{R as j}from"./chunks/theme.DtXQLQW7.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(j),D=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=w();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&R(),_(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function T(){const e=O(),a=L();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function L(){return h(D)}function O(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{T as createApp}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/assets/app.DIbG0rnb.js b/assets/app.DIbG0rnb.js new file mode 100644 index 0000000..d870c4c --- /dev/null +++ b/assets/app.DIbG0rnb.js @@ -0,0 +1 @@ +import{R as p}from"./chunks/theme.FgX2_T7W.js";import{U as o,a7 as u,a8 as c,a9 as l,aa as f,ab as d,ac as m,ad as h,ae as g,af as A,ag as y,d as P,u as v,k as w,y as C,ah as R,ai as b,aj as E,a3 as S}from"./chunks/framework.Sd_qASnv.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return w(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&R(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function D(){return g(T)}function _(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/assets/chunks/@localSearchIndexroot.BmN6bRsI.js b/assets/chunks/@localSearchIndexroot.BmN6bRsI.js new file mode 100644 index 0000000..40cd69d --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.BmN6bRsI.js @@ -0,0 +1 @@ +const t='{"documentCount":87,"nextId":87,"documentIds":{"0":"/README.html#🎉🎉🎉-2024-从心出发-共筑简洁社区新时代","1":"/README.html#联系我","2":"/docs/changelog.html#更新日志","3":"/docs/changelog.html#v4-0-0-2024-02-21","4":"/docs/changelog.html#v3-5-5-2022-12-02","5":"/docs/changelog.html#v3-5-4-2022-11-14","6":"/docs/changelog.html#v3-5-3-2022-09-27","7":"/docs/changelog.html#v3-5-2-2022-08-18","8":"/docs/changelog.html#v3-5-1-2022-04-27","9":"/docs/changelog.html#v3-5-0-2022-04-12","10":"/docs/changelog.html#v3-4-3-2022-03-21","11":"/docs/changelog.html#v3-4-2-2022-01-18","12":"/docs/changelog.html#v3-4-1-2022-01-07","13":"/docs/changelog.html#v3-4-0-2021-11-12","14":"/docs/changelog.html#v3-3-2-2021-09-29","15":"/docs/changelog.html#v3-3-1-2021-08-03","16":"/docs/changelog.html#v3-3-0-2021-06-22","17":"/docs/changelog.html#v3-2-6-2021-05-09","18":"/docs/changelog.html#v3-2-5-2021-04-16","19":"/docs/changelog.html#v3-2-4-2021-03-25","20":"/docs/changelog.html#v3-2-3-2021-01-26","21":"/docs/changelog.html#v3-2-2-2021-01-13","22":"/docs/changelog.html#v3-2-1-2020-12-29","23":"/docs/changelog.html#v3-2-0-2020-11-28","24":"/docs/changelog.html#v3-1-9-2020-10-22","25":"/docs/changelog.html#v3-1-8-2020-09-25","26":"/docs/changelog.html#v3-1-7-2020-09-11","27":"/docs/changelog.html#v3-1-6-2020-08-31","28":"/docs/changelog.html#v3-1-5-2020-07-10","29":"/docs/changelog.html#v3-1-4-2020-06-30","30":"/docs/changelog.html#v3-1-3-2020-05-04","31":"/docs/changelog.html#v3-1-2-2020-04-22","32":"/docs/changelog.html#v3-1-1-2020-03-30","33":"/docs/changelog.html#v3-1-0-2020-02-28","34":"/docs/changelog.html#v3-0-9-2020-02-05","35":"/docs/changelog.html#v3-0-8-2020-01-07","36":"/docs/changelog.html#v3-0-5-2019-12-05","37":"/docs/changelog.html#v3-0-4-2019-11-18","38":"/docs/changelog.html#v3-0-3-2019-11-11","39":"/docs/changelog.html#v3-0-2-2019-10-29","40":"/docs/changelog.html#v3-0-1-2019-09-12","41":"/docs/changelog.html#v3-0-0-2019-09-09","42":"/docs/changelog.html#v2-0-0-2019-09-03","43":"/docs/changelog.html#v1-0-5-2019-08-07","44":"/docs/changelog.html#v1-0-1-2019-07-01","45":"/docs/getstart/docker.html#安装流程","46":"/docs/getstart/installation/#代码结构","47":"/docs/getstart/installation/#模块划分","48":"/docs/getstart/installation/#获取最新源码","49":"/docs/getstart/installation/#目录结构","50":"/docs/getstart/installation/server.html#server模块安装","51":"/docs/getstart/installation/server.html#go语言开发环境安装","52":"/docs/getstart/installation/server.html#安装go","53":"/docs/getstart/installation/server.html#配置go-proxy","54":"/docs/getstart/installation/server/go-mod.html#go-mod使用帮助","55":"/docs/getstart/installation/server/go-mod.html#go-mod-介绍","56":"/docs/getstart/installation/server/go-mod.html#go-mod-常用命令","57":"/docs/getstart/installation/server/go-mod.html#在新项目中使用","58":"/docs/getstart/installation/server/go-mod.html#在旧项目中使用","59":"/docs/getstart/installation/server/go-mod.html#如何升级依赖","60":"/docs/getstart/installation/server/go-mod.html#go-mod-proxy-配置","61":"/docs/getstart/installation/server/install-go.html#安装go","62":"/docs/getstart/installation/server/install.html#server-模块安装","63":"/docs/getstart/installation/server/install.html#安装依赖","64":"/docs/getstart/installation/server/install.html#编译","65":"/docs/getstart/installation/server/install.html#配置","66":"/docs/getstart/installation/server/install.html#基本配置","67":"/docs/getstart/installation/server/install.html#日志配置","68":"/docs/getstart/installation/server/install.html#数据库配置","69":"/docs/getstart/installation/server/install.html#上传配置","70":"/docs/getstart/installation/server/install.html#elasticsearch配置","71":"/docs/getstart/installation/server/install.html#smtp邮箱服务配置","72":"/docs/getstart/installation/server/install.html#百度seo配置","73":"/docs/getstart/installation/server/install.html#神马搜索seo配置","74":"/docs/#功能介绍","75":"/docs/#概要","76":"/docs/#功能","77":"/docs/#官网","78":"/docs/#技术栈","79":"/docs/#交流群-联系我","80":"/docs/internal/initsql.html#sql初始化脚本","81":"/docs/qa.html#常见问题","82":"/docs/qa.html#数据库如何初始化","83":"/docs/qa.html#初始化账号密码","84":"/docs/qa.html#todo","85":"/#🎉🎉🎉-2024-从心出发-共筑简洁社区新时代","86":"/#联系我"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[5,1,1],"1":[1,1,1],"2":[1,1,1],"3":[6,1,31],"4":[6,1,30],"5":[7,1,29],"6":[7,1,26],"7":[7,1,23],"8":[7,1,15],"9":[7,1,17],"10":[7,1,18],"11":[7,1,24],"12":[7,1,35],"13":[7,1,29],"14":[7,1,14],"15":[7,1,19],"16":[7,1,31],"17":[7,1,25],"18":[7,1,27],"19":[7,1,32],"20":[7,1,25],"21":[6,1,25],"22":[7,1,29],"23":[7,1,29],"24":[7,1,20],"25":[7,1,106],"26":[7,1,24],"27":[7,1,20],"28":[7,1,30],"29":[7,1,25],"30":[7,1,37],"31":[7,1,26],"32":[6,1,40],"33":[7,1,21],"34":[7,1,22],"35":[7,1,18],"36":[7,1,21],"37":[7,1,26],"38":[6,1,43],"39":[7,1,23],"40":[7,1,16],"41":[5,1,16],"42":[6,1,21],"43":[7,1,16],"44":[7,1,18],"45":[1,1,118],"46":[1,1,1],"47":[1,1,14],"48":[1,1,20],"49":[1,1,84],"50":[1,1,1],"51":[1,1,1],"52":[1,2,15],"53":[2,2,1],"54":[2,1,1],"55":[3,2,18],"56":[3,4,23],"57":[1,4,37],"58":[1,4,12],"59":[1,4,15],"60":[4,2,34],"61":[1,1,15],"62":[2,1,9],"63":[1,2,11],"64":[1,2,15],"65":[1,2,146],"66":[1,3,2],"67":[1,3,2],"68":[1,3,2],"69":[1,3,2],"70":[1,3,2],"71":[1,3,2],"72":[1,3,2],"73":[1,3,2],"74":[1,1,1],"75":[1,1,31],"76":[1,1,1],"77":[1,1,13],"78":[1,1,39],"79":[2,1,21],"80":[1,1,227],"81":[1,1,4],"82":[1,1,11],"83":[1,1,7],"84":[1,1,1],"85":[5,1,1],"86":[1,1,1]},"averageFieldLength":[4.0229885057471275,1.4022988505747127,24.022988505747126],"storedFields":{"0":{"title":"🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!","titles":[]},"1":{"title":"联系我","titles":[]},"2":{"title":"更新日志","titles":[]},"3":{"title":"v4.0.0 (2024-02-21)","titles":["更新日志"]},"4":{"title":"v3.5.5 (2022-12-02)","titles":["更新日志"]},"5":{"title":"v3.5.4 (2022-11-14)","titles":["更新日志"]},"6":{"title":"v3.5.3 (2022-09-27)","titles":["更新日志"]},"7":{"title":"v3.5.2 (2022-08-18)","titles":["更新日志"]},"8":{"title":"v3.5.1 (2022-04-27)","titles":["更新日志"]},"9":{"title":"v3.5.0 (2022-04-12)","titles":["更新日志"]},"10":{"title":"v3.4.3 (2022-03-21)","titles":["更新日志"]},"11":{"title":"v3.4.2 (2022-01-18)","titles":["更新日志"]},"12":{"title":"v3.4.1 (2022-01-07)","titles":["更新日志"]},"13":{"title":"v3.4.0 (2021-11-12)","titles":["更新日志"]},"14":{"title":"v3.3.2 (2021-09-29)","titles":["更新日志"]},"15":{"title":"v3.3.1 (2021-08-03)","titles":["更新日志"]},"16":{"title":"v3.3.0 (2021-06-22)","titles":["更新日志"]},"17":{"title":"v3.2.6 (2021-05-09)","titles":["更新日志"]},"18":{"title":"v3.2.5 (2021-04-16)","titles":["更新日志"]},"19":{"title":"v3.2.4 (2021-03-25)","titles":["更新日志"]},"20":{"title":"v3.2.3 (2021-01-26)","titles":["更新日志"]},"21":{"title":"v3.2.2 (2021-01-13)","titles":["更新日志"]},"22":{"title":"v3.2.1 (2020-12-29)","titles":["更新日志"]},"23":{"title":"v3.2.0 (2020-11-28)","titles":["更新日志"]},"24":{"title":"v3.1.9 (2020-10-22)","titles":["更新日志"]},"25":{"title":"v3.1.8 (2020-09-25)","titles":["更新日志"]},"26":{"title":"v3.1.7 (2020-09-11)","titles":["更新日志"]},"27":{"title":"v3.1.6 (2020-08-31)","titles":["更新日志"]},"28":{"title":"v3.1.5 (2020-07-10)","titles":["更新日志"]},"29":{"title":"v3.1.4 (2020-06-30)","titles":["更新日志"]},"30":{"title":"v3.1.3 (2020-05-04)","titles":["更新日志"]},"31":{"title":"v3.1.2 (2020-04-22)","titles":["更新日志"]},"32":{"title":"v3.1.1 (2020-03-30)","titles":["更新日志"]},"33":{"title":"v3.1.0 (2020-02-28)","titles":["更新日志"]},"34":{"title":"v3.0.9 (2020-02-05)","titles":["更新日志"]},"35":{"title":"v3.0.8 (2020-01-07)","titles":["更新日志"]},"36":{"title":"v3.0.5 (2019-12-05)","titles":["更新日志"]},"37":{"title":"v3.0.4 (2019-11-18)","titles":["更新日志"]},"38":{"title":"v3.0.3 (2019-11-11)","titles":["更新日志"]},"39":{"title":"v3.0.2 (2019-10-29)","titles":["更新日志"]},"40":{"title":"v3.0.1 (2019-09-12)","titles":["更新日志"]},"41":{"title":"v3.0.0 (2019-09-09)","titles":["更新日志"]},"42":{"title":"v2.0.0 (2019-09-03)","titles":["更新日志"]},"43":{"title":"v1.0.5 (2019-08-07)","titles":["更新日志"]},"44":{"title":"v1.0.1 (2019-07-01)","titles":["更新日志"]},"45":{"title":"安装流程","titles":[]},"46":{"title":"代码结构","titles":[]},"47":{"title":"模块划分","titles":["代码结构"]},"48":{"title":"获取最新源码","titles":["代码结构"]},"49":{"title":"目录结构","titles":["代码结构"]},"50":{"title":"Server模块安装","titles":[]},"51":{"title":"Go语言开发环境安装","titles":["Server模块安装"]},"52":{"title":"安装Go","titles":["Server模块安装","Go语言开发环境安装"]},"53":{"title":"配置Go Proxy","titles":["Server模块安装","Go语言开发环境安装"]},"54":{"title":"Go mod使用帮助","titles":[]},"55":{"title":"Go mod 介绍","titles":["Go mod使用帮助"]},"56":{"title":"Go mod 常用命令","titles":["Go mod使用帮助","Go mod 介绍"]},"57":{"title":"在新项目中使用","titles":["Go mod使用帮助","Go mod 介绍"]},"58":{"title":"在旧项目中使用","titles":["Go mod使用帮助","Go mod 介绍"]},"59":{"title":"如何升级依赖","titles":["Go mod使用帮助","Go mod 介绍"]},"60":{"title":"Go mod proxy 配置","titles":["Go mod使用帮助"]},"61":{"title":"安装Go","titles":[]},"62":{"title":"Server 模块安装","titles":[]},"63":{"title":"安装依赖","titles":["Server 模块安装"]},"64":{"title":"编译","titles":["Server 模块安装"]},"65":{"title":"配置","titles":["Server 模块安装"]},"66":{"title":"基本配置","titles":["Server 模块安装","配置"]},"67":{"title":"日志配置","titles":["Server 模块安装","配置"]},"68":{"title":"数据库配置","titles":["Server 模块安装","配置"]},"69":{"title":"上传配置","titles":["Server 模块安装","配置"]},"70":{"title":"ElasticSearch配置","titles":["Server 模块安装","配置"]},"71":{"title":"SMTP邮箱服务配置","titles":["Server 模块安装","配置"]},"72":{"title":"百度SEO配置","titles":["Server 模块安装","配置"]},"73":{"title":"神马搜索SEO配置","titles":["Server 模块安装","配置"]},"74":{"title":"功能介绍","titles":[]},"75":{"title":"概要","titles":["功能介绍"]},"76":{"title":"功能","titles":["功能介绍"]},"77":{"title":"官网","titles":["功能介绍"]},"78":{"title":"技术栈","titles":["功能介绍"]},"79":{"title":"交流群/联系我","titles":["功能介绍"]},"80":{"title":"SQL初始化脚本","titles":[]},"81":{"title":"常见问题","titles":[]},"82":{"title":"数据库如何初始化","titles":["常见问题"]},"83":{"title":"初始化账号密码","titles":["常见问题"]},"84":{"title":"TODO","titles":["常见问题"]},"85":{"title":"🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!","titles":[]},"86":{"title":"联系我","titles":[]}},"dirtCount":0,"index":[["脚本初始化的数据库",{"2":{"83":1}}],["脚本只包含必要的表和配置",{"2":{"82":1}}],["脚本",{"2":{"82":1}}],["扫码加群获取数据库初始化",{"2":{"82":1}}],["欢迎各位同学来这篇文档进行补充你遇到的问题",{"2":{"81":1}}],["常见问题",{"0":{"81":1},"1":{"82":1,"83":1,"84":1}}],["常用命令",{"0":{"56":1}}],["超级管理员",{"2":{"80":2}}],["角色菜单",{"2":{"80":1}}],["角色配置",{"2":{"80":1}}],["角色管理",{"2":{"80":1}}],["权限分配",{"2":{"80":1}}],["权限管理",{"2":{"80":1}}],["菜单管理",{"2":{"80":1}}],["菜单配置",{"2":{"80":1}}],["友情链接",{"2":{"80":1}}],["节点管理",{"2":{"80":1}}],["仪表盘",{"2":{"80":1}}],["积分配置",{"2":{"80":2}}],["天",{"2":{"80":2}}],["话题",{"2":{"80":1}}],["话题节点支持后台自定义图标",{"2":{"16":1}}],["首页",{"2":{"80":1}}],["首页导航栏添加快速发帖入口",{"2":{"32":1}}],["站点导航",{"2":{"80":2}}],["站点关键字",{"2":{"80":2}}],["站点描述",{"2":{"80":2}}],["站点标题",{"2":{"80":2}}],["默认节点",{"2":{"80":3}}],["默认读取当前目录下ip2region",{"2":{"65":1}}],["正如我轻轻的来",{"2":{"80":1}}],["轻轻地我走了",{"2":{"80":1}}],["$2a$10$ofa39bafmpypix",{"2":{"80":1}}],["=",{"2":{"80":23}}],["key",{"2":{"80":17}}],["kataras",{"2":{"78":1}}],["`menu",{"2":{"80":3}}],["`role",{"2":{"80":6}}],["`roles`",{"2":{"80":2}}],["`remark`",{"2":{"80":2}}],["`icon`",{"2":{"80":2}}],["`idx",{"2":{"80":5}}],["`id`",{"2":{"80":22}}],["`path`",{"2":{"80":2}}],["`parent",{"2":{"80":2}}],["`password`",{"2":{"80":2}}],["`value`",{"2":{"80":8}}],["`key`",{"2":{"80":17}}],["`logo`",{"2":{"80":1}}],["`name`",{"2":{"80":16}}],["`nickname`",{"2":{"80":2}}],["`user",{"2":{"80":3}}],["`username`",{"2":{"80":4}}],["`update",{"2":{"80":14}}],["`code`",{"2":{"80":4}}],["`comment",{"2":{"80":2}}],["`create",{"2":{"80":20}}],["`forbidden",{"2":{"80":1}}],["`follow",{"2":{"80":2}}],["`fans",{"2":{"80":2}}],["`sort",{"2":{"80":7}}],["`status`",{"2":{"80":9}}],["`score`",{"2":{"80":3}}],["`description`",{"2":{"80":12}}],["`home",{"2":{"80":1}}],["`background",{"2":{"80":1}}],["`birthday`",{"2":{"80":1}}],["`gender`",{"2":{"80":1}}],["`avatar`",{"2":{"80":2}}],["`email",{"2":{"80":1}}],["`email`",{"2":{"80":4}}],["`type`",{"2":{"80":2}}],["`title`",{"2":{"80":2}}],["`topic",{"2":{"80":2}}],["`t",{"2":{"80":25}}],["密码",{"2":{"80":1}}],["密码为",{"2":{"80":1}}],["密码注册",{"2":{"39":1}}],[">",{"2":{"79":1}}],["qr",{"2":{"79":1}}],["qq",{"2":{"22":1,"39":1,"65":1,"79":1}}],["关注公众号`码农俱乐部`获取更多干货资源",{"2":{"79":1}}],["关闭密码登录后",{"2":{"12":1}}],["渐进式",{"2":{"78":1}}],["框架",{"2":{"78":3}}],["全球广受欢迎的开源数据库",{"2":{"78":1}}],["全新动态功能",{"2":{"20":1}}],["全新的",{"2":{"25":3}}],["全新的帖子信息流展示样式",{"2":{"21":1}}],["全新的话题",{"2":{"20":1}}],["全新的签到",{"2":{"18":1}}],["全新的个人中心样式",{"2":{"15":1}}],["全新的手机版",{"2":{"15":1}}],["全新的前后端分离后台管理系统",{"2":{"14":1}}],["技术栈",{"0":{"78":1}}],["码农俱乐部",{"2":{"77":1,"79":1}}],["码云",{"2":{"77":1}}],["演示站",{"2":{"77":1}}],["交流群",{"0":{"79":1}}],["交流",{"2":{"77":1}}],["交互",{"2":{"20":1}}],["官网",{"0":{"77":1}}],["基于go语言的开源社区系统",{"2":{"80":1}}],["基于",{"2":{"75":2,"78":1}}],["基本配置",{"0":{"66":1}}],["后端接口服务使用简洁的",{"2":{"75":1}}],["后台",{"2":{"45":1}}],["后台支持多",{"2":{"42":1}}],["后台支持多标签",{"2":{"41":1}}],["后台支持配置登录方式",{"2":{"19":1}}],["后台登录支持图片验证码",{"2":{"35":1}}],["后台新增标签管理功能",{"2":{"30":1}}],["后台新增动态管理功能",{"2":{"30":1}}],["初始化帐号密码为",{"2":{"83":1}}],["初始化账号密码",{"0":{"83":1}}],["初始化账号为",{"2":{"80":1}}],["初始化默认配置",{"2":{"82":1}}],["初始化默认账号",{"2":{"82":1}}],["初始化",{"2":{"82":1}}],["初始化系统配置数据",{"2":{"80":1}}],["初始化系统配置表",{"2":{"80":1}}],["初始化话题节点",{"2":{"80":1}}],["初始化用户数据",{"2":{"80":1}}],["初始化用户表",{"2":{"80":1}}],["初始化脚本件目录",{"2":{"45":1}}],["初期该项目仅用过学习和交流",{"2":{"75":1}}],["跨平台的社区系统",{"2":{"75":1}}],["精美小巧",{"2":{"75":1}}],["前提是你已经正确配置了数据库连接",{"2":{"82":1}}],["前端页面使用",{"2":{"75":1}}],["前后端分离",{"2":{"75":1}}],["前台",{"2":{"45":1}}],["前台界面提供话题的推荐功能",{"2":{"20":1}}],["概要",{"0":{"75":1}}],["神马搜索seo配置",{"0":{"73":1}}],["神马搜索seo相关",{"2":{"65":1}}],["百度seo配置",{"0":{"72":1}}],["百度seo相关配置",{"2":{"65":1}}],["数据库如何初始化",{"0":{"82":1}}],["数据库配置",{"0":{"68":1}}],["数据库连接",{"2":{"65":1}}],["用于邮件通知",{"2":{"65":1}}],["用户角色",{"2":{"80":1}}],["用户管理",{"2":{"80":1}}],["用户管理入口",{"2":{"19":1}}],["用户登录有效期",{"2":{"80":2}}],["用户登录时支持图片验证码",{"2":{"35":1}}],["用户名",{"2":{"80":1}}],["用户禁言",{"2":{"17":1}}],["用户注册时支持图片验证码",{"2":{"35":1}}],["用户注册",{"2":{"12":1}}],["用户资料新增性别",{"2":{"6":1}}],["邮件服务器配置",{"2":{"65":1}}],["邮箱验证开关",{"2":{"17":1}}],["邮箱认证白名单功能",{"2":{"4":1}}],["上传目录",{"2":{"65":1}}],["上传文件域名",{"2":{"65":1}}],["上传配置",{"0":{"69":1},"2":{"65":1}}],["详情图片样式名称",{"2":{"65":1}}],["详情在手机屏幕上的展示",{"2":{"33":1}}],["小图样式名称",{"2":{"65":1}}],["头像图片样式名称",{"2":{"65":1}}],["头像修改失败的问题",{"2":{"12":1}}],["阿里云oss图片样式分隔符",{"2":{"65":1}}],["阿里云oss配置",{"2":{"65":1}}],["启用上传方式",{"2":{"65":1}}],["保留的最大旧文件数量",{"2":{"65":1}}],["保留旧文件的最大天数",{"2":{"65":1}}],["日志文件的位置",{"2":{"65":1}}],["日志配置",{"0":{"67":1},"2":{"65":1}}],["日志输出到文件时同时支持输出到控制台",{"2":{"23":1}}],["最好用的",{"2":{"78":1}}],["最新数据文件请从这里下载",{"2":{"65":1}}],["最后回复时间",{"2":{"21":1}}],["根路径下的静态文件目录",{"2":{"65":1}}],["根据需要选择登录方式",{"2":{"19":1}}],["端口",{"2":{"65":1}}],["网站域名",{"2":{"65":1}}],["测试环境",{"2":{"65":1}}],["线上环境",{"2":{"65":1}}],["环境",{"2":{"65":1}}],["接下来我们看如何配置",{"2":{"64":1}}],["因为还没有正确配置数据库等信息",{"2":{"64":1}}],["但我们先不着急执行",{"2":{"64":1}}],["编译成功后",{"2":{"64":1}}],["编译",{"0":{"64":1}}],["编辑go",{"2":{"56":1}}],["编辑器功能错误",{"2":{"33":1}}],["编辑器",{"2":{"16":1,"26":1,"36":1}}],["执行下面命令进行编译",{"2":{"64":1}}],["执行下面命令安装依赖",{"2":{"63":1}}],["执行下面命令将代码clone到本地",{"2":{"48":1}}],["进入",{"2":{"63":1}}],["进行开发",{"2":{"75":1}}],["进行",{"2":{"25":1}}],["命令可以看到效果",{"2":{"60":1}}],["命名参数",{"2":{"25":1}}],["我们执行",{"2":{"60":1}}],["我一直在使用goproxy",{"2":{"60":1}}],["注意",{"2":{"60":1}}],["下面我们执行一下命令来设置goproxy",{"2":{"60":1}}],["下载依赖的module到本地cache",{"2":{"56":1}}],["下载对应系统的go语言安装包",{"2":{"52":1,"61":1}}],["很稳定",{"2":{"60":1}}],["七牛也是目前国内使用go语言经验比较丰富的公司",{"2":{"60":1}}],["他的服务由七牛提供支持",{"2":{"60":1}}],["他是国内最早提供goproxy代理的服务",{"2":{"60":1}}],["目录",{"2":{"63":1}}],["目录结构",{"0":{"49":1}}],["目前国内优质的go",{"2":{"60":1}}],["所以很多依赖无法成功下载",{"2":{"60":1}}],["所以你的新项目可以放到任意你喜欢的路径",{"2":{"57":1}}],["国内是无法稳定的访问google的服务",{"2":{"60":1}}],["众所周知的原因",{"2":{"60":1}}],["配置示例如下",{"2":{"65":1}}],["配置完成后",{"2":{"60":1}}],["配置",{"0":{"60":1,"65":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1},"2":{"65":1}}],["配置go",{"0":{"53":1}}],["zhanzhang",{"2":{"65":1}}],["ziyuan",{"2":{"65":1}}],["z是修订版本号y是次要版本号",{"2":{"59":1}}],["z",{"2":{"59":1}}],["zzy624",{"2":{"30":1}}],["运行",{"2":{"59":3}}],["而是会下载到$gopath",{"2":{"57":1}}],["然后将bbs",{"2":{"65":1}}],["然后执行go",{"2":{"57":1}}],["然后你可以在其中增加你的依赖",{"2":{"57":1}}],["一行一条",{"2":{"57":1}}],["一共分为三个模块",{"2":{"47":1}}],["添加到这里",{"2":{"57":1}}],["你的依赖类似这样",{"2":{"57":1}}],["你可能需要用到sudo",{"2":{"45":1}}],["xiz7jtomh9jnpvyfprlzhxqatlpfpbe",{"2":{"80":1}}],["x26",{"2":{"65":3}}],["xdb文件",{"2":{"65":1}}],["x",{"2":{"59":1,"63":1}}],["xxx",{"2":{"57":1}}],["xss",{"2":{"4":1,"13":1,"30":1}}],["会在当前目录生成二进制可执行文件",{"2":{"64":1}}],["会在项目根目录下生成一个go",{"2":{"58":1}}],["会生成一个go",{"2":{"57":1}}],["会添加丢失的module",{"2":{"56":1}}],["解释为什么需要依赖",{"2":{"56":1}}],["解决大数据量时加载性能问题",{"2":{"29":1}}],["校验依赖",{"2":{"56":1}}],["删除不需要的module",{"2":{"56":1}}],["就是会新建一个go",{"2":{"56":1}}],["打印模块依赖图",{"2":{"56":1}}],["项目",{"2":{"55":1}}],["项目地址分别为",{"2":{"48":1}}],["让开发者能够轻松地添加",{"2":{"55":1}}],["让eslint没有警告",{"2":{"37":1}}],["其他的表会在系统启动时自动创建",{"2":{"82":1}}],["其他多处细节调整和",{"2":{"20":1}}],["其主要目标是解决项目依赖的版本管理问题",{"2":{"55":1}}],["自",{"2":{"55":1}}],["自己发布的主题帖支持修改",{"2":{"44":1}}],["语言数据库",{"2":{"78":1}}],["语言",{"2":{"78":1}}],["语言开发后端接口服务",{"2":{"75":1}}],["语言进行开发",{"2":{"75":1}}],["语言研发的开源",{"2":{"75":1}}],["语言官方的依赖管理系统",{"2":{"55":1}}],["语言接口部分代码",{"2":{"31":1}}],["是一款基于",{"2":{"75":1}}],["是",{"2":{"55":1}}],["是go语言界orm产品的扛把子",{"2":{"25":1}}],["介绍",{"0":{"55":1},"1":{"56":1,"57":1,"58":1,"59":1}}],["如何升级依赖",{"0":{"59":1}}],["如何安装go语言开发包",{"2":{"52":1,"61":1}}],["如下图",{"2":{"60":1}}],["如下",{"2":{"57":1}}],["如果是使用官方提供的",{"2":{"83":1}}],["如果你在执行该命令时报错",{"2":{"60":1}}],["如果你没有权限执行docker",{"2":{"45":1}}],["如果本地不存在",{"2":{"45":1}}],["如果非root账号执行",{"2":{"45":1}}],["请配置成你自己的",{"2":{"65":7}}],["请自行google",{"2":{"52":1,"61":1}}],["请去官网",{"2":{"52":1,"61":1}}],["请先确保会使用git",{"2":{"48":1}}],["└──",{"2":{"49":10}}],["y",{"2":{"59":1}}],["yamlenv",{"2":{"65":1}}],["yaml中的配置修改为你自己的配置",{"2":{"65":1}}],["yaml",{"2":{"49":4,"65":2}}],["yml",{"2":{"49":1}}],["ymlversion",{"2":{"45":1}}],["yml文件",{"2":{"45":1}}],["│",{"2":{"49":122}}],["├──",{"2":{"49":74}}],["以及解决方案",{"2":{"81":1}}],["以mb为单位",{"2":{"65":1}}],["以github为例",{"2":{"48":1}}],["以提高性能",{"2":{"3":1}}],["word",{"2":{"80":1}}],["where",{"2":{"80":18}}],["why",{"2":{"56":1}}],["weixin",{"2":{"79":1}}],["with",{"2":{"78":1}}],["windows系统为bbs",{"2":{"64":1}}],["windows",{"2":{"18":1}}],["w是不支持老版本go语言sdk的",{"2":{"60":1}}],["w",{"2":{"60":1}}],["www",{"2":{"48":1,"62":1,"65":2,"78":1}}],["获取最新源码",{"0":{"48":1}}],["开发的社区运营",{"2":{"75":1}}],["开发的社区前台",{"2":{"75":1}}],["开发的后台管理系统",{"2":{"47":1}}],["开源之后越来越多的小伙伴儿开始喜欢和关注他",{"2":{"75":1}}],["开始之前请确保正确安装go语言开发环境",{"2":{"62":1}}],["开启后站外链接需要用户确认后才能进行跳转",{"2":{"37":1}}],["+",{"2":{"47":2,"52":1,"61":1}}],["模块安装",{"0":{"62":1},"1":{"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1}}],["模块划分",{"0":{"47":1}}],["模式",{"2":{"11":1,"25":1}}],["模式下多处样式细节问题",{"2":{"6":1}}],["服务",{"2":{"75":1}}],["服务地址如下",{"2":{"45":1}}],["服务启动成功",{"2":{"45":1}}],["并命名为",{"2":{"65":1}}],["并设置已经设置好环境变量",{"2":{"62":1}}],["并且将他们下载下来",{"2":{"58":1}}],["并在",{"2":{"55":1}}],["并启动容器",{"2":{"45":1}}],["并进入该目录",{"2":{"45":1}}],["此命令将下载所需的docker镜像",{"2":{"45":1}}],["挂在配置文件目录",{"2":{"45":1}}],["挂载目录必须是登录账号下目录",{"2":{"45":1}}],["挂载数据件目录",{"2":{"45":1}}],["layout",{"2":{"49":1}}],["layouts",{"2":{"49":1}}],["latest",{"2":{"45":3}}],["link",{"2":{"80":3}}],["lionsoul2014",{"2":{"65":1}}],["license",{"2":{"49":2}}],["lib",{"2":{"45":1}}],["loc=local",{"2":{"65":1}}],["local",{"2":{"65":1}}],["locale",{"2":{"49":1}}],["localhost",{"2":{"45":2,"65":1}}],["lock",{"2":{"49":2,"80":1}}],["log",{"2":{"65":1}}],["logs",{"2":{"65":1}}],["logo",{"2":{"32":1}}],["logger",{"2":{"25":1,"65":1}}],["这也是我长期升级和维护的动力",{"2":{"75":1}}],["这里我推荐使用goproxy",{"2":{"60":1}}],["这里就不对赘述了",{"2":{"52":1,"61":1}}],["这个文件是可以执行的",{"2":{"64":1}}],["这个时候我们就要为go",{"2":{"60":1}}],["这个目录中的",{"2":{"45":1}}],["这样所有使用go",{"2":{"57":1}}],["这些依赖并不是下载到你的项目目录下",{"2":{"57":1}}],["这种方式在加载列表时不需要count列表总数量",{"2":{"37":1}}],["创建docker",{"2":{"45":1}}],["创建目录",{"2":{"45":1}}],["该文件为sql初始化脚本",{"2":{"45":1}}],["准备sql初始化脚本",{"2":{"45":1}}],["本地文件上传",{"2":{"65":1}}],["本文将向你介绍如何使用",{"2":{"55":1}}],["本安装流程介绍的是如何使用docker快速安装bbs",{"2":{"45":1}}],["本次升级的gorm2",{"2":{"25":1}}],["本次主要更新gorm",{"2":{"25":1}}],["操作更方便",{"2":{"42":1}}],["页签",{"2":{"42":1}}],["设置环境变量等",{"2":{"52":1,"61":1}}],["设置密码",{"2":{"39":1}}],["设置邮箱",{"2":{"39":1}}],["作者的",{"2":{"38":1}}],["侧边栏导航都能在后台配置",{"2":{"38":1}}],["导航菜单",{"2":{"38":1}}],["的服务端渲染框架",{"2":{"78":1}}],["的",{"2":{"38":1}}],["的依赖",{"2":{"7":1,"13":1}}],["⚠️",{"2":{"37":1}}],["当数据量大时count很耗时",{"2":{"37":1}}],["将他复制一份",{"2":{"65":1}}],["将会升级到指定的版本",{"2":{"59":1}}],["将会升级到最新的修订版本",{"2":{"59":1}}],["将会升级到最新的次要版本或者修订版本",{"2":{"59":1}}],["将依赖下载到本地",{"2":{"57":1}}],["将依赖复制到vendor下",{"2":{"56":1}}],["将公用部分抽象成可复用组件",{"2":{"37":1}}],["将加载方式修改为上拉加载更多",{"2":{"37":1}}],["将前端框架升级到最新的",{"2":{"3":1}}],["为系统提供数据支撑",{"2":{"75":1}}],["为前后端分离设计",{"2":{"75":1}}],["为后期开箱即用做准备",{"2":{"36":1}}],["为多个数据库提供了官方插件",{"2":{"25":1}}],["整理依赖关系",{"2":{"56":1}}],["整理代码",{"2":{"36":1}}],["整理和优化代码",{"2":{"29":1}}],["整理和优化后台管理菜单",{"2":{"29":1}}],["不需要在单独部署",{"2":{"34":1}}],["完善和重构代码",{"2":{"44":1}}],["完善后台帖子管理功能",{"2":{"44":1}}],["完善后台功能",{"2":{"42":1}}],["完善后台配置功能",{"2":{"38":1}}],["完善配置部署文档",{"2":{"38":1}}],["完善帖子详情页用户点赞功能",{"2":{"34":1}}],["完善社区公告功能",{"2":{"34":1}}],["完善数据库初始化脚本",{"2":{"23":1}}],["去掉第三方图片的依赖",{"2":{"33":1}}],["去掉对",{"2":{"7":1}}],["错误的问题",{"2":{"32":1}}],["读取内容错误的问题",{"2":{"32":1}}],["读写分离",{"2":{"25":1}}],["显示问题",{"2":{"32":1}}],["做一个追求完美的人",{"2":{"32":1}}],["之前仅支持上传到阿里云",{"2":{"32":1}}],["之前只能配置到小时",{"2":{"27":1}}],["文档",{"2":{"65":2}}],["文件最大尺寸",{"2":{"65":1}}],["文件支持上传到服务器",{"2":{"32":1}}],["文章管理",{"2":{"80":1}}],["文章",{"2":{"5":1,"80":1}}],["文章封面图支持",{"2":{"5":1}}],["按需加载",{"2":{"32":1}}],["拖拽上传",{"2":{"32":1}}],["推荐版本",{"2":{"52":1,"61":1}}],["推荐通知",{"2":{"22":1}}],["推文图片支持粘贴板上传",{"2":{"32":1}}],["沟通更顺畅",{"2":{"32":1}}],["快速部署",{"2":{"38":1}}],["快速省带宽",{"2":{"32":1}}],["快速启动",{"2":{"6":1,"27":1}}],["快捷发表推文",{"2":{"32":1}}],["同时支持markdown和存文本回复",{"2":{"31":1}}],["图片配置缩图规则",{"2":{"31":1}}],["owner",{"2":{"80":2}}],["org",{"2":{"78":1}}],["orm",{"2":{"78":1}}],["open",{"2":{"65":1,"79":1}}],["optimizer",{"2":{"25":1}}],["on",{"2":{"45":6}}],["oss",{"2":{"31":1,"32":1,"65":1}}],["漏洞",{"2":{"30":1}}],["漏洞修复",{"2":{"4":2}}],["也可关闭观察期",{"2":{"28":1}}],["观察期时长可后台设置",{"2":{"28":1}}],["禁言原因",{"2":{"28":1}}],["可配置绝对路径",{"2":{"65":1}}],["可以通过执行以下命令来设置goproxy",{"2":{"60":1}}],["可通过浏览器访问服务",{"2":{"45":1}}],["可邀请版主一起管理社区",{"2":{"29":1}}],["可设置禁言时长",{"2":{"28":1}}],["可维护性和扩展性",{"2":{"3":1}}],["管理员",{"2":{"80":2}}],["管理员可在前台界面删除",{"2":{"28":1}}],["管理你的",{"2":{"55":1}}],["管理后台无法登录的问题",{"2":{"12":1}}],["修改页面样式配色",{"2":{"41":1}}],["修改网站样式和配色",{"2":{"36":1,"37":1}}],["修改话题和文章",{"2":{"28":1}}],["修改个人主页布局",{"2":{"26":1}}],["修复两个数据越权访问的bug",{"2":{"44":1}}],["修复各种",{"2":{"42":1}}],["修复其他若干",{"2":{"34":1}}],["修复帖子被回复相关系统消息发送逻辑错误的问题",{"2":{"34":1}}],["修复帖子管理菜单权限控制错误的问题",{"2":{"18":1}}],["修复话题修改页面",{"2":{"32":1}}],["修复编辑内容为空的话题时",{"2":{"32":1}}],["修复标签文章列表排序不正确问题",{"2":{"30":1}}],["修复友情链接跳转问题",{"2":{"30":1}}],["修复后台友情链接",{"2":{"32":1}}],["修复后台修改用户密码和角色的",{"2":{"32":1}}],["修复后台用户头像显示错误问题",{"2":{"30":1}}],["修复后台用户角色修改失败的问题",{"2":{"30":1}}],["修复后台几个",{"2":{"12":1}}],["修复评论功能的一个",{"2":{"30":1}}],["修复评论数量显示错误的问题",{"2":{"20":1}}],["修复用户中心侧边栏管理菜单显示错误的问题",{"2":{"26":1}}],["修复gorm日志不打印问题",{"2":{"24":1}}],["修复升级gorm2后造成的点赞失败问题",{"2":{"24":1}}],["修复动态发表时上传多张图片被覆盖的问题",{"2":{"19":1}}],["修复头像展示变形的问题",{"2":{"18":1}}],["修复注册链接跳转失效的问题",{"2":{"18":1}}],["修复积分记录展示错误问题",{"2":{"17":1}}],["修复阿里云图片上传后缀错误问题",{"2":{"16":1}}],["修复一个",{"2":{"13":1,"24":1}}],["修复一个越权查看他人邮箱信息的漏洞",{"2":{"4":1}}],["修复二级评论无消息通知的",{"2":{"11":1}}],["修复二级回复消息查看跳转错误",{"2":{"5":1}}],["修复",{"2":{"6":2,"12":4,"18":1,"20":1,"22":1,"33":1}}],["修复外链跳转",{"2":{"4":1}}],["签到获积分",{"2":{"26":1}}],["签到功能",{"2":{"26":1}}],["7",{"0":{"26":1},"2":{"26":1,"80":5}}],["例如用户表",{"2":{"82":1}}],["例如",{"2":{"25":1}}],["索引名称规则",{"2":{"25":1}}],["外键",{"2":{"25":1}}],["连接表名",{"2":{"25":1}}],["字段名",{"2":{"25":1}}],["表名",{"2":{"25":1}}],["统一命名策略",{"2":{"25":1}}],["增强",{"2":{"31":2,"32":1}}],["增强索引支持",{"2":{"25":1}}],["增强前台页面的管理能力",{"2":{"19":1}}],["检查器",{"2":{"25":2}}],["a",{"2":{"80":1}}],["auto",{"2":{"80":7}}],["automigrate",{"2":{"25":1}}],["articles",{"2":{"80":1}}],["article",{"2":{"65":1,"80":2}}],["arco",{"2":{"47":1}}],["accesssecret",{"2":{"65":1}}],["accessid",{"2":{"65":1}}],["aliyunoss",{"2":{"65":1}}],["allowedorigins",{"2":{"65":1}}],["always",{"2":{"45":1}}],["assets",{"2":{"49":2}}],["asia",{"2":{"45":1}}],["app",{"2":{"49":2}}],["api",{"2":{"25":1,"49":1}}],["admin模块",{"2":{"49":1}}],["admin",{"2":{"45":4,"47":1,"49":1,"75":1,"80":4,"83":1}}],["athom",{"2":{"38":1}}],["更好的自定义类型支持",{"2":{"25":1}}],["更智能的",{"2":{"25":1}}],["更新和移除依赖",{"2":{"55":1}}],["更新markdown语法帮助文档",{"2":{"23":1}}],["更新日志",{"0":{"2":1},"1":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["允许为关系创建数据库外键",{"2":{"25":1}}],["允许多个字段用于追踪",{"2":{"25":1}}],["带插件的统一接口",{"2":{"25":1}}],["忽略",{"2":{"25":1}}],["只需要一下两个步骤",{"2":{"58":1}}],["只更新",{"2":{"25":1}}],["只创建",{"2":{"25":1}}],["只写",{"2":{"25":1}}],["只读",{"2":{"25":1}}],["秒",{"2":{"25":1}}],["纳",{"2":{"25":1}}],["毫",{"2":{"25":1}}],["时间",{"2":{"25":1}}],["批量数据的关联模式",{"2":{"25":1}}],["批量插入",{"2":{"25":1}}],["改进可扩展性",{"2":{"25":1}}],["改进",{"2":{"25":1,"27":1}}],["改进点如下",{"2":{"25":1}}],["子查询改进",{"2":{"25":1}}],["h2",{"2":{"65":1}}],["host",{"2":{"65":3}}],["hooks",{"2":{"49":1}}],["hook",{"2":{"25":1}}],["html",{"2":{"49":1}}],["http",{"2":{"38":1,"45":2,"65":1,"78":1}}],["https",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":4,"39":2,"40":1,"41":1,"42":1,"43":1,"44":1,"48":3,"52":1,"60":2,"61":1,"62":1,"65":5,"77":2,"78":5,"79":5}}],["healthy",{"2":{"45":1}}],["healthcheck",{"2":{"45":1}}],["hint",{"2":{"25":1}}],["锁",{"2":{"25":1}}],["分组条件",{"2":{"25":1}}],["role`",{"2":{"80":7}}],["role",{"2":{"80":6}}],["rollback",{"2":{"25":1}}],["router",{"2":{"49":1}}],["root",{"2":{"45":1}}],["require",{"2":{"57":1}}],["repositories",{"2":{"49":1}}],["readme",{"2":{"49":3}}],["retries",{"2":{"45":1}}],["restart",{"2":{"45":4}}],["re",{"2":{"18":1}}],["releases",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["checkinscore",{"2":{"80":1}}],["charset",{"2":{"80":7}}],["charset=utf8mb4",{"2":{"65":1}}],["character",{"2":{"45":1}}],["cn",{"2":{"60":5,"65":1}}],["cname",{"2":{"49":1}}],["cache",{"2":{"49":1}}],["cmd",{"2":{"49":1}}],["cldjms",{"2":{"80":1}}],["clone",{"2":{"48":1}}],["club",{"2":{"38":1,"39":1,"65":3,"79":4}}],["ci",{"2":{"45":1}}],["crud",{"2":{"25":1}}],["create",{"2":{"25":2,"79":2,"80":7}}],["count`",{"2":{"80":8}}],["courseinfo",{"2":{"65":1}}],["code",{"2":{"79":1}}],["code贡献代码",{"2":{"18":1}}],["college",{"2":{"65":1}}],["collation",{"2":{"45":1}}],["condition",{"2":{"45":1}}],["config`",{"2":{"80":8}}],["config",{"2":{"49":9,"80":7}}],["conf",{"2":{"45":2}}],["controllers",{"2":{"49":1}}],["container",{"2":{"45":4}}],["context",{"2":{"25":3,"45":3}}],["composables",{"2":{"49":2}}],["compose命令",{"2":{"45":1}}],["compose",{"2":{"45":5,"49":1}}],["components",{"2":{"49":3}}],["commitlint",{"2":{"49":1}}],["command",{"2":{"45":1}}],["comment",{"2":{"25":1}}],["com",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"48":4,"57":2,"62":1,"65":3,"77":2,"78":3,"79":1,"80":1}}],["t",{"2":{"80":8}}],["text",{"2":{"80":5}}],["test",{"2":{"45":1,"49":1}}],["true",{"2":{"65":1}}],["tree",{"2":{"65":1}}],["tcp",{"2":{"65":1}}],["types",{"2":{"49":1}}],["tsconfig",{"2":{"49":3}}],["ts",{"2":{"49":8}}],["timestamp",{"2":{"80":70}}],["time`",{"2":{"80":35}}],["timeout",{"2":{"45":1}}],["tinyint",{"2":{"80":1}}],["tidy",{"2":{"56":1,"58":1}}],["tip",{"2":{"48":1,"81":1}}],["title14",{"2":{"65":1}}],["title",{"2":{"32":1,"80":3}}],["tz",{"2":{"45":1}}],["tab",{"2":{"42":1}}],["tables",{"2":{"45":1}}],["table",{"2":{"25":1,"80":11}}],["tag",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["todo",{"0":{"84":1},"2":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1}}],["tokenexpiredays",{"2":{"80":2}}],["token",{"2":{"65":2}}],["topicnode",{"2":{"80":1}}],["topics",{"2":{"80":1}}],["topic",{"2":{"38":1,"39":1,"65":1,"79":4,"80":7}}],["to",{"2":{"25":2}}],["forbidden",{"2":{"80":1}}],["forbiddenword",{"2":{"80":1}}],["file",{"2":{"80":1}}],["filename",{"2":{"65":1}}],["findinbatches",{"2":{"25":1}}],["find",{"2":{"25":1}}],["failure",{"2":{"45":3}}],["from",{"2":{"25":1,"80":18}}],["feature",{"2":{"18":1,"19":5,"21":5,"22":1,"30":7}}],["预览图片样式名称",{"2":{"65":1}}],["预加载",{"2":{"25":1}}],["预编译模式",{"2":{"25":1}}],["javascript",{"2":{"78":1}}],["join",{"2":{"25":2}}],["js来渲染前端界面",{"2":{"43":1}}],["json",{"2":{"25":1,"49":5}}],["js的加载逻辑",{"2":{"23":1}}],["js",{"2":{"3":1,"16":1,"49":3,"75":3,"78":2}}],["性能改进",{"2":{"25":1}}],["深度优化性能",{"2":{"25":1}}],["从零开始",{"2":{"25":1}}],["从心出发",{"0":{"0":1,"85":1}}],["在项目根目录下执行该命令",{"2":{"58":2}}],["在项目根目录下执行go",{"2":{"57":1}}],["在旧项目中使用非常简单",{"2":{"58":1}}],["在旧项目中使用",{"0":{"58":1}}],["在新项目中使用",{"0":{"57":1}}],["在当前目录下初始化go",{"2":{"56":1}}],["在bbs",{"2":{"45":1}}],["在你的电脑上创建目录",{"2":{"45":1}}],["在安装之前请确保您已经正确安装并启动docker服务",{"2":{"45":1}}],["在gorm2",{"2":{"25":1}}],["在前台页面增加多出话题",{"2":{"19":1}}],["80",{"2":{"45":1}}],["8080",{"2":{"45":2}}],["8082",{"2":{"45":2,"65":1}}],["8",{"0":{"25":1,"35":1},"2":{"25":1,"35":1,"45":2,"80":5}}],["950827012b8d",{"2":{"79":1}}],["9200",{"2":{"65":1}}],["9",{"0":{"24":1,"34":1},"2":{"24":1,"34":1,"80":5}}],["提示",{"2":{"45":1,"62":1,"80":1}}],["提升性能",{"2":{"29":1}}],["提升网站加载速度",{"2":{"23":1}}],["提供完整的",{"2":{"3":1}}],["提供全新的管理后台",{"2":{"3":1}}],["登录",{"2":{"39":1}}],["登录异常的问题",{"2":{"22":1}}],["登录页面样式",{"2":{"12":1}}],["收藏通知",{"2":{"22":1}}],["个人主页新增我的动态",{"2":{"22":1}}],["个人资料编辑页面",{"2":{"12":1}}],["记录管理员",{"2":{"29":1}}],["记录帖子最后回复人",{"2":{"21":1}}],["记录发帖",{"2":{"12":1}}],["安装依赖",{"0":{"63":1}}],["安装教程详见",{"2":{"62":1}}],["安装go",{"0":{"52":1,"61":1}}],["安装步骤如下",{"2":{"45":1}}],["安装流程",{"0":{"45":1}}],["安装时的痛苦了",{"2":{"19":1}}],["安全问题修复",{"2":{"10":1}}],["再也不用忍受",{"2":{"19":1}}],["nav",{"2":{"80":1}}],["names",{"2":{"80":1}}],["name",{"2":{"45":4}}],["null",{"2":{"80":57}}],["nuxt开发的前台页面服务",{"2":{"47":1}}],["nuxt",{"2":{"16":1,"17":1,"49":1,"75":1,"78":2}}],["nuxt3",{"2":{"3":1}}],["no`",{"2":{"80":8}}],["now",{"2":{"80":70}}],["not",{"2":{"80":37}}],["node`",{"2":{"80":3}}],["nodeid=6",{"2":{"79":2}}],["node",{"2":{"19":2,"80":1}}],["替换",{"2":{"19":1}}],["sys",{"2":{"80":15}}],["systems",{"2":{"78":1}}],["sort",{"2":{"80":1}}],["scoreconfig",{"2":{"80":2}}],["score`",{"2":{"80":1}}],["scalable",{"2":{"78":1}}],["scheduler",{"2":{"49":1}}],["simple",{"2":{"78":1}}],["sitenavs",{"2":{"80":2}}],["sitekeywords",{"2":{"80":2}}],["sitedescription",{"2":{"80":2}}],["sitetitle",{"2":{"80":2}}],["site模块",{"2":{"49":1}}],["site",{"2":{"45":4,"47":1,"49":1,"65":2,"75":1}}],["sitemap",{"2":{"19":1}}],["smseo",{"2":{"65":1}}],["sm",{"2":{"65":1}}],["smtp邮箱服务配置",{"0":{"71":1}}],["smtp",{"2":{"65":2}}],["ssl",{"2":{"65":1}}],["ssrf漏洞",{"2":{"24":1}}],["stop",{"2":{"80":1}}],["store",{"2":{"49":1}}],["stores",{"2":{"49":1}}],["st",{"2":{"65":2}}],["styledetail",{"2":{"65":1}}],["stylesmall",{"2":{"65":1}}],["stylesplitter",{"2":{"65":1}}],["stylepreview",{"2":{"65":1}}],["styleavatar",{"2":{"65":1}}],["status`",{"2":{"80":1}}],["staticpath",{"2":{"65":1}}],["start",{"2":{"49":1}}],["src",{"2":{"49":2}}],["spam",{"2":{"49":1}}],["sum",{"2":{"49":1}}],["shellexport",{"2":{"60":1}}],["shellgo",{"2":{"60":1,"63":1,"64":1}}],["shellgit",{"2":{"48":1}}],["show",{"2":{"45":1}}],["sh",{"2":{"45":1,"49":1}}],["shanghai",{"2":{"45":1}}],["select",{"2":{"80":18}}],["secure",{"2":{"78":1}}],["service",{"2":{"45":1}}],["services",{"2":{"45":1,"49":1}}],["server模块的依赖使用go",{"2":{"63":1}}],["server模块安装",{"0":{"50":1},"1":{"51":1,"52":1,"53":1}}],["server服务端模块",{"2":{"49":1}}],["server",{"0":{"62":1},"1":{"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1},"2":{"45":6,"47":1,"49":5,"63":1,"75":1}}],["server=utf8mb4",{"2":{"45":2}}],["settings",{"2":{"80":3}}],["set",{"2":{"45":1,"80":1}}],["seo",{"2":{"23":1}}],["sdk",{"2":{"30":1}}],["sqluse",{"2":{"80":1}}],["sql初始化脚本",{"0":{"80":1}}],["sql文件会以字母顺序依次执行",{"2":{"45":1}}],["sql脚本内容请加qq群获取",{"2":{"45":1}}],["sql",{"2":{"25":1,"45":1,"57":1,"82":2,"83":1}}],["savepoint",{"2":{"25":2}}],["sass",{"2":{"19":3}}],["使用go",{"2":{"57":1}}],["使用go语言开发的服务端接口服务",{"2":{"47":1}}],["使用vue",{"2":{"47":1}}],["使用vditor编辑器",{"2":{"41":1}}],["使用node",{"2":{"47":1}}],["使用docker",{"2":{"45":1}}],["使用sql表达式",{"2":{"25":1}}],["使用",{"2":{"19":1}}],["生成器",{"2":{"25":1}}],["生成策略",{"2":{"19":1}}],["生日",{"2":{"6":1}}],["调整多处样式细节",{"2":{"32":1}}],["调整",{"2":{"19":1}}],["调整搜索框样式",{"2":{"12":1}}],["代码结构",{"0":{"46":1},"1":{"47":1,"48":1,"49":1}}],["代码结构重构",{"2":{"18":1}}],["代码模块化",{"2":{"25":1}}],["代码高亮改用",{"2":{"6":1}}],["平台中上传图片路径错误的问题",{"2":{"18":1}}],["感谢",{"2":{"38":1}}],["感谢热心用户",{"2":{"38":1}}],["感谢alice",{"2":{"18":1}}],["感谢长亭科技",{"2":{"4":3}}],["排行榜样式",{"2":{"18":1}}],["永久禁言用户积分清零",{"2":{"17":1}}],["集成",{"2":{"17":1,"25":1}}],["集成新的",{"2":{"16":1}}],["反作弊系统",{"2":{"17":1}}],["64",{"2":{"80":3}}],["609",{"2":{"38":1,"39":1,"79":2}}],["6",{"0":{"17":1,"27":1},"2":{"17":1,"27":1,"80":5}}],["elasticsearch配置",{"0":{"70":1}}],["element",{"2":{"13":1}}],["es",{"2":{"65":2}}],["edit",{"2":{"56":1}}],["editor",{"2":{"16":1}}],["error",{"2":{"49":1}}],["ecosystem",{"2":{"49":1}}],["exists",{"2":{"80":13}}],["exe",{"2":{"64":1}}],["execute",{"2":{"45":1}}],["example",{"2":{"49":1,"65":1,"80":1}}],["etc",{"2":{"45":1}}],["engine",{"2":{"80":7}}],["end",{"2":{"80":1}}],["endpoint",{"2":{"65":1}}],["enable",{"2":{"65":1}}],["env",{"2":{"49":1,"60":3}}],["environment",{"2":{"45":1}}],["entrypoint",{"2":{"45":3}}],["enhance",{"2":{"30":1}}],["enhancement",{"2":{"21":1,"22":5}}],["组件自动导入",{"2":{"16":1}}],["功能建议",{"2":{"79":1}}],["功能建议收集",{"2":{"38":1,"39":1}}],["功能介绍",{"0":{"74":1},"1":{"75":1,"76":1,"77":1,"78":1,"79":1}}],["功能增强",{"2":{"26":1}}],["功能",{"0":{"76":1},"2":{"16":1,"31":1}}],["加载更多",{"2":{"16":1}}],["版主的管理记录",{"2":{"29":1}}],["版页面样式",{"2":{"15":1}}],["版本中成为默认的依赖管理工具",{"2":{"55":1}}],["版本起引入",{"2":{"55":1}}],["版本",{"2":{"3":1}}],["permission",{"2":{"80":4}}],["postcommentscore",{"2":{"80":1}}],["posttopicscore",{"2":{"80":1}}],["port",{"2":{"65":2}}],["ports",{"2":{"45":3}}],["plugin",{"2":{"49":1}}],["plain",{"2":{"49":1}}],["public",{"2":{"49":1}}],["pull",{"2":{"38":2}}],["pnpm",{"2":{"49":2}}],["pkg",{"2":{"49":1,"57":1}}],["page`",{"2":{"80":1}}],["page=2",{"2":{"65":1}}],["pages",{"2":{"49":1}}],["path",{"2":{"65":1}}],["parsetime=true",{"2":{"65":1}}],["package",{"2":{"49":2,"59":1}}],["password=123456",{"2":{"45":1}}],["password",{"2":{"45":2,"65":2}}],["pad",{"2":{"15":1}}],["primary",{"2":{"80":7}}],["prismjs",{"2":{"6":1}}],["proxy",{"0":{"53":1,"60":1}}],["prod",{"2":{"49":1,"65":2}}],["prometheus",{"2":{"25":1}}],["pr",{"2":{"30":1,"38":2}}],["攻击漏洞",{"2":{"13":1}}],["减少数据交互",{"2":{"13":1}}],["简化后台部署",{"2":{"34":1}}],["简化对",{"2":{"13":1}}],["简化接口用户信息渲染",{"2":{"13":1}}],["简化安装流程",{"2":{"3":1}}],["搜索功能优化",{"2":{"13":1}}],["搜索框显示问题",{"2":{"12":1}}],["粉丝关注功能",{"2":{"13":1}}],["界面样式细节",{"2":{"12":1}}],["依赖安装成功后",{"2":{"64":1}}],["依赖软件版本升级",{"2":{"15":1}}],["依赖",{"2":{"12":1}}],["icon",{"2":{"80":8}}],["iconfont",{"2":{"7":1}}],["id`",{"2":{"80":14}}],["id=267",{"2":{"65":1}}],["if",{"2":{"80":4}}],["io",{"2":{"60":1,"78":1}}],["image`",{"2":{"80":1}}],["image",{"2":{"45":4}}],["insert",{"2":{"80":13}}],["innodb",{"2":{"80":7}}],["into",{"2":{"80":13}}],["int",{"2":{"80":8}}],["internal",{"2":{"49":1}}],["interval",{"2":{"45":1}}],["increment",{"2":{"80":7}}],["init",{"2":{"45":1,"56":1,"57":1,"58":1}}],["initdb",{"2":{"45":3}}],["index",{"2":{"25":1,"49":1,"65":1,"80":2}}],["iris",{"2":{"38":2,"78":2}}],["ip2region",{"2":{"65":1}}],["ip数据文件",{"2":{"65":1}}],["ipdatapath",{"2":{"65":1}}],["ip",{"2":{"12":1}}],["utf8mb4",{"2":{"80":8}}],["utils",{"2":{"49":2}}],["url",{"2":{"65":2,"80":3}}],["u=patch",{"2":{"59":1}}],["u",{"2":{"59":1}}],["unique",{"2":{"80":7}}],["unicode",{"2":{"45":1}}],["unix",{"2":{"25":1,"80":70}}],["usr",{"2":{"45":1}}],["user`",{"2":{"80":2}}],["username=gh",{"2":{"79":1}}],["username",{"2":{"65":3}}],["user=bbsgo",{"2":{"45":1}}],["user",{"2":{"45":1,"80":10}}],["uploader",{"2":{"65":1}}],["up命令启动启动服务",{"2":{"45":1}}],["update",{"2":{"25":1}}],["upsert",{"2":{"25":1}}],["ua",{"2":{"12":1}}],["ui",{"2":{"10":1,"13":1,"20":2,"75":1}}],["评论列表数据加载逻辑",{"2":{"29":1}}],["评论的查询性能",{"2":{"28":1}}],["评论框支持上传图片",{"2":{"16":1}}],["评论用户的",{"2":{"12":1}}],["评论盖楼模式",{"2":{"12":1}}],["评论进行违禁词筛选",{"2":{"4":1}}],["重构项目使用nuxt",{"2":{"43":1}}],["重构前端页面组件",{"2":{"37":1}}],["重构回复功能",{"2":{"31":1}}],["重构代码完全遵循eslint配置的规则",{"2":{"37":1}}],["重构代码",{"2":{"25":1,"38":1}}],["重构事件处理框架",{"2":{"11":1}}],["重构",{"2":{"11":1,"31":1}}],["重构底层框架代码",{"2":{"9":1}}],["适配黑夜",{"2":{"11":1}}],["样式优化",{"2":{"7":1}}],["menu",{"2":{"80":2}}],["menu`",{"2":{"80":7}}],["mvc",{"2":{"78":1}}],["mip",{"2":{"65":1}}],["middleware",{"2":{"49":2}}],["migrator",{"2":{"25":1}}],["md",{"2":{"49":3}}],["mysql",{"2":{"45":15,"57":1,"78":2}}],["mlog",{"2":{"38":1,"39":1,"65":3,"79":4}}],["mlogclub",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":3,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":3,"48":3,"57":1,"77":2}}],["maxopenconns",{"2":{"65":1}}],["maxidleconns",{"2":{"65":1}}],["maxbackups",{"2":{"65":1}}],["maxage",{"2":{"65":1}}],["maxsize",{"2":{"65":1}}],["master",{"2":{"65":1}}],["main",{"2":{"49":1}}],["makefile",{"2":{"49":1}}],["map",{"2":{"25":2}}],["markdown",{"2":{"16":2,"33":1}}],["more",{"2":{"21":1}}],["mod进行管理",{"2":{"63":1}}],["mod代理推荐一下两个",{"2":{"60":1}}],["mod配置代理",{"2":{"60":1}}],["mod会自动分析你当前项目所需要的依赖",{"2":{"58":1}}],["mod的项目都可以共用",{"2":{"57":1}}],["mod目录下",{"2":{"57":1}}],["mod并不要求你的项目源码放到$gopath下",{"2":{"57":1}}],["mod文件",{"2":{"56":1,"57":1,"58":1}}],["modules",{"2":{"55":2}}],["mod使用帮助",{"0":{"54":1},"1":{"55":1,"56":1,"57":1,"58":1,"59":1,"60":1}}],["mod",{"0":{"55":1,"56":1,"60":1},"1":{"56":1,"57":1,"58":1,"59":1},"2":{"12":1,"49":1,"56":10,"57":2,"58":2,"63":1}}],["models",{"2":{"49":1}}],["mode",{"2":{"7":1}}],["多处细节调整",{"2":{"22":1}}],["多处细节和功能优化",{"2":{"21":1}}],["多处细节优化",{"2":{"7":1}}],["多处细节优化和",{"2":{"6":1}}],["多出交互细节优化",{"2":{"15":1}}],["多出细节和功能优化",{"2":{"5":1}}],["实现话题收藏功能",{"2":{"30":1}}],["实现",{"2":{"6":1,"16":1}}],["dual",{"2":{"80":9}}],["direct",{"2":{"60":1}}],["directive",{"2":{"49":1}}],["drop",{"2":{"80":4}}],["driver",{"2":{"57":1}}],["dryrun",{"2":{"25":1}}],["download",{"2":{"56":1,"57":1,"63":1}}],["docs",{"2":{"38":1}}],["dockerfile",{"2":{"45":6,"49":3}}],["docker目录中创建文件",{"2":{"45":1}}],["docker",{"2":{"3":1,"4":1,"6":1,"27":1,"38":1,"45":8,"49":3}}],["dl",{"2":{"52":1,"61":1}}],["defaultnodeid",{"2":{"80":2}}],["default",{"2":{"80":47}}],["dev",{"2":{"49":1,"52":1,"61":1,"65":3,"78":1}}],["depends",{"2":{"45":3}}],["db",{"2":{"45":2,"65":2,"80":1}}],["dashboard",{"2":{"80":3}}],["datetime",{"2":{"80":1}}],["data",{"2":{"45":2,"65":4}}],["database",{"2":{"45":1}}],["dart",{"2":{"19":1}}],["dark",{"2":{"6":1,"7":1,"11":1}}],["d",{"2":{"45":5,"49":2}}],["支持配置默认发帖节点",{"2":{"32":1}}],["支持图片lazyload功能",{"2":{"32":1}}],["支持推文功能",{"2":{"32":1}}],["支持阿里云",{"2":{"31":1}}],["支持文章审核功能",{"2":{"30":1}}],["支持版主功能",{"2":{"29":1}}],["支持记录操作日志",{"2":{"28":1}}],["支持新用户观察期功能",{"2":{"28":1}}],["支持用户禁言功能",{"2":{"28":1}}],["支持邮箱验证",{"2":{"28":1}}],["支持多管理员功能",{"2":{"28":1}}],["支持后台配置用户登录有效期",{"2":{"26":1}}],["支持约束",{"2":{"25":1}}],["支持字段权限",{"2":{"25":1}}],["支持完整的自引用",{"2":{"25":1}}],["支持嵌套事务",{"2":{"25":1}}],["支持自定义个人中心背景主题",{"2":{"24":1}}],["支持神马搜索链接推送",{"2":{"23":1}}],["支持基于elasticsearch的帖子搜索功能",{"2":{"23":1}}],["支持永久禁言的同时清理被禁言用户的话题和文章",{"2":{"19":1}}],["支持开源中国一键登录",{"2":{"17":1}}],["支持帖子置顶功能",{"2":{"8":1}}],["支持隐藏内容回复后查看",{"2":{"8":1}}],["支持",{"2":{"6":1,"25":3,"27":1,"31":1,"38":1}}],["bigint",{"2":{"80":29}}],["bin",{"2":{"45":1}}],["baiduseo",{"2":{"65":1}}],["baidu",{"2":{"65":1}}],["baseurl",{"2":{"65":1}}],["base",{"2":{"49":1}}],["babel",{"2":{"49":1}}],["bucket",{"2":{"65":1}}],["build",{"2":{"45":3,"64":1,"78":1}}],["bug",{"2":{"6":1,"11":1,"12":1,"20":1,"32":1,"34":1,"42":1}}],["bugfix",{"2":{"5":1,"11":1,"13":1,"18":4,"19":1,"22":1,"26":1,"30":5,"32":4}}],["bbsgo站长",{"2":{"80":1}}],["bbsgo",{"2":{"45":3,"65":2,"80":1}}],["bbs",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":8,"47":1,"48":3,"49":2,"64":1,"65":3,"75":2,"77":2,"80":3}}],["动态功能更加完善",{"2":{"21":1}}],["动态功能合并",{"2":{"21":1}}],["动态",{"2":{"5":1,"31":1}}],["帖子管理",{"2":{"80":2}}],["帖子详情页支持推荐功能",{"2":{"21":1}}],["帖子",{"2":{"5":1,"21":1}}],["系统设置",{"2":{"80":1}}],["系统由三个模块组成",{"2":{"75":1}}],["系统提供了配置示例文件",{"2":{"65":1}}],["系统支持配置开启或关闭功能模块",{"2":{"5":1}}],["系统重构构建和启动速度大大提升",{"2":{"14":1}}],["系统重构",{"2":{"3":1}}],["19",{"2":{"80":1}}],["17",{"2":{"80":1}}],["15",{"2":{"80":1}}],["1024",{"2":{"80":5}}],["1000",{"2":{"80":70}}],["100",{"2":{"45":1,"65":1}}],["10",{"0":{"24":1,"28":1,"39":1},"2":{"65":2,"80":7}}],["13",{"0":{"21":1},"2":{"55":1,"80":3}}],["16",{"0":{"18":1},"2":{"80":3}}],["1",{"0":{"8":1,"12":1,"15":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":2,"33":1,"40":1,"44":1},"2":{"8":1,"12":1,"15":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":2,"31":1,"32":2,"33":1,"40":1,"44":1,"55":2,"57":2,"65":2,"80":33}}],["18",{"0":{"7":1,"11":1,"37":1},"2":{"9":1,"80":1}}],["14",{"0":{"5":1},"2":{"30":1,"80":1}}],["11",{"0":{"5":1,"13":1,"23":1,"26":1,"37":1,"38":2},"2":{"55":1,"80":12}}],["128",{"2":{"80":3}}],["127",{"2":{"65":1}}],["123456",{"2":{"45":2,"80":2,"83":1}}],["12",{"0":{"4":1,"9":1,"13":1,"22":1,"36":1,"40":1},"2":{"38":1,"57":1,"80":4}}],["48",{"2":{"30":1}}],["4",{"0":{"5":1,"10":1,"11":1,"12":1,"13":1,"19":1,"29":1,"37":1},"2":{"5":1,"10":1,"11":1,"12":1,"13":1,"19":1,"29":1,"37":1,"57":1,"80":5}}],["问题反馈",{"2":{"79":2}}],["问题",{"2":{"4":1}}],["优化页面布局",{"2":{"44":1}}],["优化页面体积",{"2":{"22":1}}],["优化界面样式",{"2":{"40":1}}],["优化数据库索引和数据查询性能",{"2":{"38":1}}],["优化项目体积",{"2":{"33":1}}],["优化积分中心展示样式",{"2":{"33":1}}],["优化管理后台样式",{"2":{"30":1}}],["优化管理后台功能",{"2":{"10":1}}],["优化管理后台功能细节",{"2":{"4":1}}],["优化帖子列表",{"2":{"33":1}}],["优化帖子点赞收藏展示逻辑",{"2":{"24":1}}],["优化帖子详情页样式",{"2":{"22":1}}],["优化缓存数据不存在时的处理逻辑",{"2":{"23":1}}],["优化导航栏消息入口显示逻辑",{"2":{"23":1}}],["优化markdown编辑器编辑模式",{"2":{"23":1}}],["优化站内消息发送逻辑",{"2":{"23":1}}],["优化日志输出逻辑",{"2":{"23":1}}],["优化邮箱验证逻辑",{"2":{"22":1}}],["优化邮箱验证流程",{"2":{"10":1}}],["优化登录页面样式",{"2":{"22":1}}],["优化消息页面",{"2":{"22":1}}],["优化头像的存储和加载方式",{"2":{"21":1}}],["优化头像显示组件",{"2":{"20":1}}],["优化列表",{"2":{"16":1}}],["优化代码高亮库highlight",{"2":{"23":1}}],["优化代码高亮组件",{"2":{"16":1}}],["优化代码结构",{"2":{"11":1,"38":1}}],["优化内部链接跳转页面刷新体验",{"2":{"16":1}}],["优化多项界面体验细节",{"2":{"16":1}}],["优化应用体积和加载速度",{"2":{"13":1}}],["优化个人中心展示样式",{"2":{"13":1}}],["优化评论组件",{"2":{"12":1}}],["优化话题详情页",{"2":{"10":1,"20":1}}],["优化后台文章",{"2":{"28":1,"29":1}}],["优化后台文章管理功能",{"2":{"7":1}}],["优化后台话题管理功能",{"2":{"20":1}}],["优化后台评论管理功能",{"2":{"7":1}}],["优化后台帖子管理功能",{"2":{"7":1}}],["优化文章列表加载性能",{"2":{"37":1}}],["优化文章页布局",{"2":{"30":1}}],["优化文章页面展示样式",{"2":{"11":1}}],["优化文章页面样式",{"2":{"5":1}}],["优化文章详情页近期文章展示逻辑",{"2":{"29":1}}],["优化文章审核流程",{"2":{"5":1}}],["优化文章模块功能",{"2":{"5":1}}],["优化",{"2":{"4":3,"5":3,"12":4,"13":4,"23":10,"28":1}}],["发送验证邮件进行验证",{"2":{"28":1}}],["发表频率控制",{"2":{"17":1}}],["发表内容验证码开关",{"2":{"17":1}}],["发文章",{"2":{"4":1}}],["发帖审核功能",{"2":{"4":1}}],["发帖",{"2":{"4":1}}],["发布地址",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["违禁词",{"2":{"80":1}}],["违禁词支持词组和正则表达式",{"2":{"4":1}}],["违禁词模块",{"2":{"4":1}}],["新的样式和配色更加好看",{"2":{"36":1,"37":1}}],["新的插件系统",{"2":{"25":1}}],["新用户注册后观察期内无法发表内容",{"2":{"28":1}}],["新用户观察期支持更小粒度的配置",{"2":{"27":1}}],["新用户观察期",{"2":{"17":1}}],["新特性",{"2":{"26":3,"27":1,"31":2,"32":5}}],["新特性和改进",{"2":{"3":1}}],["新功能",{"2":{"23":1,"28":6}}],["新增好博客导航功能",{"2":{"42":1}}],["新增内容专栏功能",{"2":{"42":1}}],["新增标签下的发帖引导",{"2":{"41":1}}],["新增话题点赞功能",{"2":{"40":1}}],["新增话题跟帖数量",{"2":{"40":1}}],["新增本地快速构建脚本",{"2":{"38":1}}],["新增配置项站外链接跳转",{"2":{"37":1}}],["新增后台手动退出功能",{"2":{"35":1}}],["新增论坛公告功能",{"2":{"35":1}}],["新增用户积分功能",{"2":{"34":1}}],["新增最新动态挂件",{"2":{"30":1}}],["新增操作日志功能",{"2":{"29":1}}],["新增签到功能入口",{"2":{"24":1}}],["新增签到排行榜",{"2":{"21":1}}],["新增点赞通知",{"2":{"22":1}}],["新增举报功能",{"2":{"5":1}}],["新增默认头像支持",{"2":{"5":1}}],["新增",{"2":{"4":4,"5":4,"11":1,"12":2,"13":1}}],["512",{"2":{"80":1}}],["50",{"2":{"65":1}}],["5",{"0":{"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"18":1,"28":1,"36":1,"43":1},"2":{"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"18":1,"28":1,"36":1,"43":1,"80":5}}],["镜像构建脚本",{"2":{"4":1}}],["镜像",{"2":{"3":1}}],["享受新版本带来的性能提升",{"2":{"3":1}}],["365",{"2":{"80":1}}],["32",{"2":{"80":3}}],["3306",{"2":{"65":1}}],["3s",{"2":{"45":1}}],["3000",{"2":{"45":3}}],["300s",{"2":{"45":1}}],["30",{"0":{"29":1,"32":1}}],["31",{"0":{"27":1}}],["3",{"0":{"6":1,"10":1,"14":1,"15":1,"16":1,"20":1,"30":1,"38":1},"2":{"3":1,"6":1,"10":1,"14":2,"15":1,"16":1,"20":1,"30":1,"38":1,"45":1,"80":8}}],["升级至版本",{"2":{"38":1}}],["升级vidtor",{"2":{"36":1}}],["升级后台管理",{"2":{"34":1}}],["升级到",{"2":{"30":1}}],["升级第三方依赖",{"2":{"5":1}}],["升级",{"2":{"3":1,"9":1,"26":1}}],["verified`",{"2":{"80":1}}],["verify",{"2":{"56":1}}],["version",{"2":{"59":1}}],["vender",{"2":{"56":1}}],["views",{"2":{"49":1}}],["vite",{"2":{"17":1,"49":4}}],["volumes",{"2":{"45":2}}],["v1",{"0":{"43":1,"44":1},"2":{"43":1,"44":1,"57":1}}],["v2",{"0":{"42":1},"2":{"42":1}}],["values",{"2":{"80":4}}],["valuer",{"2":{"25":1}}],["varchar",{"2":{"80":19}}],["var",{"2":{"45":1}}],["vanessa219",{"2":{"36":1}}],["vditor",{"2":{"26":1,"36":1}}],["v3",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1}}],["vuejs",{"2":{"78":1}}],["vue",{"2":{"3":1,"16":1,"49":3,"75":2,"78":2}}],["vue3",{"2":{"3":1}}],["v4",{"0":{"3":1},"2":{"3":1}}],["对整个系统进行了全面的重构",{"2":{"3":1}}],["get",{"2":{"59":3}}],["graph",{"2":{"56":1}}],["git",{"2":{"48":2}}],["gitee",{"2":{"48":1,"77":1}}],["git使用教程",{"2":{"48":1}}],["github和gitee上都有最新版本的源码",{"2":{"48":1}}],["github",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":3,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"48":2,"57":2,"65":1,"77":2,"78":1}}],["go演示站",{"2":{"80":1}}],["goproxy=https",{"2":{"60":2}}],["goproxy",{"2":{"60":4}}],["gomodule",{"2":{"57":1}}],["go语言开发环境安装",{"0":{"51":1},"1":{"52":1,"53":1}}],["google",{"2":{"48":1,"62":1}}],["go采用前后端分离设计",{"2":{"47":1}}],["golang只提供数据支撑",{"2":{"43":1}}],["go也第一时间跟进并升级了gorm2",{"2":{"25":1}}],["gorm",{"2":{"25":1,"78":2}}],["go1",{"2":{"9":1,"52":1,"61":1}}],["go",{"0":{"54":1,"55":1,"56":1,"60":1},"1":{"55":1,"56":2,"57":2,"58":2,"59":2,"60":1},"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":2,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":2,"31":2,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":10,"48":3,"49":4,"52":1,"55":6,"56":8,"57":2,"58":3,"59":3,"60":2,"61":1,"64":2,"65":4,"75":5,"77":2,"78":5,"80":2}}],["200",{"2":{"65":1}}],["20",{"2":{"52":1,"61":1,"80":20}}],["2019",{"0":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["2020",{"0":{"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["2021",{"0":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1}}],["2022",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1}}],["2024",{"0":{"0":1,"3":1,"85":1}}],["28",{"0":{"23":1,"33":1}}],["26",{"0":{"20":1}}],["256",{"2":{"80":2}}],["25",{"0":{"19":1,"25":1},"2":{"38":1,"65":1}}],["22",{"0":{"16":1,"24":1,"31":1},"2":{"80":1}}],["29",{"0":{"14":1,"22":1,"39":1}}],["2",{"0":{"7":1,"11":1,"14":1,"17":1,"18":1,"19":1,"20":1,"21":2,"22":1,"23":1,"31":1,"39":1},"2":{"7":1,"11":1,"14":1,"17":1,"18":1,"19":1,"20":1,"21":2,"22":1,"23":1,"25":1,"31":1,"39":1,"80":15}}],["27",{"0":{"6":1,"8":1},"2":{"38":1}}],["21",{"0":{"3":1,"10":1},"2":{"80":1}}],["0发布后",{"2":{"25":1}}],["05",{"0":{"17":1,"30":1,"34":1,"36":1}}],["06",{"0":{"16":1,"29":1}}],["07",{"0":{"12":1,"28":1,"35":1,"43":1,"44":1}}],["01",{"0":{"11":1,"12":1,"20":1,"21":1,"35":1,"44":1}}],["03",{"0":{"10":1,"15":1,"19":1,"32":1,"42":1}}],["04",{"0":{"8":1,"9":1,"18":1,"30":1,"31":1}}],["08",{"0":{"7":1,"15":1,"27":1,"43":1}}],["09",{"0":{"6":1,"14":1,"17":1,"25":1,"26":1,"40":1,"41":2,"42":1}}],["02",{"0":{"3":1,"4":1,"33":1,"34":1}}],["0",{"0":{"3":2,"9":1,"13":1,"16":1,"23":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":2,"42":2,"43":1,"44":1},"2":{"3":2,"9":1,"13":1,"16":1,"23":1,"25":3,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":2,"42":2,"43":1,"44":1,"45":1,"65":2,"80":44}}],["联系我",{"0":{"1":1,"79":1,"86":1}}],["共筑简洁社区新时代",{"0":{"0":1,"85":1}}],["🎉🎉🎉",{"0":{"0":1,"85":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexroot.Dz8yuhrN.js b/assets/chunks/@localSearchIndexroot.Dz8yuhrN.js deleted file mode 100644 index 0df730a..0000000 --- a/assets/chunks/@localSearchIndexroot.Dz8yuhrN.js +++ /dev/null @@ -1 +0,0 @@ -const t='{"documentCount":83,"nextId":83,"documentIds":{"0":"/README.html#🎉🎉🎉-2024-从心出发-共筑简洁社区新时代","1":"/README.html#联系我","2":"/docs/changelog.html#更新日志","3":"/docs/changelog.html#v4-0-0-2024-02-21","4":"/docs/changelog.html#v3-5-5-2022-12-02","5":"/docs/changelog.html#v3-5-4-2022-11-14","6":"/docs/changelog.html#v3-5-3-2022-09-27","7":"/docs/changelog.html#v3-5-2-2022-08-18","8":"/docs/changelog.html#v3-5-1-2022-04-27","9":"/docs/changelog.html#v3-5-0-2022-04-12","10":"/docs/changelog.html#v3-4-3-2022-03-21","11":"/docs/changelog.html#v3-4-2-2022-01-18","12":"/docs/changelog.html#v3-4-1-2022-01-07","13":"/docs/changelog.html#v3-4-0-2021-11-12","14":"/docs/changelog.html#v3-3-2-2021-09-29","15":"/docs/changelog.html#v3-3-1-2021-08-03","16":"/docs/changelog.html#v3-3-0-2021-06-22","17":"/docs/changelog.html#v3-2-6-2021-05-09","18":"/docs/changelog.html#v3-2-5-2021-04-16","19":"/docs/changelog.html#v3-2-4-2021-03-25","20":"/docs/changelog.html#v3-2-3-2021-01-26","21":"/docs/changelog.html#v3-2-2-2021-01-13","22":"/docs/changelog.html#v3-2-1-2020-12-29","23":"/docs/changelog.html#v3-2-0-2020-11-28","24":"/docs/changelog.html#v3-1-9-2020-10-22","25":"/docs/changelog.html#v3-1-8-2020-09-25","26":"/docs/changelog.html#v3-1-7-2020-09-11","27":"/docs/changelog.html#v3-1-6-2020-08-31","28":"/docs/changelog.html#v3-1-5-2020-07-10","29":"/docs/changelog.html#v3-1-4-2020-06-30","30":"/docs/changelog.html#v3-1-3-2020-05-04","31":"/docs/changelog.html#v3-1-2-2020-04-22","32":"/docs/changelog.html#v3-1-1-2020-03-30","33":"/docs/changelog.html#v3-1-0-2020-02-28","34":"/docs/changelog.html#v3-0-9-2020-02-05","35":"/docs/changelog.html#v3-0-8-2020-01-07","36":"/docs/changelog.html#v3-0-5-2019-12-05","37":"/docs/changelog.html#v3-0-4-2019-11-18","38":"/docs/changelog.html#v3-0-3-2019-11-11","39":"/docs/changelog.html#v3-0-2-2019-10-29","40":"/docs/changelog.html#v3-0-1-2019-09-12","41":"/docs/changelog.html#v3-0-0-2019-09-09","42":"/docs/changelog.html#v2-0-0-2019-09-03","43":"/docs/changelog.html#v1-0-5-2019-08-07","44":"/docs/changelog.html#v1-0-1-2019-07-01","45":"/docs/getstart/docker.html#安装流程","46":"/docs/getstart/installation/#代码结构","47":"/docs/getstart/installation/#模块划分","48":"/docs/getstart/installation/#获取最新源码","49":"/docs/getstart/installation/#目录结构","50":"/docs/getstart/installation/server.html#server模块安装","51":"/docs/getstart/installation/server.html#go语言开发环境安装","52":"/docs/getstart/installation/server.html#安装go","53":"/docs/getstart/installation/server.html#配置go-proxy","54":"/docs/getstart/installation/server/go-mod.html#go-mod使用帮助","55":"/docs/getstart/installation/server/go-mod.html#go-mod-介绍","56":"/docs/getstart/installation/server/go-mod.html#go-mod-常用命令","57":"/docs/getstart/installation/server/go-mod.html#在新项目中使用","58":"/docs/getstart/installation/server/go-mod.html#在旧项目中使用","59":"/docs/getstart/installation/server/go-mod.html#如何升级依赖","60":"/docs/getstart/installation/server/go-mod.html#go-mod-proxy-配置","61":"/docs/getstart/installation/server/install-go.html#安装go","62":"/docs/getstart/installation/server/install.html#server-模块安装","63":"/docs/getstart/installation/server/install.html#安装依赖","64":"/docs/getstart/installation/server/install.html#编译","65":"/docs/getstart/installation/server/install.html#配置","66":"/docs/getstart/installation/server/install.html#基本配置","67":"/docs/getstart/installation/server/install.html#日志配置","68":"/docs/getstart/installation/server/install.html#数据库配置","69":"/docs/getstart/installation/server/install.html#上传配置","70":"/docs/getstart/installation/server/install.html#elasticsearch配置","71":"/docs/getstart/installation/server/install.html#smtp邮箱服务配置","72":"/docs/getstart/installation/server/install.html#百度seo配置","73":"/docs/getstart/installation/server/install.html#神马搜索seo配置","74":"/docs/#功能介绍","75":"/docs/#概要","76":"/docs/#功能","77":"/docs/#官网","78":"/docs/#技术栈","79":"/docs/#交流群-联系我","80":"/docs/internal/initsql.html#sql初始化脚本","81":"/#🎉🎉🎉-2024-从心出发-共筑简洁社区新时代","82":"/#联系我"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[5,1,1],"1":[1,1,1],"2":[1,1,1],"3":[6,1,31],"4":[6,1,30],"5":[7,1,29],"6":[7,1,26],"7":[7,1,23],"8":[7,1,15],"9":[7,1,17],"10":[7,1,18],"11":[7,1,24],"12":[7,1,35],"13":[7,1,29],"14":[7,1,14],"15":[7,1,19],"16":[7,1,31],"17":[7,1,25],"18":[7,1,27],"19":[7,1,32],"20":[7,1,25],"21":[6,1,25],"22":[7,1,29],"23":[7,1,29],"24":[7,1,20],"25":[7,1,106],"26":[7,1,24],"27":[7,1,20],"28":[7,1,30],"29":[7,1,25],"30":[7,1,37],"31":[7,1,26],"32":[6,1,40],"33":[7,1,21],"34":[7,1,22],"35":[7,1,18],"36":[7,1,21],"37":[7,1,26],"38":[6,1,43],"39":[7,1,23],"40":[7,1,16],"41":[5,1,16],"42":[6,1,21],"43":[7,1,16],"44":[7,1,18],"45":[1,1,118],"46":[1,1,1],"47":[1,1,14],"48":[1,1,20],"49":[1,1,84],"50":[1,1,1],"51":[1,1,1],"52":[1,2,15],"53":[2,2,1],"54":[2,1,1],"55":[3,2,18],"56":[3,4,23],"57":[1,4,37],"58":[1,4,12],"59":[1,4,15],"60":[4,2,34],"61":[1,1,15],"62":[2,1,9],"63":[1,2,11],"64":[1,2,15],"65":[1,2,146],"66":[1,3,2],"67":[1,3,2],"68":[1,3,2],"69":[1,3,2],"70":[1,3,2],"71":[1,3,2],"72":[1,3,2],"73":[1,3,2],"74":[1,1,1],"75":[1,1,24],"76":[1,1,1],"77":[1,1,13],"78":[1,1,36],"79":[2,1,21],"80":[1,1,227],"81":[5,1,1],"82":[1,1,1]},"averageFieldLength":[4.168674698795181,1.4216867469879517,24.783132530120483],"storedFields":{"0":{"title":"🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!","titles":[null,null]},"1":{"title":"联系我","titles":[null]},"2":{"title":"更新日志","titles":[]},"3":{"title":"v4.0.0 (2024-02-21)","titles":["更新日志"]},"4":{"title":"v3.5.5 (2022-12-02)","titles":["更新日志"]},"5":{"title":"v3.5.4 (2022-11-14)","titles":["更新日志"]},"6":{"title":"v3.5.3 (2022-09-27)","titles":["更新日志"]},"7":{"title":"v3.5.2 (2022-08-18)","titles":["更新日志"]},"8":{"title":"v3.5.1 (2022-04-27)","titles":["更新日志"]},"9":{"title":"v3.5.0 (2022-04-12)","titles":["更新日志"]},"10":{"title":"v3.4.3 (2022-03-21)","titles":["更新日志"]},"11":{"title":"v3.4.2 (2022-01-18)","titles":["更新日志"]},"12":{"title":"v3.4.1 (2022-01-07)","titles":["更新日志"]},"13":{"title":"v3.4.0 (2021-11-12)","titles":["更新日志"]},"14":{"title":"v3.3.2 (2021-09-29)","titles":["更新日志"]},"15":{"title":"v3.3.1 (2021-08-03)","titles":["更新日志"]},"16":{"title":"v3.3.0 (2021-06-22)","titles":["更新日志"]},"17":{"title":"v3.2.6 (2021-05-09)","titles":["更新日志"]},"18":{"title":"v3.2.5 (2021-04-16)","titles":["更新日志"]},"19":{"title":"v3.2.4 (2021-03-25)","titles":["更新日志"]},"20":{"title":"v3.2.3 (2021-01-26)","titles":["更新日志"]},"21":{"title":"v3.2.2 (2021-01-13)","titles":["更新日志"]},"22":{"title":"v3.2.1 (2020-12-29)","titles":["更新日志"]},"23":{"title":"v3.2.0 (2020-11-28)","titles":["更新日志"]},"24":{"title":"v3.1.9 (2020-10-22)","titles":["更新日志"]},"25":{"title":"v3.1.8 (2020-09-25)","titles":["更新日志"]},"26":{"title":"v3.1.7 (2020-09-11)","titles":["更新日志"]},"27":{"title":"v3.1.6 (2020-08-31)","titles":["更新日志"]},"28":{"title":"v3.1.5 (2020-07-10)","titles":["更新日志"]},"29":{"title":"v3.1.4 (2020-06-30)","titles":["更新日志"]},"30":{"title":"v3.1.3 (2020-05-04)","titles":["更新日志"]},"31":{"title":"v3.1.2 (2020-04-22)","titles":["更新日志"]},"32":{"title":"v3.1.1 (2020-03-30)","titles":["更新日志"]},"33":{"title":"v3.1.0 (2020-02-28)","titles":["更新日志"]},"34":{"title":"v3.0.9 (2020-02-05)","titles":["更新日志"]},"35":{"title":"v3.0.8 (2020-01-07)","titles":["更新日志"]},"36":{"title":"v3.0.5 (2019-12-05)","titles":["更新日志"]},"37":{"title":"v3.0.4 (2019-11-18)","titles":["更新日志"]},"38":{"title":"v3.0.3 (2019-11-11)","titles":["更新日志"]},"39":{"title":"v3.0.2 (2019-10-29)","titles":["更新日志"]},"40":{"title":"v3.0.1 (2019-09-12)","titles":["更新日志"]},"41":{"title":"v3.0.0 (2019-09-09)","titles":["更新日志"]},"42":{"title":"v2.0.0 (2019-09-03)","titles":["更新日志"]},"43":{"title":"v1.0.5 (2019-08-07)","titles":["更新日志"]},"44":{"title":"v1.0.1 (2019-07-01)","titles":["更新日志"]},"45":{"title":"安装流程","titles":[]},"46":{"title":"代码结构","titles":[]},"47":{"title":"模块划分","titles":["代码结构"]},"48":{"title":"获取最新源码","titles":["代码结构"]},"49":{"title":"目录结构","titles":["代码结构"]},"50":{"title":"Server模块安装","titles":[]},"51":{"title":"Go语言开发环境安装","titles":["Server模块安装"]},"52":{"title":"安装Go","titles":["Server模块安装","Go语言开发环境安装"]},"53":{"title":"配置Go Proxy","titles":["Server模块安装","Go语言开发环境安装"]},"54":{"title":"Go mod使用帮助","titles":[]},"55":{"title":"Go mod 介绍","titles":["Go mod使用帮助"]},"56":{"title":"Go mod 常用命令","titles":["Go mod使用帮助","Go mod 介绍"]},"57":{"title":"在新项目中使用","titles":["Go mod使用帮助","Go mod 介绍"]},"58":{"title":"在旧项目中使用","titles":["Go mod使用帮助","Go mod 介绍"]},"59":{"title":"如何升级依赖","titles":["Go mod使用帮助","Go mod 介绍"]},"60":{"title":"Go mod proxy 配置","titles":["Go mod使用帮助"]},"61":{"title":"安装Go","titles":[]},"62":{"title":"Server 模块安装","titles":[]},"63":{"title":"安装依赖","titles":["Server 模块安装"]},"64":{"title":"编译","titles":["Server 模块安装"]},"65":{"title":"配置","titles":["Server 模块安装"]},"66":{"title":"基本配置","titles":["Server 模块安装","配置"]},"67":{"title":"日志配置","titles":["Server 模块安装","配置"]},"68":{"title":"数据库配置","titles":["Server 模块安装","配置"]},"69":{"title":"上传配置","titles":["Server 模块安装","配置"]},"70":{"title":"ElasticSearch配置","titles":["Server 模块安装","配置"]},"71":{"title":"SMTP邮箱服务配置","titles":["Server 模块安装","配置"]},"72":{"title":"百度SEO配置","titles":["Server 模块安装","配置"]},"73":{"title":"神马搜索SEO配置","titles":["Server 模块安装","配置"]},"74":{"title":"功能介绍","titles":[]},"75":{"title":"概要","titles":["功能介绍"]},"76":{"title":"功能","titles":["功能介绍"]},"77":{"title":"官网","titles":["功能介绍"]},"78":{"title":"技术栈","titles":["功能介绍"]},"79":{"title":"交流群/联系我","titles":["功能介绍"]},"80":{"title":"SQL初始化脚本","titles":[]},"81":{"title":"🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!","titles":[null,null]},"82":{"title":"联系我","titles":[null]}},"dirtCount":0,"index":[["超级管理员",{"2":{"80":2}}],["角色菜单",{"2":{"80":1}}],["角色配置",{"2":{"80":1}}],["角色管理",{"2":{"80":1}}],["权限分配",{"2":{"80":1}}],["权限管理",{"2":{"80":1}}],["菜单管理",{"2":{"80":1}}],["菜单配置",{"2":{"80":1}}],["友情链接",{"2":{"80":1}}],["节点管理",{"2":{"80":1}}],["仪表盘",{"2":{"80":1}}],["积分配置",{"2":{"80":2}}],["天",{"2":{"80":2}}],["话题",{"2":{"80":1}}],["话题节点支持后台自定义图标",{"2":{"16":1}}],["首页",{"2":{"80":1}}],["首页导航栏添加快速发帖入口",{"2":{"32":1}}],["站点导航",{"2":{"80":2}}],["站点关键字",{"2":{"80":2}}],["站点描述",{"2":{"80":2}}],["站点标题",{"2":{"80":2}}],["默认节点",{"2":{"80":3}}],["默认读取当前目录下ip2region",{"2":{"65":1}}],["正如我轻轻的来",{"2":{"80":1}}],["轻轻地我走了",{"2":{"80":1}}],["$2a$10$ofa39bafmpypix",{"2":{"80":1}}],["=",{"2":{"80":23}}],["key",{"2":{"80":17}}],["kataras",{"2":{"78":1}}],["`menu",{"2":{"80":3}}],["`role",{"2":{"80":6}}],["`roles`",{"2":{"80":2}}],["`remark`",{"2":{"80":2}}],["`icon`",{"2":{"80":2}}],["`idx",{"2":{"80":5}}],["`id`",{"2":{"80":22}}],["`path`",{"2":{"80":2}}],["`parent",{"2":{"80":2}}],["`password`",{"2":{"80":2}}],["`value`",{"2":{"80":8}}],["`key`",{"2":{"80":17}}],["`logo`",{"2":{"80":1}}],["`name`",{"2":{"80":16}}],["`nickname`",{"2":{"80":2}}],["`user",{"2":{"80":3}}],["`username`",{"2":{"80":4}}],["`update",{"2":{"80":14}}],["`code`",{"2":{"80":4}}],["`comment",{"2":{"80":2}}],["`create",{"2":{"80":20}}],["`forbidden",{"2":{"80":1}}],["`follow",{"2":{"80":2}}],["`fans",{"2":{"80":2}}],["`sort",{"2":{"80":7}}],["`status`",{"2":{"80":9}}],["`score`",{"2":{"80":3}}],["`description`",{"2":{"80":12}}],["`home",{"2":{"80":1}}],["`background",{"2":{"80":1}}],["`birthday`",{"2":{"80":1}}],["`gender`",{"2":{"80":1}}],["`avatar`",{"2":{"80":2}}],["`email",{"2":{"80":1}}],["`email`",{"2":{"80":4}}],["`type`",{"2":{"80":2}}],["`title`",{"2":{"80":2}}],["`topic",{"2":{"80":2}}],["`t",{"2":{"80":25}}],["密码",{"2":{"80":1}}],["密码为",{"2":{"80":1}}],["密码注册",{"2":{"39":1}}],[">",{"2":{"79":1}}],["qr",{"2":{"79":1}}],["qq",{"2":{"22":1,"39":1,"65":1,"79":1}}],["关注公众号`码农俱乐部`获取更多干货资源",{"2":{"79":1}}],["关闭密码登录后",{"2":{"12":1}}],["渐进式",{"2":{"78":1}}],["框架",{"2":{"78":3}}],["全球广受欢迎的开源数据库",{"2":{"78":1}}],["全新动态功能",{"2":{"20":1}}],["全新的",{"2":{"25":3}}],["全新的帖子信息流展示样式",{"2":{"21":1}}],["全新的话题",{"2":{"20":1}}],["全新的签到",{"2":{"18":1}}],["全新的个人中心样式",{"2":{"15":1}}],["全新的手机版",{"2":{"15":1}}],["全新的前后端分离后台管理系统",{"2":{"14":1}}],["技术栈",{"0":{"78":1}}],["码农俱乐部",{"2":{"77":1,"79":1}}],["码云",{"2":{"77":1}}],["演示站",{"2":{"77":1}}],["交流群",{"0":{"79":1}}],["交流",{"2":{"77":1}}],["交互",{"2":{"20":1}}],["官网",{"0":{"77":1}}],["基于go语言的开源社区系统",{"2":{"80":1}}],["基于vue的服务端渲染框架",{"2":{"78":1}}],["基于vue",{"2":{"75":1}}],["基于nuxt",{"2":{"75":1}}],["基本配置",{"0":{"66":1}}],["后端接口服务使用简洁的go语言进行开发",{"2":{"75":1}}],["后台",{"2":{"45":1}}],["后台支持多",{"2":{"42":1}}],["后台支持多标签",{"2":{"41":1}}],["后台支持配置登录方式",{"2":{"19":1}}],["后台登录支持图片验证码",{"2":{"35":1}}],["后台新增标签管理功能",{"2":{"30":1}}],["后台新增动态管理功能",{"2":{"30":1}}],["初始化系统配置数据",{"2":{"80":1}}],["初始化系统配置表",{"2":{"80":1}}],["初始化话题节点",{"2":{"80":1}}],["初始化用户数据",{"2":{"80":1}}],["初始化用户表",{"2":{"80":1}}],["初始化账号为",{"2":{"80":1}}],["初始化脚本件目录",{"2":{"45":1}}],["初期该项目仅用过学习和交流",{"2":{"75":1}}],["跨平台的社区系统",{"2":{"75":1}}],["精美小巧",{"2":{"75":1}}],["前端页面使用vue",{"2":{"75":1}}],["前后端分离",{"2":{"75":1}}],["前台",{"2":{"45":1}}],["前台界面提供话题的推荐功能",{"2":{"20":1}}],["概要",{"0":{"75":1}}],["神马搜索seo配置",{"0":{"73":1}}],["神马搜索seo相关",{"2":{"65":1}}],["百度seo配置",{"0":{"72":1}}],["百度seo相关配置",{"2":{"65":1}}],["数据库配置",{"0":{"68":1}}],["数据库连接",{"2":{"65":1}}],["用于邮件通知",{"2":{"65":1}}],["用户角色",{"2":{"80":1}}],["用户管理",{"2":{"80":1}}],["用户管理入口",{"2":{"19":1}}],["用户登录有效期",{"2":{"80":2}}],["用户登录时支持图片验证码",{"2":{"35":1}}],["用户名",{"2":{"80":1}}],["用户禁言",{"2":{"17":1}}],["用户注册时支持图片验证码",{"2":{"35":1}}],["用户注册",{"2":{"12":1}}],["用户资料新增性别",{"2":{"6":1}}],["邮件服务器配置",{"2":{"65":1}}],["邮箱验证开关",{"2":{"17":1}}],["邮箱认证白名单功能",{"2":{"4":1}}],["上传目录",{"2":{"65":1}}],["上传文件域名",{"2":{"65":1}}],["上传配置",{"0":{"69":1},"2":{"65":1}}],["详情图片样式名称",{"2":{"65":1}}],["详情在手机屏幕上的展示",{"2":{"33":1}}],["小图样式名称",{"2":{"65":1}}],["头像图片样式名称",{"2":{"65":1}}],["头像修改失败的问题",{"2":{"12":1}}],["阿里云oss图片样式分隔符",{"2":{"65":1}}],["阿里云oss配置",{"2":{"65":1}}],["启用上传方式",{"2":{"65":1}}],["保留的最大旧文件数量",{"2":{"65":1}}],["保留旧文件的最大天数",{"2":{"65":1}}],["日志文件的位置",{"2":{"65":1}}],["日志配置",{"0":{"67":1},"2":{"65":1}}],["日志输出到文件时同时支持输出到控制台",{"2":{"23":1}}],["最好用的go语言数据库",{"2":{"78":1}}],["最新数据文件请从这里下载",{"2":{"65":1}}],["最后回复时间",{"2":{"21":1}}],["根路径下的静态文件目录",{"2":{"65":1}}],["根据需要选择登录方式",{"2":{"19":1}}],["端口",{"2":{"65":1}}],["网站域名",{"2":{"65":1}}],["测试环境",{"2":{"65":1}}],["线上环境",{"2":{"65":1}}],["环境",{"2":{"65":1}}],["接下来我们看如何配置",{"2":{"64":1}}],["因为还没有正确配置数据库等信息",{"2":{"64":1}}],["但我们先不着急执行",{"2":{"64":1}}],["编译成功后",{"2":{"64":1}}],["编译",{"0":{"64":1}}],["编辑go",{"2":{"56":1}}],["编辑器功能错误",{"2":{"33":1}}],["编辑器",{"2":{"16":1,"26":1,"36":1}}],["执行下面命令进行编译",{"2":{"64":1}}],["执行下面命令安装依赖",{"2":{"63":1}}],["执行下面命令将代码clone到本地",{"2":{"48":1}}],["进入",{"2":{"63":1}}],["进行",{"2":{"25":1}}],["命令可以看到效果",{"2":{"60":1}}],["命名参数",{"2":{"25":1}}],["我们执行",{"2":{"60":1}}],["我一直在使用goproxy",{"2":{"60":1}}],["注意",{"2":{"60":1}}],["下面我们执行一下命令来设置goproxy",{"2":{"60":1}}],["下载依赖的module到本地cache",{"2":{"56":1}}],["下载对应系统的go语言安装包",{"2":{"52":1,"61":1}}],["很稳定",{"2":{"60":1}}],["七牛也是目前国内使用go语言经验比较丰富的公司",{"2":{"60":1}}],["他的服务由七牛提供支持",{"2":{"60":1}}],["他是国内最早提供goproxy代理的服务",{"2":{"60":1}}],["目录",{"2":{"63":1}}],["目录结构",{"0":{"49":1}}],["目前国内优质的go",{"2":{"60":1}}],["所以很多依赖无法成功下载",{"2":{"60":1}}],["所以你的新项目可以放到任意你喜欢的路径",{"2":{"57":1}}],["国内是无法稳定的访问google的服务",{"2":{"60":1}}],["众所周知的原因",{"2":{"60":1}}],["配置示例如下",{"2":{"65":1}}],["配置完成后",{"2":{"60":1}}],["配置",{"0":{"60":1,"65":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1},"2":{"65":1}}],["配置go",{"0":{"53":1}}],["zhanzhang",{"2":{"65":1}}],["ziyuan",{"2":{"65":1}}],["z是修订版本号y是次要版本号",{"2":{"59":1}}],["z",{"2":{"59":1}}],["zzy624",{"2":{"30":1}}],["运行",{"2":{"59":3}}],["而是会下载到$gopath",{"2":{"57":1}}],["然后将bbs",{"2":{"65":1}}],["然后执行go",{"2":{"57":1}}],["然后你可以在其中增加你的依赖",{"2":{"57":1}}],["一行一条",{"2":{"57":1}}],["一共分为三个模块",{"2":{"47":1}}],["添加到这里",{"2":{"57":1}}],["你的依赖类似这样",{"2":{"57":1}}],["你可能需要用到sudo",{"2":{"45":1}}],["xiz7jtomh9jnpvyfprlzhxqatlpfpbe",{"2":{"80":1}}],["x26",{"2":{"65":3}}],["xdb文件",{"2":{"65":1}}],["x",{"2":{"59":1,"63":1}}],["xxx",{"2":{"57":1}}],["xss",{"2":{"4":1,"13":1,"30":1}}],["会在当前目录生成二进制可执行文件",{"2":{"64":1}}],["会在项目根目录下生成一个go",{"2":{"58":1}}],["会生成一个go",{"2":{"57":1}}],["会添加丢失的module",{"2":{"56":1}}],["解释为什么需要依赖",{"2":{"56":1}}],["解决大数据量时加载性能问题",{"2":{"29":1}}],["校验依赖",{"2":{"56":1}}],["删除不需要的module",{"2":{"56":1}}],["就是会新建一个go",{"2":{"56":1}}],["打印模块依赖图",{"2":{"56":1}}],["常用命令",{"0":{"56":1}}],["项目",{"2":{"55":1}}],["项目地址分别为",{"2":{"48":1}}],["让开发者能够轻松地添加",{"2":{"55":1}}],["让eslint没有警告",{"2":{"37":1}}],["其主要目标是解决项目依赖的版本管理问题",{"2":{"55":1}}],["其他多处细节调整和",{"2":{"20":1}}],["自",{"2":{"55":1}}],["自己发布的主题帖支持修改",{"2":{"44":1}}],["语言官方的依赖管理系统",{"2":{"55":1}}],["语言接口部分代码",{"2":{"31":1}}],["是一款基于go语言研发的开源",{"2":{"75":1}}],["是",{"2":{"55":1}}],["是go语言界orm产品的扛把子",{"2":{"25":1}}],["介绍",{"0":{"55":1},"1":{"56":1,"57":1,"58":1,"59":1}}],["如何升级依赖",{"0":{"59":1}}],["如何安装go语言开发包",{"2":{"52":1,"61":1}}],["如下图",{"2":{"60":1}}],["如下",{"2":{"57":1}}],["如果你在执行该命令时报错",{"2":{"60":1}}],["如果你没有权限执行docker",{"2":{"45":1}}],["如果本地不存在",{"2":{"45":1}}],["如果非root账号执行",{"2":{"45":1}}],["请配置成你自己的",{"2":{"65":7}}],["请自行google",{"2":{"52":1,"61":1}}],["请去官网",{"2":{"52":1,"61":1}}],["请先确保会使用git",{"2":{"48":1}}],["└──",{"2":{"49":10}}],["y",{"2":{"59":1}}],["yamlenv",{"2":{"65":1}}],["yaml中的配置修改为你自己的配置",{"2":{"65":1}}],["yaml",{"2":{"49":4,"65":2}}],["yml",{"2":{"49":1}}],["ymlversion",{"2":{"45":1}}],["yml文件",{"2":{"45":1}}],["│",{"2":{"49":122}}],["├──",{"2":{"49":74}}],["以mb为单位",{"2":{"65":1}}],["以github为例",{"2":{"48":1}}],["以提高性能",{"2":{"3":1}}],["word",{"2":{"80":1}}],["where",{"2":{"80":18}}],["why",{"2":{"56":1}}],["weixin",{"2":{"79":1}}],["with",{"2":{"78":1}}],["windows系统为bbs",{"2":{"64":1}}],["windows",{"2":{"18":1}}],["w是不支持老版本go语言sdk的",{"2":{"60":1}}],["w",{"2":{"60":1}}],["www",{"2":{"48":1,"62":1,"65":2,"78":1}}],["获取最新源码",{"0":{"48":1}}],["开源之后越来越多的小伙伴儿开始喜欢和关注他",{"2":{"75":1}}],["开始之前请确保正确安装go语言开发环境",{"2":{"62":1}}],["开发的后台管理系统",{"2":{"47":1}}],["开启后站外链接需要用户确认后才能进行跳转",{"2":{"37":1}}],["+",{"2":{"47":2,"52":1,"61":1}}],["模块安装",{"0":{"62":1},"1":{"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1}}],["模块划分",{"0":{"47":1}}],["模式",{"2":{"11":1,"25":1}}],["模式下多处样式细节问题",{"2":{"6":1}}],["服务地址如下",{"2":{"45":1}}],["服务启动成功",{"2":{"45":1}}],["并命名为",{"2":{"65":1}}],["并设置已经设置好环境变量",{"2":{"62":1}}],["并且将他们下载下来",{"2":{"58":1}}],["并在",{"2":{"55":1}}],["并启动容器",{"2":{"45":1}}],["并进入该目录",{"2":{"45":1}}],["此命令将下载所需的docker镜像",{"2":{"45":1}}],["挂在配置文件目录",{"2":{"45":1}}],["挂载目录必须是登录账号下目录",{"2":{"45":1}}],["挂载数据件目录",{"2":{"45":1}}],["layout",{"2":{"49":1}}],["layouts",{"2":{"49":1}}],["latest",{"2":{"45":3}}],["link",{"2":{"80":3}}],["lionsoul2014",{"2":{"65":1}}],["license",{"2":{"49":2}}],["lib",{"2":{"45":1}}],["loc=local",{"2":{"65":1}}],["local",{"2":{"65":1}}],["locale",{"2":{"49":1}}],["localhost",{"2":{"45":2,"65":1}}],["lock",{"2":{"49":2,"80":1}}],["log",{"2":{"65":1}}],["logs",{"2":{"65":1}}],["logo",{"2":{"32":1}}],["logger",{"2":{"25":1,"65":1}}],["这也是我长期升级和维护的动力",{"2":{"75":1}}],["这里我推荐使用goproxy",{"2":{"60":1}}],["这里就不对赘述了",{"2":{"52":1,"61":1}}],["这个文件是可以执行的",{"2":{"64":1}}],["这个时候我们就要为go",{"2":{"60":1}}],["这个目录中的",{"2":{"45":1}}],["这样所有使用go",{"2":{"57":1}}],["这些依赖并不是下载到你的项目目录下",{"2":{"57":1}}],["这种方式在加载列表时不需要count列表总数量",{"2":{"37":1}}],["创建docker",{"2":{"45":1}}],["创建目录",{"2":{"45":1}}],["该文件为sql初始化脚本",{"2":{"45":1}}],["准备sql初始化脚本",{"2":{"45":1}}],["本地文件上传",{"2":{"65":1}}],["本文将向你介绍如何使用",{"2":{"55":1}}],["本安装流程介绍的是如何使用docker快速安装bbs",{"2":{"45":1}}],["本次升级的gorm2",{"2":{"25":1}}],["本次主要更新gorm",{"2":{"25":1}}],["操作更方便",{"2":{"42":1}}],["页签",{"2":{"42":1}}],["设置环境变量等",{"2":{"52":1,"61":1}}],["设置密码",{"2":{"39":1}}],["设置邮箱",{"2":{"39":1}}],["作者的",{"2":{"38":1}}],["侧边栏导航都能在后台配置",{"2":{"38":1}}],["导航菜单",{"2":{"38":1}}],["的",{"2":{"38":1}}],["的依赖",{"2":{"7":1,"13":1}}],["⚠️",{"2":{"37":1}}],["当数据量大时count很耗时",{"2":{"37":1}}],["将他复制一份",{"2":{"65":1}}],["将会升级到指定的版本",{"2":{"59":1}}],["将会升级到最新的修订版本",{"2":{"59":1}}],["将会升级到最新的次要版本或者修订版本",{"2":{"59":1}}],["将依赖下载到本地",{"2":{"57":1}}],["将依赖复制到vendor下",{"2":{"56":1}}],["将公用部分抽象成可复用组件",{"2":{"37":1}}],["将加载方式修改为上拉加载更多",{"2":{"37":1}}],["将前端框架升级到最新的",{"2":{"3":1}}],["为系统提供数据支撑",{"2":{"75":1}}],["为前后端分离设计",{"2":{"75":1}}],["为后期开箱即用做准备",{"2":{"36":1}}],["为多个数据库提供了官方插件",{"2":{"25":1}}],["整理依赖关系",{"2":{"56":1}}],["整理代码",{"2":{"36":1}}],["整理和优化代码",{"2":{"29":1}}],["整理和优化后台管理菜单",{"2":{"29":1}}],["不需要在单独部署",{"2":{"34":1}}],["完善和重构代码",{"2":{"44":1}}],["完善后台帖子管理功能",{"2":{"44":1}}],["完善后台功能",{"2":{"42":1}}],["完善后台配置功能",{"2":{"38":1}}],["完善配置部署文档",{"2":{"38":1}}],["完善帖子详情页用户点赞功能",{"2":{"34":1}}],["完善社区公告功能",{"2":{"34":1}}],["完善数据库初始化脚本",{"2":{"23":1}}],["去掉第三方图片的依赖",{"2":{"33":1}}],["去掉对",{"2":{"7":1}}],["错误的问题",{"2":{"32":1}}],["读取内容错误的问题",{"2":{"32":1}}],["读写分离",{"2":{"25":1}}],["显示问题",{"2":{"32":1}}],["做一个追求完美的人",{"2":{"32":1}}],["之前仅支持上传到阿里云",{"2":{"32":1}}],["之前只能配置到小时",{"2":{"27":1}}],["文档",{"2":{"65":2}}],["文件最大尺寸",{"2":{"65":1}}],["文件支持上传到服务器",{"2":{"32":1}}],["文章管理",{"2":{"80":1}}],["文章",{"2":{"5":1,"80":1}}],["文章封面图支持",{"2":{"5":1}}],["按需加载",{"2":{"32":1}}],["拖拽上传",{"2":{"32":1}}],["推荐版本",{"2":{"52":1,"61":1}}],["推荐通知",{"2":{"22":1}}],["推文图片支持粘贴板上传",{"2":{"32":1}}],["沟通更顺畅",{"2":{"32":1}}],["快速部署",{"2":{"38":1}}],["快速省带宽",{"2":{"32":1}}],["快速启动",{"2":{"6":1,"27":1}}],["快捷发表推文",{"2":{"32":1}}],["同时支持markdown和存文本回复",{"2":{"31":1}}],["图片配置缩图规则",{"2":{"31":1}}],["owner",{"2":{"80":2}}],["org",{"2":{"78":1}}],["orm",{"2":{"78":1}}],["open",{"2":{"65":1,"79":1}}],["optimizer",{"2":{"25":1}}],["on",{"2":{"45":6}}],["oss",{"2":{"31":1,"32":1,"65":1}}],["漏洞",{"2":{"30":1}}],["漏洞修复",{"2":{"4":2}}],["也可关闭观察期",{"2":{"28":1}}],["观察期时长可后台设置",{"2":{"28":1}}],["禁言原因",{"2":{"28":1}}],["可配置绝对路径",{"2":{"65":1}}],["可以通过执行以下命令来设置goproxy",{"2":{"60":1}}],["可通过浏览器访问服务",{"2":{"45":1}}],["可邀请版主一起管理社区",{"2":{"29":1}}],["可设置禁言时长",{"2":{"28":1}}],["可维护性和扩展性",{"2":{"3":1}}],["管理员",{"2":{"80":2}}],["管理员可在前台界面删除",{"2":{"28":1}}],["管理你的",{"2":{"55":1}}],["管理后台无法登录的问题",{"2":{"12":1}}],["修改页面样式配色",{"2":{"41":1}}],["修改网站样式和配色",{"2":{"36":1,"37":1}}],["修改话题和文章",{"2":{"28":1}}],["修改个人主页布局",{"2":{"26":1}}],["修复两个数据越权访问的bug",{"2":{"44":1}}],["修复各种",{"2":{"42":1}}],["修复其他若干",{"2":{"34":1}}],["修复帖子被回复相关系统消息发送逻辑错误的问题",{"2":{"34":1}}],["修复帖子管理菜单权限控制错误的问题",{"2":{"18":1}}],["修复话题修改页面",{"2":{"32":1}}],["修复编辑内容为空的话题时",{"2":{"32":1}}],["修复标签文章列表排序不正确问题",{"2":{"30":1}}],["修复友情链接跳转问题",{"2":{"30":1}}],["修复后台友情链接",{"2":{"32":1}}],["修复后台修改用户密码和角色的",{"2":{"32":1}}],["修复后台用户头像显示错误问题",{"2":{"30":1}}],["修复后台用户角色修改失败的问题",{"2":{"30":1}}],["修复后台几个",{"2":{"12":1}}],["修复评论功能的一个",{"2":{"30":1}}],["修复评论数量显示错误的问题",{"2":{"20":1}}],["修复用户中心侧边栏管理菜单显示错误的问题",{"2":{"26":1}}],["修复gorm日志不打印问题",{"2":{"24":1}}],["修复升级gorm2后造成的点赞失败问题",{"2":{"24":1}}],["修复动态发表时上传多张图片被覆盖的问题",{"2":{"19":1}}],["修复头像展示变形的问题",{"2":{"18":1}}],["修复注册链接跳转失效的问题",{"2":{"18":1}}],["修复积分记录展示错误问题",{"2":{"17":1}}],["修复阿里云图片上传后缀错误问题",{"2":{"16":1}}],["修复一个",{"2":{"13":1,"24":1}}],["修复一个越权查看他人邮箱信息的漏洞",{"2":{"4":1}}],["修复二级评论无消息通知的",{"2":{"11":1}}],["修复二级回复消息查看跳转错误",{"2":{"5":1}}],["修复",{"2":{"6":2,"12":4,"18":1,"20":1,"22":1,"33":1}}],["修复外链跳转",{"2":{"4":1}}],["签到获积分",{"2":{"26":1}}],["签到功能",{"2":{"26":1}}],["7",{"0":{"26":1},"2":{"26":1,"80":5}}],["例如",{"2":{"25":1}}],["索引名称规则",{"2":{"25":1}}],["外键",{"2":{"25":1}}],["连接表名",{"2":{"25":1}}],["字段名",{"2":{"25":1}}],["表名",{"2":{"25":1}}],["统一命名策略",{"2":{"25":1}}],["增强",{"2":{"31":2,"32":1}}],["增强索引支持",{"2":{"25":1}}],["增强前台页面的管理能力",{"2":{"19":1}}],["检查器",{"2":{"25":2}}],["a",{"2":{"80":1}}],["auto",{"2":{"80":7}}],["automigrate",{"2":{"25":1}}],["articles",{"2":{"80":1}}],["article",{"2":{"65":1,"80":2}}],["arco",{"2":{"47":1}}],["accesssecret",{"2":{"65":1}}],["accessid",{"2":{"65":1}}],["aliyunoss",{"2":{"65":1}}],["allowedorigins",{"2":{"65":1}}],["always",{"2":{"45":1}}],["assets",{"2":{"49":2}}],["asia",{"2":{"45":1}}],["app",{"2":{"49":2}}],["api",{"2":{"25":1,"49":1}}],["admin模块",{"2":{"49":1}}],["admin",{"2":{"45":4,"47":1,"49":1,"75":1,"80":4}}],["athom",{"2":{"38":1}}],["更好的自定义类型支持",{"2":{"25":1}}],["更智能的",{"2":{"25":1}}],["更新和移除依赖",{"2":{"55":1}}],["更新markdown语法帮助文档",{"2":{"23":1}}],["更新日志",{"0":{"2":1},"1":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["允许为关系创建数据库外键",{"2":{"25":1}}],["允许多个字段用于追踪",{"2":{"25":1}}],["带插件的统一接口",{"2":{"25":1}}],["忽略",{"2":{"25":1}}],["只需要一下两个步骤",{"2":{"58":1}}],["只更新",{"2":{"25":1}}],["只创建",{"2":{"25":1}}],["只写",{"2":{"25":1}}],["只读",{"2":{"25":1}}],["秒",{"2":{"25":1}}],["纳",{"2":{"25":1}}],["毫",{"2":{"25":1}}],["时间",{"2":{"25":1}}],["批量数据的关联模式",{"2":{"25":1}}],["批量插入",{"2":{"25":1}}],["改进可扩展性",{"2":{"25":1}}],["改进",{"2":{"25":1,"27":1}}],["改进点如下",{"2":{"25":1}}],["子查询改进",{"2":{"25":1}}],["h2",{"2":{"65":1}}],["host",{"2":{"65":3}}],["hooks",{"2":{"49":1}}],["hook",{"2":{"25":1}}],["html",{"2":{"49":1}}],["http",{"2":{"38":1,"45":2,"65":1,"78":1}}],["https",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":4,"39":2,"40":1,"41":1,"42":1,"43":1,"44":1,"48":3,"52":1,"60":2,"61":1,"62":1,"65":5,"77":2,"78":5,"79":5}}],["healthy",{"2":{"45":1}}],["healthcheck",{"2":{"45":1}}],["hint",{"2":{"25":1}}],["锁",{"2":{"25":1}}],["分组条件",{"2":{"25":1}}],["role`",{"2":{"80":7}}],["role",{"2":{"80":6}}],["rollback",{"2":{"25":1}}],["router",{"2":{"49":1}}],["root",{"2":{"45":1}}],["require",{"2":{"57":1}}],["repositories",{"2":{"49":1}}],["readme",{"2":{"49":3}}],["retries",{"2":{"45":1}}],["restart",{"2":{"45":4}}],["re",{"2":{"18":1}}],["releases",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["checkinscore",{"2":{"80":1}}],["charset",{"2":{"80":7}}],["charset=utf8mb4",{"2":{"65":1}}],["character",{"2":{"45":1}}],["cn",{"2":{"60":5,"65":1}}],["cname",{"2":{"49":1}}],["cache",{"2":{"49":1}}],["cmd",{"2":{"49":1}}],["cldjms",{"2":{"80":1}}],["clone",{"2":{"48":1}}],["club",{"2":{"38":1,"39":1,"65":3,"79":4}}],["ci",{"2":{"45":1}}],["crud",{"2":{"25":1}}],["create",{"2":{"25":2,"79":2,"80":7}}],["count`",{"2":{"80":8}}],["courseinfo",{"2":{"65":1}}],["code",{"2":{"79":1}}],["code贡献代码",{"2":{"18":1}}],["college",{"2":{"65":1}}],["collation",{"2":{"45":1}}],["condition",{"2":{"45":1}}],["config`",{"2":{"80":8}}],["config",{"2":{"49":9,"80":7}}],["conf",{"2":{"45":2}}],["controllers",{"2":{"49":1}}],["container",{"2":{"45":4}}],["context",{"2":{"25":3,"45":3}}],["composables",{"2":{"49":2}}],["compose命令",{"2":{"45":1}}],["compose",{"2":{"45":5,"49":1}}],["components",{"2":{"49":3}}],["commitlint",{"2":{"49":1}}],["command",{"2":{"45":1}}],["comment",{"2":{"25":1}}],["com",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"48":4,"57":2,"62":1,"65":3,"77":2,"78":3,"79":1,"80":1}}],["t",{"2":{"80":8}}],["text",{"2":{"80":5}}],["test",{"2":{"45":1,"49":1}}],["true",{"2":{"65":1}}],["tree",{"2":{"65":1}}],["tcp",{"2":{"65":1}}],["types",{"2":{"49":1}}],["tsconfig",{"2":{"49":3}}],["ts",{"2":{"49":8}}],["timestamp",{"2":{"80":70}}],["time`",{"2":{"80":35}}],["timeout",{"2":{"45":1}}],["tinyint",{"2":{"80":1}}],["tidy",{"2":{"56":1,"58":1}}],["tip",{"2":{"48":1}}],["title14",{"2":{"65":1}}],["title",{"2":{"32":1,"80":3}}],["tz",{"2":{"45":1}}],["tab",{"2":{"42":1}}],["tables",{"2":{"45":1}}],["table",{"2":{"25":1,"80":11}}],["tag",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["todo",{"2":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1}}],["tokenexpiredays",{"2":{"80":2}}],["token",{"2":{"65":2}}],["topicnode",{"2":{"80":1}}],["topics",{"2":{"80":1}}],["topic",{"2":{"38":1,"39":1,"65":1,"79":4,"80":7}}],["to",{"2":{"25":2}}],["forbidden",{"2":{"80":1}}],["forbiddenword",{"2":{"80":1}}],["file",{"2":{"80":1}}],["filename",{"2":{"65":1}}],["findinbatches",{"2":{"25":1}}],["find",{"2":{"25":1}}],["failure",{"2":{"45":3}}],["from",{"2":{"25":1,"80":18}}],["feature",{"2":{"18":1,"19":5,"21":5,"22":1,"30":7}}],["预览图片样式名称",{"2":{"65":1}}],["预加载",{"2":{"25":1}}],["预编译模式",{"2":{"25":1}}],["javascript",{"2":{"78":1}}],["join",{"2":{"25":2}}],["js开发的社区运营",{"2":{"75":1}}],["js开发的社区前台ui服务",{"2":{"75":1}}],["js进行开发",{"2":{"75":1}}],["js来渲染前端界面",{"2":{"43":1}}],["json",{"2":{"25":1,"49":5}}],["js的加载逻辑",{"2":{"23":1}}],["js",{"2":{"3":1,"16":1,"49":3,"78":2}}],["性能改进",{"2":{"25":1}}],["深度优化性能",{"2":{"25":1}}],["从零开始",{"2":{"25":1}}],["从心出发",{"0":{"0":1,"81":1}}],["在项目根目录下执行该命令",{"2":{"58":2}}],["在项目根目录下执行go",{"2":{"57":1}}],["在旧项目中使用非常简单",{"2":{"58":1}}],["在旧项目中使用",{"0":{"58":1}}],["在新项目中使用",{"0":{"57":1}}],["在当前目录下初始化go",{"2":{"56":1}}],["在bbs",{"2":{"45":1}}],["在你的电脑上创建目录",{"2":{"45":1}}],["在安装之前请确保您已经正确安装并启动docker服务",{"2":{"45":1}}],["在gorm2",{"2":{"25":1}}],["在前台页面增加多出话题",{"2":{"19":1}}],["80",{"2":{"45":1}}],["8080",{"2":{"45":2}}],["8082",{"2":{"45":2,"65":1}}],["8",{"0":{"25":1,"35":1},"2":{"25":1,"35":1,"45":2,"80":5}}],["950827012b8d",{"2":{"79":1}}],["9200",{"2":{"65":1}}],["9",{"0":{"24":1,"34":1},"2":{"24":1,"34":1,"80":5}}],["提示",{"2":{"45":1,"62":1,"80":1}}],["提升性能",{"2":{"29":1}}],["提升网站加载速度",{"2":{"23":1}}],["提供完整的",{"2":{"3":1}}],["提供全新的管理后台",{"2":{"3":1}}],["登录",{"2":{"39":1}}],["登录异常的问题",{"2":{"22":1}}],["登录页面样式",{"2":{"12":1}}],["收藏通知",{"2":{"22":1}}],["个人主页新增我的动态",{"2":{"22":1}}],["个人资料编辑页面",{"2":{"12":1}}],["记录管理员",{"2":{"29":1}}],["记录帖子最后回复人",{"2":{"21":1}}],["记录发帖",{"2":{"12":1}}],["安装依赖",{"0":{"63":1}}],["安装教程详见",{"2":{"62":1}}],["安装go",{"0":{"52":1,"61":1}}],["安装步骤如下",{"2":{"45":1}}],["安装流程",{"0":{"45":1}}],["安装时的痛苦了",{"2":{"19":1}}],["安全问题修复",{"2":{"10":1}}],["再也不用忍受",{"2":{"19":1}}],["nav",{"2":{"80":1}}],["names",{"2":{"80":1}}],["name",{"2":{"45":4}}],["null",{"2":{"80":57}}],["nuxt开发的前台页面服务",{"2":{"47":1}}],["nuxt",{"2":{"16":1,"17":1,"49":1,"78":2}}],["nuxt3",{"2":{"3":1}}],["no`",{"2":{"80":8}}],["now",{"2":{"80":70}}],["not",{"2":{"80":37}}],["node`",{"2":{"80":3}}],["nodeid=6",{"2":{"79":2}}],["node",{"2":{"19":2,"80":1}}],["替换",{"2":{"19":1}}],["sys",{"2":{"80":15}}],["systems",{"2":{"78":1}}],["sort",{"2":{"80":1}}],["scoreconfig",{"2":{"80":2}}],["score`",{"2":{"80":1}}],["scalable",{"2":{"78":1}}],["scheduler",{"2":{"49":1}}],["simple",{"2":{"78":1}}],["sitenavs",{"2":{"80":2}}],["sitekeywords",{"2":{"80":2}}],["sitedescription",{"2":{"80":2}}],["sitetitle",{"2":{"80":2}}],["site模块",{"2":{"49":1}}],["site",{"2":{"45":4,"47":1,"49":1,"65":2,"75":1}}],["sitemap",{"2":{"19":1}}],["smseo",{"2":{"65":1}}],["sm",{"2":{"65":1}}],["smtp邮箱服务配置",{"0":{"71":1}}],["smtp",{"2":{"65":2}}],["ssl",{"2":{"65":1}}],["ssrf漏洞",{"2":{"24":1}}],["stop",{"2":{"80":1}}],["store",{"2":{"49":1}}],["stores",{"2":{"49":1}}],["st",{"2":{"65":2}}],["styledetail",{"2":{"65":1}}],["stylesmall",{"2":{"65":1}}],["stylesplitter",{"2":{"65":1}}],["stylepreview",{"2":{"65":1}}],["styleavatar",{"2":{"65":1}}],["status`",{"2":{"80":1}}],["staticpath",{"2":{"65":1}}],["start",{"2":{"49":1}}],["src",{"2":{"49":2}}],["spam",{"2":{"49":1}}],["sum",{"2":{"49":1}}],["shellexport",{"2":{"60":1}}],["shellgo",{"2":{"60":1,"63":1,"64":1}}],["shellgit",{"2":{"48":1}}],["show",{"2":{"45":1}}],["sh",{"2":{"45":1,"49":1}}],["shanghai",{"2":{"45":1}}],["select",{"2":{"80":18}}],["secure",{"2":{"78":1}}],["service",{"2":{"45":1}}],["services",{"2":{"45":1,"49":1}}],["server模块的依赖使用go",{"2":{"63":1}}],["server模块安装",{"0":{"50":1},"1":{"51":1,"52":1,"53":1}}],["server服务端模块",{"2":{"49":1}}],["server",{"0":{"62":1},"1":{"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1},"2":{"45":6,"47":1,"49":5,"63":1,"75":1}}],["server=utf8mb4",{"2":{"45":2}}],["settings",{"2":{"80":3}}],["set",{"2":{"45":1,"80":1}}],["seo",{"2":{"23":1}}],["sdk",{"2":{"30":1}}],["sqluse",{"2":{"80":1}}],["sql初始化脚本",{"0":{"80":1}}],["sql文件会以字母顺序依次执行",{"2":{"45":1}}],["sql脚本内容请加qq群获取",{"2":{"45":1}}],["sql",{"2":{"25":1,"45":1,"57":1}}],["savepoint",{"2":{"25":2}}],["sass",{"2":{"19":3}}],["使用go",{"2":{"57":1}}],["使用go语言开发的服务端接口服务",{"2":{"47":1}}],["使用vue",{"2":{"47":1}}],["使用vditor编辑器",{"2":{"41":1}}],["使用node",{"2":{"47":1}}],["使用docker",{"2":{"45":1}}],["使用sql表达式",{"2":{"25":1}}],["使用",{"2":{"19":1}}],["生成器",{"2":{"25":1}}],["生成策略",{"2":{"19":1}}],["生日",{"2":{"6":1}}],["调整多处样式细节",{"2":{"32":1}}],["调整",{"2":{"19":1}}],["调整搜索框样式",{"2":{"12":1}}],["代码结构",{"0":{"46":1},"1":{"47":1,"48":1,"49":1}}],["代码结构重构",{"2":{"18":1}}],["代码模块化",{"2":{"25":1}}],["代码高亮改用",{"2":{"6":1}}],["平台中上传图片路径错误的问题",{"2":{"18":1}}],["感谢",{"2":{"38":1}}],["感谢热心用户",{"2":{"38":1}}],["感谢alice",{"2":{"18":1}}],["感谢长亭科技",{"2":{"4":3}}],["排行榜样式",{"2":{"18":1}}],["永久禁言用户积分清零",{"2":{"17":1}}],["集成",{"2":{"17":1,"25":1}}],["集成新的",{"2":{"16":1}}],["反作弊系统",{"2":{"17":1}}],["64",{"2":{"80":3}}],["609",{"2":{"38":1,"39":1,"79":2}}],["6",{"0":{"17":1,"27":1},"2":{"17":1,"27":1,"80":5}}],["elasticsearch配置",{"0":{"70":1}}],["element",{"2":{"13":1}}],["es",{"2":{"65":2}}],["edit",{"2":{"56":1}}],["editor",{"2":{"16":1}}],["error",{"2":{"49":1}}],["ecosystem",{"2":{"49":1}}],["exists",{"2":{"80":13}}],["exe",{"2":{"64":1}}],["execute",{"2":{"45":1}}],["example",{"2":{"49":1,"65":1,"80":1}}],["etc",{"2":{"45":1}}],["engine",{"2":{"80":7}}],["end",{"2":{"80":1}}],["endpoint",{"2":{"65":1}}],["enable",{"2":{"65":1}}],["env",{"2":{"49":1,"60":3}}],["environment",{"2":{"45":1}}],["entrypoint",{"2":{"45":3}}],["enhance",{"2":{"30":1}}],["enhancement",{"2":{"21":1,"22":5}}],["组件自动导入",{"2":{"16":1}}],["功能建议",{"2":{"79":1}}],["功能建议收集",{"2":{"38":1,"39":1}}],["功能介绍",{"0":{"74":1},"1":{"75":1,"76":1,"77":1,"78":1,"79":1}}],["功能增强",{"2":{"26":1}}],["功能",{"0":{"76":1},"2":{"16":1,"31":1}}],["加载更多",{"2":{"16":1}}],["版主的管理记录",{"2":{"29":1}}],["版页面样式",{"2":{"15":1}}],["版本中成为默认的依赖管理工具",{"2":{"55":1}}],["版本起引入",{"2":{"55":1}}],["版本",{"2":{"3":1}}],["permission",{"2":{"80":4}}],["postcommentscore",{"2":{"80":1}}],["posttopicscore",{"2":{"80":1}}],["port",{"2":{"65":2}}],["ports",{"2":{"45":3}}],["plugin",{"2":{"49":1}}],["plain",{"2":{"49":1}}],["public",{"2":{"49":1}}],["pull",{"2":{"38":2}}],["pnpm",{"2":{"49":2}}],["pkg",{"2":{"49":1,"57":1}}],["page`",{"2":{"80":1}}],["page=2",{"2":{"65":1}}],["pages",{"2":{"49":1}}],["path",{"2":{"65":1}}],["parsetime=true",{"2":{"65":1}}],["package",{"2":{"49":2,"59":1}}],["password=123456",{"2":{"45":1}}],["password",{"2":{"45":2,"65":2}}],["pad",{"2":{"15":1}}],["primary",{"2":{"80":7}}],["prismjs",{"2":{"6":1}}],["proxy",{"0":{"53":1,"60":1}}],["prod",{"2":{"49":1,"65":2}}],["prometheus",{"2":{"25":1}}],["pr",{"2":{"30":1,"38":2}}],["攻击漏洞",{"2":{"13":1}}],["减少数据交互",{"2":{"13":1}}],["简化后台部署",{"2":{"34":1}}],["简化对",{"2":{"13":1}}],["简化接口用户信息渲染",{"2":{"13":1}}],["简化安装流程",{"2":{"3":1}}],["搜索功能优化",{"2":{"13":1}}],["搜索框显示问题",{"2":{"12":1}}],["粉丝关注功能",{"2":{"13":1}}],["界面样式细节",{"2":{"12":1}}],["依赖安装成功后",{"2":{"64":1}}],["依赖软件版本升级",{"2":{"15":1}}],["依赖",{"2":{"12":1}}],["icon",{"2":{"80":8}}],["iconfont",{"2":{"7":1}}],["id`",{"2":{"80":14}}],["id=267",{"2":{"65":1}}],["if",{"2":{"80":4}}],["io",{"2":{"60":1,"78":1}}],["image`",{"2":{"80":1}}],["image",{"2":{"45":4}}],["insert",{"2":{"80":13}}],["innodb",{"2":{"80":7}}],["into",{"2":{"80":13}}],["int",{"2":{"80":8}}],["internal",{"2":{"49":1}}],["interval",{"2":{"45":1}}],["increment",{"2":{"80":7}}],["init",{"2":{"45":1,"56":1,"57":1,"58":1}}],["initdb",{"2":{"45":3}}],["index",{"2":{"25":1,"49":1,"65":1,"80":2}}],["iris",{"2":{"38":2,"78":2}}],["ip2region",{"2":{"65":1}}],["ip数据文件",{"2":{"65":1}}],["ipdatapath",{"2":{"65":1}}],["ip",{"2":{"12":1}}],["utf8mb4",{"2":{"80":8}}],["utils",{"2":{"49":2}}],["url",{"2":{"65":2,"80":3}}],["u=patch",{"2":{"59":1}}],["u",{"2":{"59":1}}],["unique",{"2":{"80":7}}],["unicode",{"2":{"45":1}}],["unix",{"2":{"25":1,"80":70}}],["usr",{"2":{"45":1}}],["user`",{"2":{"80":2}}],["username=gh",{"2":{"79":1}}],["username",{"2":{"65":3}}],["user=bbsgo",{"2":{"45":1}}],["user",{"2":{"45":1,"80":10}}],["uploader",{"2":{"65":1}}],["up命令启动启动服务",{"2":{"45":1}}],["update",{"2":{"25":1}}],["upsert",{"2":{"25":1}}],["ua",{"2":{"12":1}}],["ui",{"2":{"10":1,"13":1,"20":2}}],["评论列表数据加载逻辑",{"2":{"29":1}}],["评论的查询性能",{"2":{"28":1}}],["评论框支持上传图片",{"2":{"16":1}}],["评论用户的",{"2":{"12":1}}],["评论盖楼模式",{"2":{"12":1}}],["评论进行违禁词筛选",{"2":{"4":1}}],["重构项目使用nuxt",{"2":{"43":1}}],["重构前端页面组件",{"2":{"37":1}}],["重构回复功能",{"2":{"31":1}}],["重构代码完全遵循eslint配置的规则",{"2":{"37":1}}],["重构代码",{"2":{"25":1,"38":1}}],["重构事件处理框架",{"2":{"11":1}}],["重构",{"2":{"11":1,"31":1}}],["重构底层框架代码",{"2":{"9":1}}],["适配黑夜",{"2":{"11":1}}],["样式优化",{"2":{"7":1}}],["menu",{"2":{"80":2}}],["menu`",{"2":{"80":7}}],["mvc",{"2":{"78":1}}],["mip",{"2":{"65":1}}],["middleware",{"2":{"49":2}}],["migrator",{"2":{"25":1}}],["md",{"2":{"49":3}}],["mysql",{"2":{"45":15,"57":1,"78":2}}],["mlog",{"2":{"38":1,"39":1,"65":3,"79":4}}],["mlogclub",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":3,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":3,"48":3,"57":1,"77":2}}],["maxopenconns",{"2":{"65":1}}],["maxidleconns",{"2":{"65":1}}],["maxbackups",{"2":{"65":1}}],["maxage",{"2":{"65":1}}],["maxsize",{"2":{"65":1}}],["master",{"2":{"65":1}}],["main",{"2":{"49":1}}],["makefile",{"2":{"49":1}}],["map",{"2":{"25":2}}],["markdown",{"2":{"16":2,"33":1}}],["more",{"2":{"21":1}}],["mod进行管理",{"2":{"63":1}}],["mod代理推荐一下两个",{"2":{"60":1}}],["mod配置代理",{"2":{"60":1}}],["mod会自动分析你当前项目所需要的依赖",{"2":{"58":1}}],["mod的项目都可以共用",{"2":{"57":1}}],["mod目录下",{"2":{"57":1}}],["mod并不要求你的项目源码放到$gopath下",{"2":{"57":1}}],["mod文件",{"2":{"56":1,"57":1,"58":1}}],["modules",{"2":{"55":2}}],["mod使用帮助",{"0":{"54":1},"1":{"55":1,"56":1,"57":1,"58":1,"59":1,"60":1}}],["mod",{"0":{"55":1,"56":1,"60":1},"1":{"56":1,"57":1,"58":1,"59":1},"2":{"12":1,"49":1,"56":10,"57":2,"58":2,"63":1}}],["models",{"2":{"49":1}}],["mode",{"2":{"7":1}}],["多处细节调整",{"2":{"22":1}}],["多处细节和功能优化",{"2":{"21":1}}],["多处细节优化",{"2":{"7":1}}],["多处细节优化和",{"2":{"6":1}}],["多出交互细节优化",{"2":{"15":1}}],["多出细节和功能优化",{"2":{"5":1}}],["实现话题收藏功能",{"2":{"30":1}}],["实现",{"2":{"6":1,"16":1}}],["dual",{"2":{"80":9}}],["direct",{"2":{"60":1}}],["directive",{"2":{"49":1}}],["drop",{"2":{"80":4}}],["driver",{"2":{"57":1}}],["dryrun",{"2":{"25":1}}],["download",{"2":{"56":1,"57":1,"63":1}}],["docs",{"2":{"38":1}}],["dockerfile",{"2":{"45":6,"49":3}}],["docker目录中创建文件",{"2":{"45":1}}],["docker",{"2":{"3":1,"4":1,"6":1,"27":1,"38":1,"45":8,"49":3}}],["dl",{"2":{"52":1,"61":1}}],["defaultnodeid",{"2":{"80":2}}],["default",{"2":{"80":47}}],["dev",{"2":{"49":1,"52":1,"61":1,"65":3,"78":1}}],["depends",{"2":{"45":3}}],["db",{"2":{"45":2,"65":2,"80":1}}],["dashboard",{"2":{"80":3}}],["datetime",{"2":{"80":1}}],["data",{"2":{"45":2,"65":4}}],["database",{"2":{"45":1}}],["dart",{"2":{"19":1}}],["dark",{"2":{"6":1,"7":1,"11":1}}],["d",{"2":{"45":5,"49":2}}],["支持配置默认发帖节点",{"2":{"32":1}}],["支持图片lazyload功能",{"2":{"32":1}}],["支持推文功能",{"2":{"32":1}}],["支持阿里云",{"2":{"31":1}}],["支持文章审核功能",{"2":{"30":1}}],["支持版主功能",{"2":{"29":1}}],["支持记录操作日志",{"2":{"28":1}}],["支持新用户观察期功能",{"2":{"28":1}}],["支持用户禁言功能",{"2":{"28":1}}],["支持邮箱验证",{"2":{"28":1}}],["支持多管理员功能",{"2":{"28":1}}],["支持后台配置用户登录有效期",{"2":{"26":1}}],["支持约束",{"2":{"25":1}}],["支持字段权限",{"2":{"25":1}}],["支持完整的自引用",{"2":{"25":1}}],["支持嵌套事务",{"2":{"25":1}}],["支持自定义个人中心背景主题",{"2":{"24":1}}],["支持神马搜索链接推送",{"2":{"23":1}}],["支持基于elasticsearch的帖子搜索功能",{"2":{"23":1}}],["支持永久禁言的同时清理被禁言用户的话题和文章",{"2":{"19":1}}],["支持开源中国一键登录",{"2":{"17":1}}],["支持帖子置顶功能",{"2":{"8":1}}],["支持隐藏内容回复后查看",{"2":{"8":1}}],["支持",{"2":{"6":1,"25":3,"27":1,"31":1,"38":1}}],["bigint",{"2":{"80":29}}],["bin",{"2":{"45":1}}],["baiduseo",{"2":{"65":1}}],["baidu",{"2":{"65":1}}],["baseurl",{"2":{"65":1}}],["base",{"2":{"49":1}}],["babel",{"2":{"49":1}}],["bucket",{"2":{"65":1}}],["build",{"2":{"45":3,"64":1,"78":1}}],["bug",{"2":{"6":1,"11":1,"12":1,"20":1,"32":1,"34":1,"42":1}}],["bugfix",{"2":{"5":1,"11":1,"13":1,"18":4,"19":1,"22":1,"26":1,"30":5,"32":4}}],["bbsgo站长",{"2":{"80":1}}],["bbsgo",{"2":{"45":3,"65":2,"80":1}}],["bbs",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":8,"47":1,"48":3,"49":2,"64":1,"65":3,"75":2,"77":2,"80":3}}],["动态功能更加完善",{"2":{"21":1}}],["动态功能合并",{"2":{"21":1}}],["动态",{"2":{"5":1,"31":1}}],["帖子管理",{"2":{"80":2}}],["帖子详情页支持推荐功能",{"2":{"21":1}}],["帖子",{"2":{"5":1,"21":1}}],["系统设置",{"2":{"80":1}}],["系统由三个模块组成",{"2":{"75":1}}],["系统提供了配置示例文件",{"2":{"65":1}}],["系统支持配置开启或关闭功能模块",{"2":{"5":1}}],["系统重构构建和启动速度大大提升",{"2":{"14":1}}],["系统重构",{"2":{"3":1}}],["19",{"2":{"80":1}}],["17",{"2":{"80":1}}],["15",{"2":{"80":1}}],["1024",{"2":{"80":5}}],["1000",{"2":{"80":70}}],["100",{"2":{"45":1,"65":1}}],["10",{"0":{"24":1,"28":1,"39":1},"2":{"65":2,"80":7}}],["13",{"0":{"21":1},"2":{"55":1,"80":3}}],["16",{"0":{"18":1},"2":{"80":3}}],["1",{"0":{"8":1,"12":1,"15":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":2,"33":1,"40":1,"44":1},"2":{"8":1,"12":1,"15":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":2,"31":1,"32":2,"33":1,"40":1,"44":1,"55":2,"57":2,"65":2,"80":33}}],["18",{"0":{"7":1,"11":1,"37":1},"2":{"9":1,"80":1}}],["14",{"0":{"5":1},"2":{"30":1,"80":1}}],["11",{"0":{"5":1,"13":1,"23":1,"26":1,"37":1,"38":2},"2":{"55":1,"80":12}}],["128",{"2":{"80":3}}],["127",{"2":{"65":1}}],["123456",{"2":{"45":2,"80":2}}],["12",{"0":{"4":1,"9":1,"13":1,"22":1,"36":1,"40":1},"2":{"38":1,"57":1,"80":4}}],["48",{"2":{"30":1}}],["4",{"0":{"5":1,"10":1,"11":1,"12":1,"13":1,"19":1,"29":1,"37":1},"2":{"5":1,"10":1,"11":1,"12":1,"13":1,"19":1,"29":1,"37":1,"57":1,"80":5}}],["问题反馈",{"2":{"79":2}}],["问题",{"2":{"4":1}}],["优化页面布局",{"2":{"44":1}}],["优化页面体积",{"2":{"22":1}}],["优化界面样式",{"2":{"40":1}}],["优化数据库索引和数据查询性能",{"2":{"38":1}}],["优化项目体积",{"2":{"33":1}}],["优化积分中心展示样式",{"2":{"33":1}}],["优化管理后台样式",{"2":{"30":1}}],["优化管理后台功能",{"2":{"10":1}}],["优化管理后台功能细节",{"2":{"4":1}}],["优化帖子列表",{"2":{"33":1}}],["优化帖子点赞收藏展示逻辑",{"2":{"24":1}}],["优化帖子详情页样式",{"2":{"22":1}}],["优化缓存数据不存在时的处理逻辑",{"2":{"23":1}}],["优化导航栏消息入口显示逻辑",{"2":{"23":1}}],["优化markdown编辑器编辑模式",{"2":{"23":1}}],["优化站内消息发送逻辑",{"2":{"23":1}}],["优化日志输出逻辑",{"2":{"23":1}}],["优化邮箱验证逻辑",{"2":{"22":1}}],["优化邮箱验证流程",{"2":{"10":1}}],["优化登录页面样式",{"2":{"22":1}}],["优化消息页面",{"2":{"22":1}}],["优化头像的存储和加载方式",{"2":{"21":1}}],["优化头像显示组件",{"2":{"20":1}}],["优化列表",{"2":{"16":1}}],["优化代码高亮库highlight",{"2":{"23":1}}],["优化代码高亮组件",{"2":{"16":1}}],["优化代码结构",{"2":{"11":1,"38":1}}],["优化内部链接跳转页面刷新体验",{"2":{"16":1}}],["优化多项界面体验细节",{"2":{"16":1}}],["优化应用体积和加载速度",{"2":{"13":1}}],["优化个人中心展示样式",{"2":{"13":1}}],["优化评论组件",{"2":{"12":1}}],["优化话题详情页",{"2":{"10":1,"20":1}}],["优化后台文章",{"2":{"28":1,"29":1}}],["优化后台文章管理功能",{"2":{"7":1}}],["优化后台话题管理功能",{"2":{"20":1}}],["优化后台评论管理功能",{"2":{"7":1}}],["优化后台帖子管理功能",{"2":{"7":1}}],["优化文章列表加载性能",{"2":{"37":1}}],["优化文章页布局",{"2":{"30":1}}],["优化文章页面展示样式",{"2":{"11":1}}],["优化文章页面样式",{"2":{"5":1}}],["优化文章详情页近期文章展示逻辑",{"2":{"29":1}}],["优化文章审核流程",{"2":{"5":1}}],["优化文章模块功能",{"2":{"5":1}}],["优化",{"2":{"4":3,"5":3,"12":4,"13":4,"23":10,"28":1}}],["发送验证邮件进行验证",{"2":{"28":1}}],["发表频率控制",{"2":{"17":1}}],["发表内容验证码开关",{"2":{"17":1}}],["发文章",{"2":{"4":1}}],["发帖审核功能",{"2":{"4":1}}],["发帖",{"2":{"4":1}}],["发布地址",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["违禁词",{"2":{"80":1}}],["违禁词支持词组和正则表达式",{"2":{"4":1}}],["违禁词模块",{"2":{"4":1}}],["新的样式和配色更加好看",{"2":{"36":1,"37":1}}],["新的插件系统",{"2":{"25":1}}],["新用户注册后观察期内无法发表内容",{"2":{"28":1}}],["新用户观察期支持更小粒度的配置",{"2":{"27":1}}],["新用户观察期",{"2":{"17":1}}],["新特性",{"2":{"26":3,"27":1,"31":2,"32":5}}],["新特性和改进",{"2":{"3":1}}],["新功能",{"2":{"23":1,"28":6}}],["新增好博客导航功能",{"2":{"42":1}}],["新增内容专栏功能",{"2":{"42":1}}],["新增标签下的发帖引导",{"2":{"41":1}}],["新增话题点赞功能",{"2":{"40":1}}],["新增话题跟帖数量",{"2":{"40":1}}],["新增本地快速构建脚本",{"2":{"38":1}}],["新增配置项站外链接跳转",{"2":{"37":1}}],["新增后台手动退出功能",{"2":{"35":1}}],["新增论坛公告功能",{"2":{"35":1}}],["新增用户积分功能",{"2":{"34":1}}],["新增最新动态挂件",{"2":{"30":1}}],["新增操作日志功能",{"2":{"29":1}}],["新增签到功能入口",{"2":{"24":1}}],["新增签到排行榜",{"2":{"21":1}}],["新增点赞通知",{"2":{"22":1}}],["新增举报功能",{"2":{"5":1}}],["新增默认头像支持",{"2":{"5":1}}],["新增",{"2":{"4":4,"5":4,"11":1,"12":2,"13":1}}],["512",{"2":{"80":1}}],["50",{"2":{"65":1}}],["5",{"0":{"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"18":1,"28":1,"36":1,"43":1},"2":{"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"18":1,"28":1,"36":1,"43":1,"80":5}}],["镜像构建脚本",{"2":{"4":1}}],["镜像",{"2":{"3":1}}],["享受新版本带来的性能提升",{"2":{"3":1}}],["365",{"2":{"80":1}}],["32",{"2":{"80":3}}],["3306",{"2":{"65":1}}],["3s",{"2":{"45":1}}],["3000",{"2":{"45":3}}],["300s",{"2":{"45":1}}],["30",{"0":{"29":1,"32":1}}],["31",{"0":{"27":1}}],["3",{"0":{"6":1,"10":1,"14":1,"15":1,"16":1,"20":1,"30":1,"38":1},"2":{"3":1,"6":1,"10":1,"14":2,"15":1,"16":1,"20":1,"30":1,"38":1,"45":1,"80":8}}],["升级至版本",{"2":{"38":1}}],["升级vidtor",{"2":{"36":1}}],["升级后台管理",{"2":{"34":1}}],["升级到",{"2":{"30":1}}],["升级第三方依赖",{"2":{"5":1}}],["升级",{"2":{"3":1,"9":1,"26":1}}],["verified`",{"2":{"80":1}}],["verify",{"2":{"56":1}}],["version",{"2":{"59":1}}],["vender",{"2":{"56":1}}],["views",{"2":{"49":1}}],["vite",{"2":{"17":1,"49":4}}],["volumes",{"2":{"45":2}}],["v1",{"0":{"43":1,"44":1},"2":{"43":1,"44":1,"57":1}}],["v2",{"0":{"42":1},"2":{"42":1}}],["values",{"2":{"80":4}}],["valuer",{"2":{"25":1}}],["varchar",{"2":{"80":19}}],["var",{"2":{"45":1}}],["vanessa219",{"2":{"36":1}}],["vditor",{"2":{"26":1,"36":1}}],["v3",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1}}],["vuejs",{"2":{"78":1}}],["vue",{"2":{"3":1,"16":1,"49":3,"78":1}}],["vue3",{"2":{"3":1}}],["v4",{"0":{"3":1},"2":{"3":1}}],["对整个系统进行了全面的重构",{"2":{"3":1}}],["get",{"2":{"59":3}}],["graph",{"2":{"56":1}}],["git",{"2":{"48":2}}],["gitee",{"2":{"48":1,"77":1}}],["git使用教程",{"2":{"48":1}}],["github和gitee上都有最新版本的源码",{"2":{"48":1}}],["github",{"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":3,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"48":2,"57":2,"65":1,"77":2,"78":1}}],["go演示站",{"2":{"80":1}}],["go语言",{"2":{"78":1}}],["go语言开发后端接口服务",{"2":{"75":1}}],["go语言开发环境安装",{"0":{"51":1},"1":{"52":1,"53":1}}],["goproxy=https",{"2":{"60":2}}],["goproxy",{"2":{"60":4}}],["gomodule",{"2":{"57":1}}],["google",{"2":{"48":1,"62":1}}],["go采用前后端分离设计",{"2":{"47":1}}],["golang只提供数据支撑",{"2":{"43":1}}],["go也第一时间跟进并升级了gorm2",{"2":{"25":1}}],["gorm",{"2":{"25":1,"78":2}}],["go1",{"2":{"9":1,"52":1,"61":1}}],["go",{"0":{"54":1,"55":1,"56":1,"60":1},"1":{"55":1,"56":2,"57":2,"58":2,"59":2,"60":1},"2":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":2,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":2,"31":2,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":10,"48":3,"49":4,"52":1,"55":6,"56":8,"57":2,"58":3,"59":3,"60":2,"61":1,"64":2,"65":4,"75":2,"77":2,"78":3,"80":2}}],["200",{"2":{"65":1}}],["20",{"2":{"52":1,"61":1,"80":20}}],["2019",{"0":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["2020",{"0":{"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["2021",{"0":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1}}],["2022",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1}}],["2024",{"0":{"0":1,"3":1,"81":1}}],["28",{"0":{"23":1,"33":1}}],["26",{"0":{"20":1}}],["256",{"2":{"80":2}}],["25",{"0":{"19":1,"25":1},"2":{"38":1,"65":1}}],["22",{"0":{"16":1,"24":1,"31":1},"2":{"80":1}}],["29",{"0":{"14":1,"22":1,"39":1}}],["2",{"0":{"7":1,"11":1,"14":1,"17":1,"18":1,"19":1,"20":1,"21":2,"22":1,"23":1,"31":1,"39":1},"2":{"7":1,"11":1,"14":1,"17":1,"18":1,"19":1,"20":1,"21":2,"22":1,"23":1,"25":1,"31":1,"39":1,"80":15}}],["27",{"0":{"6":1,"8":1},"2":{"38":1}}],["21",{"0":{"3":1,"10":1},"2":{"80":1}}],["0发布后",{"2":{"25":1}}],["05",{"0":{"17":1,"30":1,"34":1,"36":1}}],["06",{"0":{"16":1,"29":1}}],["07",{"0":{"12":1,"28":1,"35":1,"43":1,"44":1}}],["01",{"0":{"11":1,"12":1,"20":1,"21":1,"35":1,"44":1}}],["03",{"0":{"10":1,"15":1,"19":1,"32":1,"42":1}}],["04",{"0":{"8":1,"9":1,"18":1,"30":1,"31":1}}],["08",{"0":{"7":1,"15":1,"27":1,"43":1}}],["09",{"0":{"6":1,"14":1,"17":1,"25":1,"26":1,"40":1,"41":2,"42":1}}],["02",{"0":{"3":1,"4":1,"33":1,"34":1}}],["0",{"0":{"3":2,"9":1,"13":1,"16":1,"23":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":2,"42":2,"43":1,"44":1},"2":{"3":2,"9":1,"13":1,"16":1,"23":1,"25":3,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":2,"42":2,"43":1,"44":1,"45":1,"65":2,"80":44}}],["联系我",{"0":{"1":1,"79":1,"82":1}}],["共筑简洁社区新时代",{"0":{"0":1,"81":1}}],["🎉🎉🎉",{"0":{"0":1,"81":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/VPLocalSearchBox.C9Vw0EQp.js b/assets/chunks/VPLocalSearchBox.C9Vw0EQp.js deleted file mode 100644 index 89ff922..0000000 --- a/assets/chunks/VPLocalSearchBox.C9Vw0EQp.js +++ /dev/null @@ -1,13 +0,0 @@ -var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{Y as yt,h as oe,y as $e,al as kt,am as Ot,d as _t,H as xe,an as tt,k as Fe,ao as Rt,ap as Mt,z as Lt,aq as zt,l as _e,U as de,S as Ee,ar as Pt,as as Vt,Z as Bt,j as $t,at as Wt,o as ee,b as Kt,m as k,a2 as Jt,p as j,au as Ut,av as jt,aw as Gt,c as re,n as rt,e as Se,G as at,F as nt,a as ve,t as pe,ax as qt,q as Ht,s as Qt,ay as it,az as Yt,ab as Zt,ah as Xt,aA as er,_ as tr}from"./framework.BjaKWcf5.js";import{u as rr,c as ar}from"./theme.DtXQLQW7.js";const nr={root:()=>yt(()=>import("./@localSearchIndexroot.Dz8yuhrN.js"),__vite__mapDeps([]))};/*! -* tabbable 6.2.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ue.call(e,Ne)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ne);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ne)===!1?!1:We(t,e)},xr=mt.concat("iframe").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! -* focus-trap 7.5.4 -* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Nr=function(e){return ge(e)&&!e.shiftKey},Cr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),C=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),z=p.slice().reverse().find(function(m){return le(m)}),P=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:C,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(q){return le(q)}):p.slice(0,p.indexOf(x)).reverse().find(function(q){return le(q)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,C=c.isBackward,I=C===void 0?!1:C;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(V){var U=V.firstTabbableNode;return f===U});if(m<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(m=z),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(V){var U=V.lastTabbableNode;return f===U});if(K<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var q=K===i.tabbableGroups.length-1?0:K+1,H=i.tabbableGroups[q];M=se(f)>=0?H.firstTabbableNode:H.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var C,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(m){return m===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(C=z[P-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(C=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(C||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},R=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},B=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",L,!0),s},_=function(c){var f=c.some(function(p){var C=Array.from(p.removedNodes);return C.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(_):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),C=u(c,"checkCanFocusTrap");C||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){C&&v(),B(),O(),p==null||p()};return C?(C(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),C=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),C==null||C()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),B(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function _r(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,R,B,N,_,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(_=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){_={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(_)throw _.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),B={error:R},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(B)throw B.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Be.minDirtCount,r=r||Be.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(R){r={error:R}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(R){a={error:R}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Ve.hasOwnProperty(e))return Pe(Ve,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),R=L.next();!R.done;R=L.next()){var B=J(R.value,2),N=B[0],_=B[1];F._idToShortId.set(_,N)}}catch(P){r={error:P}}finally{try{R&&!R.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var C=(s=void 0,D(Object.keys(f))),I=C.next();!I.done;I=C.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=C.return)&&u.call(C)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,R=L<1?Math.min(d,Math.round(e.term.length*L)):L;R&&(F=this._index.fuzzyGet(e.term,R))}if(T)try{for(var B=D(T),N=B.next();!N.done;N=B.next()){var _=J(N.value,2),A=_[0],O=_[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=B.return)&&n.call(B)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,C=J(F.get(A),2),I=C[0],w=C[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,R=this._avgFieldLength[T];try{for(var B=(d=void 0,D(F.keys())),N=B.next();!N.done;N=B.next()){var _=N.value;if(!this._documentIds.has(_)){this.removeTerm(T,_,t),L-=1;continue}var A=i?i(this._documentIds.get(_),t,this._storedFields.get(_)):1;if(A){var O=F.get(_),w=this._fieldLength.get(_)[T],c=Kr(O,L,this._documentCount,w,R,s),f=r*S*A*c,p=u.get(_);if(p){p.score+=f,jr(p.terms,e);var C=Pe(p.match,t);C?C.push(g):p.match[t]=[g]}else u.set(_,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=B.return)&&v.call(B)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Ht("data-v-f2bf605d"),o=o(),Qt(),o),Hr=["aria-owns"],Qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Na={class:"search-keyboard-shortcuts"},Ca=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),_a=[Oa],Ra=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],za=["aria-label"],Pa=_t({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,q,H,V,U,Z;return it(Br.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((H=(q=l.value.search.options)==null?void 0:q.miniSearch)==null?void 0:H.searchOptions)},...((V=l.value.search)==null?void 0:V.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):Rt("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,q,H,V,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((H=(q=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:q.button)==null?void 0:H.buttonText)||((U=(V=m==null?void 0:m.translations)==null?void 0:V.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new _r(n.value))},null),F=new qr(16);zt(()=>[h.value,v.value,y.value],async([m,x,$],K,q)=>{var be,qe,He,Qe;(K==null?void 0:K[0])!==m&&F.clear();let H=!1;if(q(()=>{H=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const V=$?await Promise.all(g.value.map(Q=>L(Q.id))):[];if(H)return;for(const{id:Q,mod:ae}of V){const ne=Q.slice(0,Q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(H)return}const U=new Set;if(g.value=g.value.map(Q=>{const[ae,ne]=Q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in Q.match)U.add(ie);return{...Q,text:X}}),await de(),H)return;await new Promise(Q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:Q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const Q of Z)(qe=Q.querySelector('mark[data-markjs="true"]'))==null||qe.scrollIntoView({block:"center"});(Qe=(He=n.value)==null?void 0:He.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await yt(()=>import(x),__vite__mapDeps([]))}}catch($){return console.error($),{id:m,mod:{}}}}const R=oe(),B=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function N(m=!0){var x,$;(x=R.value)==null||x.focus(),m&&(($=R.value)==null||$.select())}_e(()=>{N()});function _(m){m.pointerType==="mouse"&&N()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});_e(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const C=Bt($t?document.body:null);_e(()=>{de(()=>{C.value=!0,de().then(()=>s())})}),Wt(()=>{C.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,q,H;return ee(),Kt(qt,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=V=>m.$emit("close"))}),k("div",Qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=V=>_(V)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=V=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:R,"onUpdate:modelValue":x[2]||(x[2]=V=>Gt(v)?v.value=V:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=V=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:B.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(q=g.value)!=null&&q.length?"listbox":void 0,"aria-labelledby":(H=g.value)!=null&&H.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=V=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(V,U)=>(ee(),re("li",{key:V.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:V.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...V.titles,V.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(V.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:V.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[V.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:V.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Na,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Ca),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},_a,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,Ra),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Hr)])}}}),Ja=tr(Pa,[["__scopeId","data-v-f2bf605d"]]);export{Ja as default}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/assets/chunks/VPLocalSearchBox.DePPYhkj.js b/assets/chunks/VPLocalSearchBox.DePPYhkj.js new file mode 100644 index 0000000..b0e68b5 --- /dev/null +++ b/assets/chunks/VPLocalSearchBox.DePPYhkj.js @@ -0,0 +1,7 @@ +var Ct=Object.defineProperty;var It=(o,e,t)=>e in o?Ct(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(It(o,typeof e!="symbol"?e+"":e,t),t);import{X as Dt,j as oe,x as $e,ak as kt,al as Ot,d as Rt,G as xe,am as tt,h as Fe,an as _t,ao as Mt,y as Lt,ap as zt,k as Re,R as de,Q as Ee,aq as Pt,ar as Bt,Y as Vt,U as $t,as as Wt,o as ee,b as Kt,l as k,a1 as Jt,m as j,at as Ut,au as jt,av as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,aw as qt,p as Qt,q as Ht,ax as it,ay as Yt,aa as Zt,ag as Xt,az as er,_ as tr}from"./framework.Sd_qASnv.js";import{u as rr,c as ar}from"./theme.FgX2_T7W.js";const nr={root:()=>Dt(()=>import("./@localSearchIndexroot.BmN6bRsI.js"),[])};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var yt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=yt.join(","),mt=typeof Element>"u",ue=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!mt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},gt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ue.call(e,Ne)&&n.unshift(e),n=n.filter(r),n},bt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ne);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},wt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!wt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!wt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},ur=function(e){return xt(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=gt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=gt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ne)===!1?!1:We(t,e)},xr=yt.concat("iframe").join(","),_e=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Nr=function(e){return ge(e)&&!e.shiftKey},Cr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),C=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),z=p.slice().reverse().find(function(m){return le(m)}),P=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:C,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(q){return le(q)}):p.slice(0,p.indexOf(x)).reverse().find(function(q){return le(q)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,C=c.isBackward,I=C===void 0?!1:C;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(B){var U=B.firstTabbableNode;return f===U});if(m<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(m=z),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(B){var U=B.lastTabbableNode;return f===U});if(K<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var q=K===i.tabbableGroups.length-1?0:K+1,Q=i.tabbableGroups[q];M=se(f)>=0?Q.firstTabbableNode:Q.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var C,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(m){return m===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(C=z[P-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(C=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(C||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},_=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},V=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",_,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",_,!0),r.removeEventListener("keydown",L,!0),s},R=function(c){var f=c.some(function(p){var C=Array.from(p.removedNodes);return C.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(R):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),C=u(c,"checkCanFocusTrap");C||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){C&&v(),V(),O(),p==null||p()};return C?(C(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),C=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),C==null||C()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),V(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Rr(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Ft="KEYS",Et="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case Et:return this.value();case Ft:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}St(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Ft)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,Et)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return _r(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,_,V,N,R,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(R=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){R={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(R)throw R.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return _=c.sent(),V={error:_},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(V)throw V.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Ve.minDirtCount,r=r||Ve.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(_){r={error:_}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(_){a={error:_}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Pe(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),_=L.next();!_.done;_=L.next()){var V=J(_.value,2),N=V[0],R=V[1];F._idToShortId.set(R,N)}}catch(P){r={error:P}}finally{try{_&&!_.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var C=(s=void 0,D(Object.keys(f))),I=C.next();!I.done;I=C.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=C.return)&&u.call(C)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,_=L<1?Math.min(d,Math.round(e.term.length*L)):L;_&&(F=this._index.fuzzyGet(e.term,_))}if(T)try{for(var V=D(T),N=V.next();!N.done;N=V.next()){var R=J(N.value,2),A=R[0],O=R[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=V.return)&&n.call(V)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,C=J(F.get(A),2),I=C[0],w=C[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,_=this._avgFieldLength[T];try{for(var V=(d=void 0,D(F.keys())),N=V.next();!N.done;N=V.next()){var R=N.value;if(!this._documentIds.has(R)){this.removeTerm(T,R,t),L-=1;continue}var A=i?i(this._documentIds.get(R),t,this._storedFields.get(R)):1;if(A){var O=F.get(R),w=this._fieldLength.get(R)[T],c=Kr(O,L,this._documentCount,w,_,s),f=r*S*A*c,p=u.get(R);if(p){p.score+=f,jr(p.terms,e);var C=Pe(p.match,t);C?C.push(g):p.match[t]=[g]}else u.set(R,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=V.return)&&v.call(V)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Qt("data-v-e823e352"),o=o(),Ht(),o),Qr=["aria-owns"],Hr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Na={class:"search-keyboard-shortcuts"},Ca=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),Ra=[Oa],_a=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],za=["aria-label"],Pa=Rt({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,q,Q,B,U,Z;return it(Vr.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((Q=(q=l.value.search.options)==null?void 0:q.miniSearch)==null?void 0:Q.searchOptions)},...((B=l.value.search)==null?void 0:B.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):_t("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,q,Q,B,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((Q=(q=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:q.button)==null?void 0:Q.buttonText)||((U=(B=m==null?void 0:m.translations)==null?void 0:B.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new Rr(n.value))},null),F=new qr(16);zt(()=>[h.value,v.value,y.value],async([m,x,$],K,q)=>{var be,qe,Qe,He;(K==null?void 0:K[0])!==m&&F.clear();let Q=!1;if(q(()=>{Q=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const B=$?await Promise.all(g.value.map(H=>L(H.id))):[];if(Q)return;for(const{id:H,mod:ae}of B){const ne=H.slice(0,H.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(Q)return}const U=new Set;if(g.value=g.value.map(H=>{const[ae,ne]=H.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in H.match)U.add(ie);return{...H,text:X}}),await de(),Q)return;await new Promise(H=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:H})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const H of Z)(qe=H.querySelector('mark[data-markjs="true"]'))==null||qe.scrollIntoView({block:"center"});(He=(Qe=n.value)==null?void 0:Qe.firstElementChild)==null||He.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(x)}}catch($){return console.error($),{id:m,mod:{}}}}const _=oe(),V=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function N(m=!0){var x,$;(x=_.value)==null||x.focus(),m&&(($=_.value)==null||$.select())}Re(()=>{N()});function R(m){m.pointerType==="mouse"&&N()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Re(()=>{window.history.pushState(null,"",null)}),Bt("popstate",m=>{m.preventDefault(),t("close")});const C=Vt($t?document.body:null);Re(()=>{de(()=>{C.value=!0,de().then(()=>s())})}),Wt(()=>{C.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,q,Q;return ee(),Kt(qt,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=B=>m.$emit("close"))}),k("div",Hr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=B=>R(B)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=B=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:_,"onUpdate:modelValue":x[2]||(x[2]=B=>Gt(v)?v.value=B:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=B=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:V.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(q=g.value)!=null&&q.length?"listbox":void 0,"aria-labelledby":(Q=g.value)!=null&&Q.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=B=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(B,U)=>(ee(),re("li",{key:B.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:B.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(B.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:B.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[B.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:B.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Na,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Ca),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},Ra,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,_a),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Qr)])}}}),Ja=tr(Pa,[["__scopeId","data-v-e823e352"]]);export{Ja as default}; diff --git a/assets/chunks/framework.BjaKWcf5.js b/assets/chunks/framework.BjaKWcf5.js deleted file mode 100644 index ff06205..0000000 --- a/assets/chunks/framework.BjaKWcf5.js +++ /dev/null @@ -1,17 +0,0 @@ -/** -* @vue/shared v3.4.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Sr(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ee={},_t=[],xe=()=>{},Ti=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Tr=e=>e.startsWith("onUpdate:"),ce=Object.assign,Ar=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,Y=(e,t)=>Ai.call(e,t),B=Array.isArray,vt=e=>Rn(e)==="[object Map]",Zs=e=>Rn(e)==="[object Set]",q=e=>typeof e=="function",ne=e=>typeof e=="string",At=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",eo=e=>(Z(e)||q(e))&&q(e.then)&&q(e.catch),to=Object.prototype.toString,Rn=e=>to.call(e),Ri=e=>Rn(e).slice(8,-1),no=e=>Rn(e)==="[object Object]",Rr=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=Sr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),On=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Oi=/-(\w)/g,Fe=On(e=>e.replace(Oi,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,ft=On(e=>e.replace(Li,"-$1").toLowerCase()),Ln=On(e=>e.charAt(0).toUpperCase()+e.slice(1)),hn=On(e=>e?`on${Ln(e)}`:""),Ze=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},ur=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ii=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let ns;const ro=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Or(e){if(B(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Lr(e){let t="";if(ne(e))t=e;else if(B(e))for(let n=0;nne(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===to||!q(e.toString))?JSON.stringify(e,oo,2):String(e),oo=(e,t)=>t&&t.__v_isRef?oo(e,t.value):vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Gn(r,o)+" =>"]=s,n),{})}:Zs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Gn(n))}:At(t)?Gn(t):Z(t)&&!B(t)&&!no(t)?String(t):t,Gn=(e,t="")=>{var n;return At(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ve;class ji{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ve,!t&&ve&&(this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){ve=this}off(){ve=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ht()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ye,n=ct;try{return Ye=!0,ct=this,this._runnings++,rs(this),this.fn()}finally{ss(this),this._runnings--,ct=n,Ye=t}}stop(){var t;this.active&&(rs(this),ss(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Bi(e){return e.value}function rs(e){e._trackId++,e._depsLength=0}function ss(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},vn=new WeakMap,at=Symbol(""),hr=Symbol("");function ye(e,t,n){if(Ye&&ct){let r=vn.get(e);r||vn.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=fo(()=>r.delete(n))),ao(ct,s)}}function je(e,t,n,r,s,o){const i=vn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&B(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!At(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":B(e)?Rr(n)&&l.push(i.get("length")):(l.push(i.get(at)),vt(e)&&l.push(i.get(hr)));break;case"delete":B(e)||(l.push(i.get(at)),vt(e)&&l.push(i.get(hr)));break;case"set":vt(e)&&l.push(i.get(at));break}Mr();for(const c of l)c&&uo(c,4);Pr()}function Ui(e,t){var n;return(n=vn.get(e))==null?void 0:n.get(t)}const ki=Sr("__proto__,__v_isRef,__isVue"),ho=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(At)),os=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){dt(),Mr();const r=J(this)[t].apply(this,n);return Pr(),ht(),r}}),e}function Wi(e){const t=J(this);return ye(t,"has",e),t.hasOwnProperty(e)}class po{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?sl:_o:o?yo:mo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=B(t);if(!s){if(i&&Y(os,n))return Reflect.get(os,n,r);if(n==="hasOwnProperty")return Wi}const l=Reflect.get(t,n,r);return(At(n)?ho.has(n):ki(n))||(s||ye(t,"get",n),o)?l:de(l)?i&&Rr(n)?l:l.value:Z(l)?s?Pn(l):Mn(l):l}}class go extends po{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=St(o);if(!bn(r)&&!St(r)&&(o=J(o),r=J(r)),!B(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=B(t)&&Rr(n)?Number(n)e,In=e=>Reflect.getPrototypeOf(e);function Qt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Ze(t,o)&&ye(s,"get",t),ye(s,"get",o));const{has:i}=In(s),l=r?Nr:n?Hr:Dt;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Ze(e,s)&&ye(r,"has",e),ye(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function en(e,t=!1){return e=e.__v_raw,!t&&ye(J(e),"iterate",at),Reflect.get(e,"size",e)}function is(e){e=J(e);const t=J(this);return In(t).has.call(t,e)||(t.add(e),je(t,"add",e,e)),this}function ls(e,t){t=J(t);const n=J(this),{has:r,get:s}=In(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Ze(t,i)&&je(n,"set",e,t):je(n,"add",e,t),this}function cs(e){const t=J(this),{has:n,get:r}=In(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&je(t,"delete",e,void 0),o}function as(){const e=J(this),t=e.size!==0,n=e.clear();return t&&je(e,"clear",void 0,void 0),n}function tn(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Nr:e?Hr:Dt;return!e&&ye(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function nn(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=vt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Nr:t?Hr:Dt;return!t&&ye(o,"iterate",c?hr:at),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yi(){const e={get(o){return Qt(this,o)},get size(){return en(this)},has:Zt,add:is,set:ls,delete:cs,clear:as,forEach:tn(!1,!1)},t={get(o){return Qt(this,o,!1,!0)},get size(){return en(this)},has:Zt,add:is,set:ls,delete:cs,clear:as,forEach:tn(!1,!0)},n={get(o){return Qt(this,o,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:tn(!0,!1)},r={get(o){return Qt(this,o,!0,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:tn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=nn(o,!1,!1),n[o]=nn(o,!0,!1),t[o]=nn(o,!1,!0),r[o]=nn(o,!0,!0)}),[e,n,t,r]}const[Ji,Qi,Zi,el]=Yi();function Fr(e,t){const n=t?e?el:Zi:e?Qi:Ji;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const tl={get:Fr(!1,!1)},nl={get:Fr(!1,!0)},rl={get:Fr(!0,!1)},mo=new WeakMap,yo=new WeakMap,_o=new WeakMap,sl=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function il(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Ri(e))}function Mn(e){return St(e)?e:$r(e,!1,Gi,tl,mo)}function ll(e){return $r(e,!1,Xi,nl,yo)}function Pn(e){return $r(e,!0,zi,rl,_o)}function $r(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=il(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function wt(e){return St(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function St(e){return!!(e&&e.__v_isReadonly)}function bn(e){return!!(e&&e.__v_isShallow)}function vo(e){return wt(e)||St(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function Mt(e){return Object.isExtensible(e)&&_n(e,"__v_skip",!0),e}const Dt=e=>Z(e)?Mn(e):e,Hr=e=>Z(e)?Pn(e):e;class bo{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ir(()=>t(this._value),()=>Pt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Ze(t._value,t._value=t.effect.run())&&Pt(t,4),jr(t),t.effect._dirtyLevel>=2&&Pt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function cl(e,t,n=!1){let r,s;const o=q(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new bo(r,s,o||!s,n)}function jr(e){var t;Ye&&ct&&(e=J(e),ao(ct,(t=e.dep)!=null?t:e.dep=fo(()=>e.dep=void 0,e instanceof bo?e:void 0)))}function Pt(e,t=4,n){e=J(e);const r=e.dep;r&&uo(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function se(e){return wo(e,!1)}function Vr(e){return wo(e,!0)}function wo(e,t){return de(e)?e:new al(e,t)}class al{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Dt(t)}get value(){return jr(this),this._value}set value(t){const n=this.__v_isShallow||bn(t)||St(t);t=n?t:J(t),Ze(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Dt(t),Pt(this,4))}}function Eo(e){return de(e)?e.value:e}const ul={get:(e,t,n)=>Eo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Co(e){return wt(e)?e:new Proxy(e,ul)}class fl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>jr(this),()=>Pt(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function dl(e){return new fl(e)}class hl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ui(J(this._object),this._key)}}class pl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function gl(e,t,n){return de(e)?e:q(e)?new pl(e):Z(e)&&arguments.length>1?ml(e,t,n):se(e)}function ml(e,t,n){const r=e[t];return de(r)?r:new hl(e,t,n)}/** -* @vue/runtime-core v3.4.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Je(e,t,n,r){try{return r?e(...r):e()}catch(s){qt(s,t,n)}}function Se(e,t,n,r){if(q(e)){const o=Je(e,t,n,r);return o&&eo(o)&&o.catch(i=>{qt(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=he[r],o=Ut(s);oPe&&he.splice(t,1)}function bl(e){B(e)?Et.push(...e):(!qe||!qe.includes(e,e.allowRecurse?ot+1:ot))&&Et.push(e),So()}function us(e,t,n=Bt?Pe+1:0){for(;nUt(n)-Ut(r));if(Et.length=0,qe){qe.push(...t);return}for(qe=t,ot=0;ote.id==null?1/0:e.id,wl=(e,t)=>{const n=Ut(e)-Ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function To(e){pr=!1,Bt=!0,he.sort(wl);try{for(Pe=0;Pene(y)?y.trim():y)),h&&(s=n.map(ur))}let l,c=r[l=hn(t)]||r[l=hn(Fe(t))];!c&&o&&(c=r[l=hn(ft(t))]),c&&Se(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(a,e,6,s)}}function Ao(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=Ao(a,t,!0);f&&(l=!0,ce(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):ce(i,o),Z(e)&&r.set(e,i),i)}function $n(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ft(t))||Y(e,t))}let le=null,Hn=null;function En(e){const t=le;return le=e,Hn=e&&e.type.__scopeId||null,t}function Za(e){Hn=e}function eu(){Hn=null}function Cl(e,t=le,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&xs(-1);const o=En(t);let i;try{i=e(...s)}finally{En(o),r._d&&xs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function zn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:y,ctx:w,inheritAttrs:M}=e;let F,K;const U=En(e);try{if(n.shapeFlag&4){const _=s||r,P=_;F=Re(f.call(P,_,h,o,y,p,w)),K=c}else{const _=t;F=Re(_.length>1?_(o,{attrs:c,slots:l,emit:a}):_(o,null)),K=t.props?c:xl(c)}}catch(_){jt.length=0,qt(_,e,1),F=oe(be)}let g=F;if(K&&M!==!1){const _=Object.keys(K),{shapeFlag:P}=g;_.length&&P&7&&(i&&_.some(Tr)&&(K=Sl(K,i)),g=et(g,K))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),F=g,En(U),F}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},Sl=(e,t)=>{const n={};for(const r in e)(!Tr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Tl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?fs(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function Lo(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const Ol=Symbol.for("v-scx"),Ll=()=>xt(Ol);function Ur(e,t){return jn(e,null,t)}function ru(e,t){return jn(e,null,{flush:"post"})}const rn={};function Ve(e,t,n){return jn(e,t,n)}function jn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const L=t;t=(...$)=>{L(...$),P()}}const c=ue,a=L=>r===!0?L:lt(L,r===!1?1:void 0);let f,h=!1,p=!1;if(de(e)?(f=()=>e.value,h=bn(e)):wt(e)?(f=()=>a(e),h=!0):B(e)?(p=!0,h=e.some(L=>wt(L)||bn(L)),f=()=>e.map(L=>{if(de(L))return L.value;if(wt(L))return a(L);if(q(L))return Je(L,c,2)})):q(e)?t?f=()=>Je(e,c,2):f=()=>(y&&y(),Se(e,c,3,[w])):f=xe,t&&r){const L=f;f=()=>lt(L())}let y,w=L=>{y=g.onStop=()=>{Je(L,c,4),y=g.onStop=void 0}},M;if(Xt)if(w=xe,t?n&&Se(t,c,3,[f(),p?[]:void 0,w]):f(),s==="sync"){const L=Ll();M=L.__watcherHandles||(L.__watcherHandles=[])}else return xe;let F=p?new Array(e.length).fill(rn):rn;const K=()=>{if(!(!g.active||!g.dirty))if(t){const L=g.run();(r||h||(p?L.some(($,T)=>Ze($,F[T])):Ze(L,F)))&&(y&&y(),Se(t,c,3,[L,F===rn?void 0:p&&F[0]===rn?[]:F,w]),F=L)}else g.run()};K.allowRecurse=!!t;let U;s==="sync"?U=K:s==="post"?U=()=>ge(K,c&&c.suspense):(K.pre=!0,c&&(K.id=c.uid),U=()=>Fn(K));const g=new Ir(f,xe,U),_=io(),P=()=>{g.stop(),_&&Ar(_.effects,g)};return t?n?K():F=g.run():s==="post"?ge(g.run.bind(g),c&&c.suspense):g.run(),M&&M.push(P),P}function Il(e,t,n){const r=this.proxy,s=ne(e)?e.includes(".")?Io(r,e):()=>r[e]:e.bind(r,r);let o;q(t)?o=t:(o=t.handler,n=t);const i=zt(this),l=jn(s,o.bind(r),n);return i(),l}function Io(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),de(e))lt(e.value,t,n,r);else if(B(e))for(let s=0;s{lt(s,t,n,r)});else if(no(e))for(const s in e)lt(e[s],t,n,r);return e}function su(e,t){if(le===null)return e;const n=kn(le)||le.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),$o(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Mo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},Pl={name:"BaseTransition",props:Mo,setup(e,{slots:t}){const n=Un(),r=Ml();return()=>{const s=t.default&&No(t.default(),!0);if(!s||!s.length)return;let o=s[0];if(s.length>1){for(const p of s)if(p.type!==be){o=p;break}}const i=J(e),{mode:l}=i;if(r.isLeaving)return Xn(o);const c=hs(o);if(!c)return Xn(o);const a=gr(c,i,r,n);mr(c,a);const f=n.subTree,h=f&&hs(f);if(h&&h.type!==be&&!it(c,h)){const p=gr(h,i,r,n);if(mr(h,p),l==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Xn(o);l==="in-out"&&c.type!==be&&(p.delayLeave=(y,w,M)=>{const F=Po(r,h);F[String(h.key)]=h,y[Ge]=()=>{w(),y[Ge]=void 0,delete a.delayedLeave},a.delayedLeave=M})}return o}}},Nl=Pl;function Po(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 gr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:w,onBeforeAppear:M,onAppear:F,onAfterAppear:K,onAppearCancelled:U}=t,g=String(e.key),_=Po(n,e),P=(T,S)=>{T&&Se(T,r,9,S)},L=(T,S)=>{const A=S[1];P(T,S),B(T)?T.every(k=>k.length<=1)&&A():T.length<=1&&A()},$={mode:o,persisted:i,beforeEnter(T){let S=l;if(!n.isMounted)if(s)S=M||l;else return;T[Ge]&&T[Ge](!0);const A=_[g];A&&it(e,A)&&A.el[Ge]&&A.el[Ge](),P(S,[T])},enter(T){let S=c,A=a,k=f;if(!n.isMounted)if(s)S=F||c,A=K||a,k=U||f;else return;let O=!1;const G=T[sn]=ie=>{O||(O=!0,ie?P(k,[T]):P(A,[T]),$.delayedLeave&&$.delayedLeave(),T[sn]=void 0)};S?L(S,[T,G]):G()},leave(T,S){const A=String(e.key);if(T[sn]&&T[sn](!0),n.isUnmounting)return S();P(h,[T]);let k=!1;const O=T[Ge]=G=>{k||(k=!0,S(),G?P(w,[T]):P(y,[T]),T[Ge]=void 0,_[A]===e&&delete _[A])};_[A]=e,p?L(p,[T,O]):O()},clone(T){return gr(T,t,n,r)}};return $}function Xn(e){if(Gt(e))return e=et(e),e.children=null,e}function hs(e){return Gt(e)?e.children?e.children[0]:void 0:e}function mr(e,t){e.shapeFlag&6&&e.component?mr(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 No(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function ou(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((M,F)=>{l(w,()=>M(h()),()=>F(w),f+1)});throw w}).then(w=>y!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),a=w,w)))};return kr({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Yn(a,y);const w=U=>{c=null,qt(U,y,13,!r)};if(i&&y.suspense||Xt)return p().then(U=>()=>Yn(U,y)).catch(U=>(w(U),()=>r?oe(r,{error:U}):null));const M=se(!1),F=se(),K=se(!!s);return s&&setTimeout(()=>{K.value=!1},s),o!=null&&setTimeout(()=>{if(!M.value&&!F.value){const U=new Error(`Async component timed out after ${o}ms.`);w(U),F.value=U}},o),p().then(()=>{M.value=!0,y.parent&&Gt(y.parent.vnode)&&(y.parent.effect.dirty=!0,Fn(y.parent.update))}).catch(U=>{w(U),F.value=U}),()=>{if(M.value&&a)return Yn(a,y);if(F.value&&r)return oe(r,{error:F.value});if(n&&!K.value)return oe(n)}}})}function Yn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=oe(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Gt=e=>e.type.__isKeepAlive;function Fl(e,t){Fo(e,"a",t)}function $l(e,t){Fo(e,"da",t)}function Fo(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Vn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Gt(s.parent.vnode)&&Hl(r,t,n,s),s=s.parent}}function Hl(e,t,n,r){const s=Vn(t,e,r,!0);Dn(()=>{Ar(r[t],s)},n)}function Vn(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt();const l=zt(n),c=Se(t,n,e,i);return l(),ht(),c});return r?s.unshift(o):s.push(o),o}}const Be=e=>(t,n=ue)=>(!Xt||e==="sp")&&Vn(e,(...r)=>t(...r),n),jl=Be("bm"),Rt=Be("m"),Vl=Be("bu"),Dl=Be("u"),$o=Be("bum"),Dn=Be("um"),Bl=Be("sp"),Ul=Be("rtg"),kl=Be("rtc");function Kl(e,t=ue){Vn("ec",e,t)}function iu(e,t,n,r){let s;const o=n&&n[r];if(B(e)||ne(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lSn(t)?!(t.type===be||t.type===me&&!Ho(t.children)):!0)?e:null}function cu(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:hn(r)]=e[r];return n}const yr=e=>e?ti(e)?kn(e)||e.proxy:yr(e.parent):null,Nt=ce(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=>yr(e.parent),$root:e=>yr(e.root),$emit:e=>e.emit,$options:e=>Kr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Fn(e.update)}),$nextTick:e=>e.n||(e.n=Nn.bind(e.proxy)),$watch:e=>Il.bind(e)}),Jn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Wl={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Jn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];_r&&(i[t]=0)}}const f=Nt[t];let h,p;if(f)return t==="$attrs"&&ye(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,Y(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Jn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Jn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Nt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function au(){return ql().slots}function ql(){const e=Un();return e.setupContext||(e.setupContext=ri(e))}function ps(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let _r=!0;function Gl(e){const t=Kr(e),n=e.proxy,r=e.ctx;_r=!1,t.beforeCreate&&gs(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:w,activated:M,deactivated:F,beforeDestroy:K,beforeUnmount:U,destroyed:g,unmounted:_,render:P,renderTracked:L,renderTriggered:$,errorCaptured:T,serverPrefetch:S,expose:A,inheritAttrs:k,components:O,directives:G,filters:ie}=t;if(a&&zl(a,r,null),i)for(const X in i){const j=i[X];q(j)&&(r[X]=j.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=Mn(X))}if(_r=!0,o)for(const X in o){const j=o[X],$e=q(j)?j.bind(n,n):q(j.get)?j.get.bind(n,n):xe,Yt=!q(j)&&q(j.set)?j.set.bind(n):xe,tt=re({get:$e,set:Yt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)jo(l[X],r,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(j=>{ec(j,X[j])})}f&&gs(f,e,"c");function V(X,j){B(j)?j.forEach($e=>X($e.bind(n))):j&&X(j.bind(n))}if(V(jl,h),V(Rt,p),V(Vl,y),V(Dl,w),V(Fl,M),V($l,F),V(Kl,T),V(kl,L),V(Ul,$),V($o,U),V(Dn,_),V(Bl,S),B(A))if(A.length){const X=e.exposed||(e.exposed={});A.forEach(j=>{Object.defineProperty(X,j,{get:()=>n[j],set:$e=>n[j]=$e})})}else e.exposed||(e.exposed={});P&&e.render===xe&&(e.render=P),k!=null&&(e.inheritAttrs=k),O&&(e.components=O),G&&(e.directives=G)}function zl(e,t,n=xe){B(e)&&(e=vr(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=xt(s.from||r,s.default,!0):o=xt(s.from||r):o=xt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function gs(e,t,n){Se(B(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function jo(e,t,n,r){const s=r.includes(".")?Io(n,r):()=>n[r];if(ne(e)){const o=t[e];q(o)&&Ve(s,o)}else if(q(e))Ve(s,e.bind(n));else if(Z(e))if(B(e))e.forEach(o=>jo(o,t,n,r));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&Ve(s,o,e)}}function Kr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>Cn(c,a,i,!0)),Cn(c,t,i)),Z(t)&&o.set(t,c),c}function Cn(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Cn(e,o,n,!0),s&&s.forEach(i=>Cn(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Xl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xl={data:ms,props:ys,emits:ys,methods:It,computed:It,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:It,directives:It,watch:Jl,provide:ms,inject:Yl};function ms(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Yl(e,t){return It(vr(e),vr(t))}function vr(e){if(B(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(r&&r.proxy):t}}function tc(e,t,n,r=!1){const s={},o={};_n(o,Bn,1),e.propsDefaults=Object.create(null),Do(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:ll(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function nc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,y]=Bo(h,t,!0);ce(i,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,_t),_t;if(B(o))for(let f=0;f-1,y[1]=M<0||w-1||Y(y,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function _s(e){return e[0]!=="$"&&!bt(e)}function vs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function bs(e,t){return vs(e)===vs(t)}function ws(e,t){return B(t)?t.findIndex(n=>bs(n,e)):q(t)&&bs(t,e)?0:-1}const Uo=e=>e[0]==="_"||e==="$stable",Wr=e=>B(e)?e.map(Re):[Re(e)],rc=(e,t,n)=>{if(t._n)return t;const r=Cl((...s)=>Wr(t(...s)),n);return r._c=!1,r},ko=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Uo(s))continue;const o=e[s];if(q(o))t[s]=rc(s,o,r);else if(o!=null){const i=Wr(o);t[s]=()=>i}}},Ko=(e,t)=>{const n=Wr(t);e.slots.default=()=>n},sc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),_n(t,"_",n)):ko(t,e.slots={})}else e.slots={},t&&Ko(e,t);_n(e.slots,Bn,1)},oc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ce(s,t),!n&&l===1&&delete s._):(o=!t.$stable,ko(t,s)),i=t}else t&&(Ko(e,t),i={default:1});if(o)for(const l in s)!Uo(l)&&i[l]==null&&delete s[l]};function xn(e,t,n,r,s=!1){if(B(e)){e.forEach((p,y)=>xn(p,t&&(B(t)?t[y]:t),n,r,s));return}if(Ct(r)&&!s)return;const o=r.shapeFlag&4?kn(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(ne(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),q(c))Je(c,l,12,[i,f]);else{const p=ne(c),y=de(c);if(p||y){const w=()=>{if(e.f){const M=p?Y(h,c)?h[c]:f[c]:c.value;s?B(M)&&Ar(M,o):B(M)?M.includes(o)||M.push(o):p?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,Y(h,c)&&(h[c]=i)):y&&(c.value=i,e.k&&(f[e.k]=i))};i?(w.id=-1,ge(w,n)):w()}}}let ke=!1;const ic=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",lc=e=>e.namespaceURI.includes("MathML"),on=e=>{if(ic(e))return"svg";if(lc(e))return"mathml"},ln=e=>e.nodeType===8;function cc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),wn(),_._vnode=g;return}ke=!1,h(_.firstChild,g,null,null,null),wn(),_._vnode=g,ke&&console.error("Hydration completed but contains mismatches.")},h=(g,_,P,L,$,T=!1)=>{const S=ln(g)&&g.data==="[",A=()=>M(g,_,P,L,$,S),{type:k,ref:O,shapeFlag:G,patchFlag:ie}=_;let fe=g.nodeType;_.el=g,ie===-2&&(T=!1,_.dynamicChildren=null);let V=null;switch(k){case Tt:fe!==3?_.children===""?(c(_.el=s(""),i(g),g),V=g):V=A():(g.data!==_.children&&(ke=!0,g.data=_.children),V=o(g));break;case be:U(g)?(V=o(g),K(_.el=g.content.firstChild,g,P)):fe!==8||S?V=A():V=o(g);break;case Ht:if(S&&(g=o(g),fe=g.nodeType),fe===1||fe===3){V=g;const X=!_.children.length;for(let j=0;j<_.staticCount;j++)X&&(_.children+=V.nodeType===1?V.outerHTML:V.data),j===_.staticCount-1&&(_.anchor=V),V=o(V);return S?o(V):V}else A();break;case me:S?V=w(g,_,P,L,$,T):V=A();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!U(g)?V=A():V=p(g,_,P,L,$,T);else if(G&6){_.slotScopeIds=$;const X=i(g);if(S?V=F(g):ln(g)&&g.data==="teleport start"?V=F(g,g.data,"teleport end"):V=o(g),t(_,X,null,P,L,on(X),T),Ct(_)){let j;S?(j=oe(me),j.anchor=V?V.previousSibling:X.lastChild):j=g.nodeType===3?ei(""):oe("div"),j.el=g,_.component.subTree=j}}else G&64?fe!==8?V=A():V=_.type.hydrate(g,_,P,L,$,T,e,y):G&128&&(V=_.type.hydrate(g,_,P,L,on(i(g)),$,T,e,h))}return O!=null&&xn(O,null,L,_),V},p=(g,_,P,L,$,T)=>{T=T||!!_.dynamicChildren;const{type:S,props:A,patchFlag:k,shapeFlag:O,dirs:G,transition:ie}=_,fe=S==="input"||S==="option";if(fe||k!==-1){G&&Me(_,null,P,"created");let V=!1;if(U(g)){V=qo(L,ie)&&P&&P.vnode.props&&P.vnode.props.appear;const j=g.content.firstChild;V&&ie.beforeEnter(j),K(j,g,P),_.el=g=j}if(O&16&&!(A&&(A.innerHTML||A.textContent))){let j=y(g.firstChild,_,g,P,L,$,T);for(;j;){ke=!0;const $e=j;j=j.nextSibling,l($e)}}else O&8&&g.textContent!==_.children&&(ke=!0,g.textContent=_.children);if(A)if(fe||!T||k&48)for(const j in A)(fe&&(j.endsWith("value")||j==="indeterminate")||Wt(j)&&!bt(j)||j[0]===".")&&r(g,j,null,A[j],void 0,void 0,P);else A.onClick&&r(g,"onClick",null,A.onClick,void 0,void 0,P);let X;(X=A&&A.onVnodeBeforeMount)&&Ee(X,P,_),G&&Me(_,null,P,"beforeMount"),((X=A&&A.onVnodeMounted)||G||V)&&Lo(()=>{X&&Ee(X,P,_),V&&ie.enter(g),G&&Me(_,null,P,"mounted")},L)}return g.nextSibling},y=(g,_,P,L,$,T,S)=>{S=S||!!_.dynamicChildren;const A=_.children,k=A.length;for(let O=0;O{const{slotScopeIds:S}=_;S&&($=$?$.concat(S):S);const A=i(g),k=y(o(g),_,A,P,L,$,T);return k&&ln(k)&&k.data==="]"?o(_.anchor=k):(ke=!0,c(_.anchor=a("]"),A,k),k)},M=(g,_,P,L,$,T)=>{if(ke=!0,_.el=null,T){const k=F(g);for(;;){const O=o(g);if(O&&O!==k)l(O);else break}}const S=o(g),A=i(g);return l(g),n(null,_,A,S,P,L,on(A),$),S},F=(g,_="[",P="]")=>{let L=0;for(;g;)if(g=o(g),g&&ln(g)&&(g.data===_&&L++,g.data===P)){if(L===0)return o(g);L--}return g},K=(g,_,P)=>{const L=_.parentNode;L&&L.replaceChild(g,_);let $=P;for(;$;)$.vnode.el===_&&($.vnode.el=$.subTree.el=g),$=$.parent},U=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const ge=Lo;function ac(e){return Wo(e)}function uc(e){return Wo(e,cc)}function Wo(e,t){const n=ro();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:w}=e,M=(u,d,m,v=null,b=null,x=null,I=void 0,C=null,R=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(v=Jt(u),Le(u,b,x,!0),u=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:E,ref:N,shapeFlag:D}=d;switch(E){case Tt:F(u,d,m,v);break;case be:K(u,d,m,v);break;case Ht:u==null&&U(d,m,v,I);break;case me:O(u,d,m,v,b,x,I,C,R);break;default:D&1?P(u,d,m,v,b,x,I,C,R):D&6?G(u,d,m,v,b,x,I,C,R):(D&64||D&128)&&E.process(u,d,m,v,b,x,I,C,R,pt)}N!=null&&b&&xn(N,u&&u.ref,x,d||u,!d)},F=(u,d,m,v)=>{if(u==null)r(d.el=l(d.children),m,v);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},K=(u,d,m,v)=>{u==null?r(d.el=c(d.children||""),m,v):d.el=u.el},U=(u,d,m,v)=>{[u.el,u.anchor]=w(u.children,d,m,v,u.el,u.anchor)},g=({el:u,anchor:d},m,v)=>{let b;for(;u&&u!==d;)b=p(u),r(u,m,v),u=b;r(d,m,v)},_=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),s(u),u=m;s(d)},P=(u,d,m,v,b,x,I,C,R)=>{d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),u==null?L(d,m,v,b,x,I,C,R):S(u,d,b,x,I,C,R)},L=(u,d,m,v,b,x,I,C)=>{let R,E;const{props:N,shapeFlag:D,transition:H,dirs:W}=u;if(R=u.el=i(u.type,x,N&&N.is,N),D&8?f(R,u.children):D&16&&T(u.children,R,null,v,b,Qn(u,x),I,C),W&&Me(u,null,v,"created"),$(R,u,u.scopeId,I,v),N){for(const Q in N)Q!=="value"&&!bt(Q)&&o(R,Q,null,N[Q],x,u.children,v,b,He);"value"in N&&o(R,"value",null,N.value,x),(E=N.onVnodeBeforeMount)&&Ee(E,v,u)}W&&Me(u,null,v,"beforeMount");const z=qo(b,H);z&&H.beforeEnter(R),r(R,d,m),((E=N&&N.onVnodeMounted)||z||W)&&ge(()=>{E&&Ee(E,v,u),z&&H.enter(R),W&&Me(u,null,v,"mounted")},b)},$=(u,d,m,v,b)=>{if(m&&y(u,m),v)for(let x=0;x{for(let E=R;E{const C=d.el=u.el;let{patchFlag:R,dynamicChildren:E,dirs:N}=d;R|=u.patchFlag&16;const D=u.props||ee,H=d.props||ee;let W;if(m&&nt(m,!1),(W=H.onVnodeBeforeUpdate)&&Ee(W,m,d,u),N&&Me(d,u,m,"beforeUpdate"),m&&nt(m,!0),E?A(u.dynamicChildren,E,C,m,v,Qn(d,b),x):I||j(u,d,C,null,m,v,Qn(d,b),x,!1),R>0){if(R&16)k(C,d,D,H,m,v,b);else if(R&2&&D.class!==H.class&&o(C,"class",null,H.class,b),R&4&&o(C,"style",D.style,H.style,b),R&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ee(W,m,d,u),N&&Me(d,u,m,"updated")},v)},A=(u,d,m,v,b,x,I)=>{for(let C=0;C{if(m!==v){if(m!==ee)for(const C in m)!bt(C)&&!(C in v)&&o(u,C,m[C],null,I,d.children,b,x,He);for(const C in v){if(bt(C))continue;const R=v[C],E=m[C];R!==E&&C!=="value"&&o(u,C,E,R,I,d.children,b,x,He)}"value"in v&&o(u,"value",m.value,v.value,I)}},O=(u,d,m,v,b,x,I,C,R)=>{const E=d.el=u?u.el:l(""),N=d.anchor=u?u.anchor:l("");let{patchFlag:D,dynamicChildren:H,slotScopeIds:W}=d;W&&(C=C?C.concat(W):W),u==null?(r(E,m,v),r(N,m,v),T(d.children||[],m,N,b,x,I,C,R)):D>0&&D&64&&H&&u.dynamicChildren?(A(u.dynamicChildren,H,m,b,x,I,C),(d.key!=null||b&&d===b.subTree)&&qr(u,d,!0)):j(u,d,m,N,b,x,I,C,R)},G=(u,d,m,v,b,x,I,C,R)=>{d.slotScopeIds=C,u==null?d.shapeFlag&512?b.ctx.activate(d,m,v,I,R):ie(d,m,v,b,x,I,R):fe(u,d,R)},ie=(u,d,m,v,b,x,I)=>{const C=u.component=wc(u,v,b);if(Gt(u)&&(C.ctx.renderer=pt),Ec(C),C.asyncDep){if(b&&b.registerDep(C,V),!u.el){const R=C.subTree=oe(be);K(null,R,d,m)}}else V(C,u,d,m,b,x,I)},fe=(u,d,m)=>{const v=d.component=u.component;if(Tl(u,d,m))if(v.asyncDep&&!v.asyncResolved){X(v,d,m);return}else v.next=d,vl(v.update),v.effect.dirty=!0,v.update();else d.el=u.el,v.vnode=d},V=(u,d,m,v,b,x,I)=>{const C=()=>{if(u.isMounted){let{next:N,bu:D,u:H,parent:W,vnode:z}=u;{const gt=Go(u);if(gt){N&&(N.el=z.el,X(u,N,I)),gt.asyncDep.then(()=>{u.isUnmounted||C()});return}}let Q=N,te;nt(u,!1),N?(N.el=z.el,X(u,N,I)):N=z,D&&pn(D),(te=N.props&&N.props.onVnodeBeforeUpdate)&&Ee(te,W,N,z),nt(u,!0);const ae=zn(u),Ae=u.subTree;u.subTree=ae,M(Ae,ae,h(Ae.el),Jt(Ae),u,b,x),N.el=ae.el,Q===null&&Al(u,ae.el),H&&ge(H,b),(te=N.props&&N.props.onVnodeUpdated)&&ge(()=>Ee(te,W,N,z),b)}else{let N;const{el:D,props:H}=d,{bm:W,m:z,parent:Q}=u,te=Ct(d);if(nt(u,!1),W&&pn(W),!te&&(N=H&&H.onVnodeBeforeMount)&&Ee(N,Q,d),nt(u,!0),D&&qn){const ae=()=>{u.subTree=zn(u),qn(D,u.subTree,u,b,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=zn(u);M(null,ae,m,v,u,b,x),d.el=ae.el}if(z&&ge(z,b),!te&&(N=H&&H.onVnodeMounted)){const ae=d;ge(()=>Ee(N,Q,ae),b)}(d.shapeFlag&256||Q&&Ct(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&ge(u.a,b),u.isMounted=!0,d=m=v=null}},R=u.effect=new Ir(C,xe,()=>Fn(E),u.scope),E=u.update=()=>{R.dirty&&R.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,m)=>{d.component=u;const v=u.vnode.props;u.vnode=d,u.next=null,nc(u,d.props,v,m),oc(u,d.children,m),dt(),us(u),ht()},j=(u,d,m,v,b,x,I,C,R=!1)=>{const E=u&&u.children,N=u?u.shapeFlag:0,D=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){Yt(E,D,m,v,b,x,I,C,R);return}else if(H&256){$e(E,D,m,v,b,x,I,C,R);return}}W&8?(N&16&&He(E,b,x),D!==E&&f(m,D)):N&16?W&16?Yt(E,D,m,v,b,x,I,C,R):He(E,b,x,!0):(N&8&&f(m,""),W&16&&T(D,m,v,b,x,I,C,R))},$e=(u,d,m,v,b,x,I,C,R)=>{u=u||_t,d=d||_t;const E=u.length,N=d.length,D=Math.min(E,N);let H;for(H=0;HN?He(u,b,x,!0,!1,D):T(d,m,v,b,x,I,C,R,D)},Yt=(u,d,m,v,b,x,I,C,R)=>{let E=0;const N=d.length;let D=u.length-1,H=N-1;for(;E<=D&&E<=H;){const W=u[E],z=d[E]=R?ze(d[E]):Re(d[E]);if(it(W,z))M(W,z,m,null,b,x,I,C,R);else break;E++}for(;E<=D&&E<=H;){const W=u[D],z=d[H]=R?ze(d[H]):Re(d[H]);if(it(W,z))M(W,z,m,null,b,x,I,C,R);else break;D--,H--}if(E>D){if(E<=H){const W=H+1,z=WH)for(;E<=D;)Le(u[E],b,x,!0),E++;else{const W=E,z=E,Q=new Map;for(E=z;E<=H;E++){const _e=d[E]=R?ze(d[E]):Re(d[E]);_e.key!=null&&Q.set(_e.key,E)}let te,ae=0;const Ae=H-z+1;let gt=!1,Zr=0;const Ot=new Array(Ae);for(E=0;E=Ae){Le(_e,b,x,!0);continue}let Ie;if(_e.key!=null)Ie=Q.get(_e.key);else for(te=z;te<=H;te++)if(Ot[te-z]===0&&it(_e,d[te])){Ie=te;break}Ie===void 0?Le(_e,b,x,!0):(Ot[Ie-z]=E+1,Ie>=Zr?Zr=Ie:gt=!0,M(_e,d[Ie],m,null,b,x,I,C,R),ae++)}const es=gt?fc(Ot):_t;for(te=es.length-1,E=Ae-1;E>=0;E--){const _e=z+E,Ie=d[_e],ts=_e+1{const{el:x,type:I,transition:C,children:R,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,m,v);return}if(E&128){u.suspense.move(d,m,v);return}if(E&64){I.move(u,d,m,pt);return}if(I===me){r(x,d,m);for(let D=0;DC.enter(x),b);else{const{leave:D,delayLeave:H,afterLeave:W}=C,z=()=>r(x,d,m),Q=()=>{D(x,()=>{z(),W&&W()})};H?H(x,z,Q):Q()}else r(x,d,m)},Le=(u,d,m,v=!1,b=!1)=>{const{type:x,props:I,ref:C,children:R,dynamicChildren:E,shapeFlag:N,patchFlag:D,dirs:H}=u;if(C!=null&&xn(C,null,m,u,!0),N&256){d.ctx.deactivate(u);return}const W=N&1&&H,z=!Ct(u);let Q;if(z&&(Q=I&&I.onVnodeBeforeUnmount)&&Ee(Q,d,u),N&6)Si(u.component,m,v);else{if(N&128){u.suspense.unmount(m,v);return}W&&Me(u,null,d,"beforeUnmount"),N&64?u.type.remove(u,d,m,b,pt,v):E&&(x!==me||D>0&&D&64)?He(E,d,m,!1,!0):(x===me&&D&384||!b&&N&16)&&He(R,d,m),v&&Jr(u)}(z&&(Q=I&&I.onVnodeUnmounted)||W)&&ge(()=>{Q&&Ee(Q,d,u),W&&Me(u,null,d,"unmounted")},m)},Jr=u=>{const{type:d,el:m,anchor:v,transition:b}=u;if(d===me){xi(m,v);return}if(d===Ht){_(u);return}const x=()=>{s(m),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:I,delayLeave:C}=b,R=()=>I(m,x);C?C(u.el,x,R):R()}else x()},xi=(u,d)=>{let m;for(;u!==d;)m=p(u),s(u),u=m;s(d)},Si=(u,d,m)=>{const{bum:v,scope:b,update:x,subTree:I,um:C}=u;v&&pn(v),b.stop(),x&&(x.active=!1,Le(I,u,d,m)),C&&ge(C,d),ge(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},He=(u,d,m,v=!1,b=!1,x=0)=>{for(let I=x;Iu.shapeFlag&6?Jt(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let Kn=!1;const Qr=(u,d,m)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):M(d._vnode||null,u,d,null,null,null,m),Kn||(Kn=!0,us(),wn(),Kn=!1),d._vnode=u},pt={p:M,um:Le,m:tt,r:Jr,mt:ie,mc:T,pc:j,pbc:A,n:Jt,o:e};let Wn,qn;return t&&([Wn,qn]=t(pt)),{render:Qr,hydrate:Wn,createApp:Zl(Qr,Wn)}}function Qn({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 nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function qo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qr(e,t,n=!1){const r=e.children,s=t.children;if(B(r)&&B(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Go(t)}const dc=e=>e.__isTeleport,$t=e=>e&&(e.disabled||e.disabled===""),Es=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Cs=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,wr=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},hc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:y,querySelector:w,createText:M,createComment:F}}=a,K=$t(t.props);let{shapeFlag:U,children:g,dynamicChildren:_}=t;if(e==null){const P=t.el=M(""),L=t.anchor=M("");y(P,n,r),y(L,n,r);const $=t.target=wr(t.props,w),T=t.targetAnchor=M("");$&&(y(T,$),i==="svg"||Es($)?i="svg":(i==="mathml"||Cs($))&&(i="mathml"));const S=(A,k)=>{U&16&&f(g,A,k,s,o,i,l,c)};K?S(n,L):$&&S($,T)}else{t.el=e.el;const P=t.anchor=e.anchor,L=t.target=e.target,$=t.targetAnchor=e.targetAnchor,T=$t(e.props),S=T?n:L,A=T?P:$;if(i==="svg"||Es(L)?i="svg":(i==="mathml"||Cs(L))&&(i="mathml"),_?(p(e.dynamicChildren,_,S,s,o,i,l),qr(e,t,!0)):c||h(e,t,S,A,s,o,i,l,!1),K)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cn(t,n,P,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const k=t.target=wr(t.props,w);k&&cn(t,k,null,a,0)}else T&&cn(t,L,$,a,1)}zo(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const y=i||!$t(p);for(let w=0;w0?Oe||_t:null,gc(),kt>0&&Oe&&Oe.push(e),e}function fu(e,t,n,r,s,o){return Yo(Zo(e,t,n,r,s,o,!0))}function Jo(e,t,n,r,s){return Yo(oe(e,t,n,r,s,!0))}function Sn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Bn="__vInternal",Qo=({key:e})=>e??null,gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||q(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Zo(e,t=null,n=null,r=0,s=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qo(t),ref:t&&gn(t),scopeId:Hn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:le};return l?(Gr(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),kt>0&&!i&&Oe&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Oe.push(c),c}const oe=mc;function mc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Ro)&&(e=be),Sn(e)){const l=et(e,t,!0);return n&&Gr(l,n),kt>0&&!o&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag|=-2,l}if(Tc(e)&&(e=e.__vccOpts),t){t=yc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Lr(l)),Z(c)&&(vo(c)&&!B(c)&&(c=ce({},c)),t.style=Or(c))}const i=ne(e)?1:Rl(e)?128:dc(e)?64:Z(e)?4:q(e)?2:0;return Zo(e,t,n,r,s,i,o,!0)}function yc(e){return e?vo(e)||Bn in e?ce({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?_c(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Qo(l),ref:t&&t.ref?n&&s?B(s)?s.concat(gn(t)):[s,gn(t)]:gn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ei(e=" ",t=0){return oe(Tt,null,e,t)}function du(e,t){const n=oe(Ht,null,e);return n.staticCount=t,n}function hu(e="",t=!1){return t?(Xo(),Jo(be,null,e)):oe(be,null,e)}function Re(e){return e==null||typeof e=="boolean"?oe(be):B(e)?oe(me,null,e.slice()):typeof e=="object"?ze(e):oe(Tt,null,String(e))}function ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function Gr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Gr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(Bn in t)?t._ctx=le:s===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:le},n=32):(t=String(t),r&64?(n=16,t=[ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function _c(...e){const t={};for(let n=0;nue||le;let Tn,Er;{const e=ro(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Tn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Er=t("__VUE_SSR_SETTERS__",n=>Xt=n)}const zt=e=>{const t=ue;return Tn(e),e.scope.on(),()=>{e.scope.off(),Tn(t)}},Ss=()=>{ue&&ue.scope.off(),Tn(null)};function ti(e){return e.vnode.shapeFlag&4}let Xt=!1;function Ec(e,t=!1){t&&Er(t);const{props:n,children:r}=e.vnode,s=ti(e);tc(e,n,s,t),sc(e,r);const o=s?Cc(e,t):void 0;return t&&Er(!1),o}function Cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Mt(new Proxy(e.ctx,Wl));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ri(e):null,o=zt(e);dt();const i=Je(r,e,0,[e.props,s]);if(ht(),o(),eo(i)){if(i.then(Ss,Ss),t)return i.then(l=>{Ts(e,l,t)}).catch(l=>{qt(l,e,0)});e.asyncDep=i}else Ts(e,i,t)}else ni(e,t)}function Ts(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Co(t)),ni(e,n)}let As;function ni(e,t,n){const r=e.type;if(!e.render){if(!t&&As&&!r.render){const s=r.template||Kr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ce(ce({isCustomElement:o,delimiters:l},i),c);r.render=As(s,a)}}e.render=r.render||xe}{const s=zt(e);dt();try{Gl(e)}finally{ht(),s()}}}function xc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function ri(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return xc(e)},slots:e.slots,emit:e.emit,expose:t}}function kn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Co(Mt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nt)return Nt[n](e)},has(t,n){return n in t||n in Nt}}))}function Sc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Tc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>cl(e,t,Xt);function Cr(e,t,n){const r=arguments.length;return r===2?Z(t)&&!B(t)?Sn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Sn(n)&&(n=[n]),oe(e,t,n))}const Ac="3.4.20";/** -* @vue/runtime-dom v3.4.20 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Rc="http://www.w3.org/2000/svg",Oc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Rs=Xe&&Xe.createElement("template"),Lc={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"?Xe.createElementNS(Rc,e):t==="mathml"?Xe.createElementNS(Oc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Rs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Lt="animation",Kt=Symbol("_vtc"),si=(e,{slots:t})=>Cr(Nl,Ic(e),t);si.displayName="Transition";const oi={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};si.props=ce({},Mo,oi);const rt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Os=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Ic(e){const t={};for(const O in e)O in oi||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,w=Mc(s),M=w&&w[0],F=w&&w[1],{onBeforeEnter:K,onEnter:U,onEnterCancelled:g,onLeave:_,onLeaveCancelled:P,onBeforeAppear:L=K,onAppear:$=U,onAppearCancelled:T=g}=t,S=(O,G,ie)=>{st(O,G?f:l),st(O,G?a:i),ie&&ie()},A=(O,G)=>{O._isLeaving=!1,st(O,h),st(O,y),st(O,p),G&&G()},k=O=>(G,ie)=>{const fe=O?$:U,V=()=>S(G,O,ie);rt(fe,[G,V]),Ls(()=>{st(G,O?c:o),We(G,O?f:l),Os(fe)||Is(G,r,M,V)})};return ce(t,{onBeforeEnter(O){rt(K,[O]),We(O,o),We(O,i)},onBeforeAppear(O){rt(L,[O]),We(O,c),We(O,a)},onEnter:k(!1),onAppear:k(!0),onLeave(O,G){O._isLeaving=!0;const ie=()=>A(O,G);We(O,h),Fc(),We(O,p),Ls(()=>{O._isLeaving&&(st(O,h),We(O,y),Os(_)||Is(O,r,F,ie))}),rt(_,[O,ie])},onEnterCancelled(O){S(O,!1),rt(g,[O])},onAppearCancelled(O){S(O,!0),rt(T,[O])},onLeaveCancelled(O){A(O),rt(P,[O])}})}function Mc(e){if(e==null)return null;if(Z(e))return[Zn(e.enter),Zn(e.leave)];{const t=Zn(e);return[t,t]}}function Zn(e){return Ii(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Ls(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pc=0;function Is(e,t,n,r){const s=e._endId=++Pc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Nc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[w]||"").split(", "),s=r(`${Ke}Delay`),o=r(`${Ke}Duration`),i=Ms(s,o),l=r(`${Lt}Delay`),c=r(`${Lt}Duration`),a=Ms(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===Lt?a>0&&(f=Lt,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:Lt:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(r(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Ms(e,t){for(;e.lengthPs(n)+Ps(e[r])))}function Ps(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fc(){return document.body.offsetHeight}function $c(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ns=Symbol("_vod"),Hc=Symbol("_vsh"),jc=Symbol(""),Vc=/(^|;)\s*display\s*:/;function Dc(e,t,n){const r=e.style,s=ne(n);let o=!1;if(n&&!s){if(t)if(ne(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&mn(r,l,"")}else for(const i in t)n[i]==null&&mn(r,i,"");for(const i in n)i==="display"&&(o=!0),mn(r,i,n[i])}else if(s){if(t!==n){const i=r[jc];i&&(n+=";"+i),r.cssText=n,o=Vc.test(n)}}else t&&e.removeAttribute("style");Ns in e&&(e[Ns]=o?r.display:"",e[Hc]&&(r.display="none"))}const Fs=/\s*!important$/;function mn(e,t,n){if(B(n))n.forEach(r=>mn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Bc(e,t);Fs.test(n)?e.setProperty(ft(r),n.replace(Fs,""),"important"):e[r]=n}}const $s=["Webkit","Moz","ms"],er={};function Bc(e,t){const n=er[t];if(n)return n;let r=Fe(t);if(r!=="filter"&&r in e)return er[t]=r;r=Ln(r);for(let s=0;s<$s.length;s++){const o=$s[s]+r;if(o in e)return er[t]=o}return t}const Hs="http://www.w3.org/1999/xlink";function Uc(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Hs,t.slice(6,t.length)):e.setAttributeNS(Hs,t,n);else{const o=Hi(t);n==null||o&&!so(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function kc(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){e._value=n;const a=l==="OPTION"?e.getAttribute("value")||"":e.value,f=n??"";a!==f&&(e.value=f),n==null&&e.removeAttribute(t);return}let c=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=so(n):n==null&&a==="string"?(n="",c=!0):a==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function mt(e,t,n,r){e.addEventListener(t,n,r)}function Kc(e,t,n,r){e.removeEventListener(t,n,r)}const js=Symbol("_vei");function Wc(e,t,n,r,s=null){const o=e[js]||(e[js]={}),i=o[t];if(r&&i)i.value=r;else{const[l,c]=qc(t);if(r){const a=o[t]=Xc(r,s);mt(e,l,a,c)}else i&&(Kc(e,l,i,c),o[t]=void 0)}}const Vs=/(?:Once|Passive|Capture)$/;function qc(e){let t;if(Vs.test(e)){t={};let r;for(;r=e.match(Vs);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ft(e.slice(2)),t]}let tr=0;const Gc=Promise.resolve(),zc=()=>tr||(Gc.then(()=>tr=0),tr=Date.now());function Xc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(Yc(r,n.value),t,5,[r])};return n.value=e,n.attached=zc(),n}function Yc(e,t){if(B(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 Ds=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?$c(e,r,a):t==="style"?Dc(e,n,r):Wt(t)?Tr(t)||Wc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qc(e,t,r,a))?kc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Uc(e,t,r,a))};function Qc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ds(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ds(t)&&ne(n)?!1:t in e}const Bs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>pn(t,n):t};function Zc(e){e.target.composing=!0}function Us(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const nr=Symbol("_assign"),pu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[nr]=Bs(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=ur(l)),e[nr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Zc),mt(e,"compositionend",Us),mt(e,"change",Us))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[nr]=Bs(o),e.composing)return;const i=s||e.type==="number"?ur(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},ea=["ctrl","shift","alt","meta"],ta={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)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},gu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||na[i]===o))return e(s)})},ii=ce({patchProp:Jc},Lc);let Vt,ks=!1;function ra(){return Vt||(Vt=ac(ii))}function sa(){return Vt=ks?Vt:uc(ii),ks=!0,Vt}const yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,li(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},_u=(...e)=>{const t=sa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(s)return n(s,!0,li(s))},t};function li(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ci(e){return ne(e)?document.querySelector(e):e}const vu="/images/qq.png",bu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},wu="/images/docs/gomod.png",oa="modulepreload",ia=function(e){return"/"+e},Ks={},Eu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");s=Promise.all(n.map(i=>{if(i=ia(i),i in Ks)return;Ks[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!r)for(let h=o.length-1;h>=0;h--){const p=o[h];if(p.href===i&&(!l||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":oa,l||(f.as="script",f.crossOrigin=""),f.href=i,document.head.appendChild(f),l)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},la=window.__VP_SITE_DATA__;function zr(e){return io()?(Di(e),!0):!1}function Ne(e){return typeof e=="function"?e():Eo(e)}const ai=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ca=Object.prototype.toString,aa=e=>ca.call(e)==="[object Object]",Qe=()=>{},xr=ua();function ua(){var e,t;return ai&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function fa(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ui=e=>e();function da(e,t={}){let n,r,s=Qe;const o=l=>{clearTimeout(l),s(),s=Qe};return l=>{const c=Ne(e),a=Ne(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function ha(e=ui){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Pn(t),pause:n,resume:r,eventFilter:s}}function pa(e){return e||Un()}function fi(...e){if(e.length!==1)return gl(...e);const t=e[0];return typeof t=="function"?Pn(dl(()=>({get:t,set:Qe}))):se(t)}function di(e,t,n={}){const{eventFilter:r=ui,...s}=n;return Ve(e,fa(r,t),s)}function ga(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=ha(r);return{stop:di(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Xr(e,t=!0,n){pa()?Rt(e,n):t?e():Nn(e)}function Cu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return di(e,t,{...o,eventFilter:da(r,{maxWait:s})})}function xu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Qe}=r,c=se(!s),a=i?Vr(t):se(t);let f=0;return Ur(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const w=await e(M=>{h(()=>{o&&(o.value=!1),y||M()})});p===f&&(a.value=w)}catch(w){l(w)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Ne(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Te=ai?window:void 0;function De(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Te):[t,n,r,s]=e,!t)return Qe;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ve(()=>[yt(t),Ne(s)],([f,h])=>{if(i(),!f)return;const p=aa(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(w=>l(f,y,w,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return zr(a),a}let Ws=!1;function Su(e,t,n={}){const{window:r=Te,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Qe;xr&&!Ws&&(Ws=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Qe)),r.document.documentElement.addEventListener("click",Qe));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(w=>w===p.target||p.composedPath().includes(w));{const w=yt(y);return w&&(p.target===w||p.composedPath().includes(w))}}),f=[De(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(r,"blur",p=>{setTimeout(()=>{var y;const w=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(w!=null&&w.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ma(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Tu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Te,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ma(t);return De(s,o,f=>{f.repeat&&Ne(l)||c(f)&&n(f)},i)}function ya(){const e=se(!1),t=Un();return t&&Rt(()=>{e.value=!0},t),e}function _a(e){const t=ya();return re(()=>(t.value,!!e()))}function hi(e,t={}){const{window:n=Te}=t,r=_a(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Ur(()=>{r.value&&(l(),s=n.matchMedia(Ne(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return zr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",va=ba();function ba(){return un in an||(an[un]=an[un]||{}),an[un]}function pi(e,t){return va[e]||t}function wa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Ea={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},qs="vueuse-storage";function Yr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Te,eventFilter:p,onError:y=S=>{console.error(S)},initOnMounted:w}=r,M=(f?Vr:se)(typeof t=="function"?t():t);if(!n)try{n=pi("getDefaultStorage",()=>{var S;return(S=Te)==null?void 0:S.localStorage})()}catch(S){y(S)}if(!n)return M;const F=Ne(t),K=wa(F),U=(s=r.serializer)!=null?s:Ea[K],{pause:g,resume:_}=ga(M,()=>P(M.value),{flush:o,deep:i,eventFilter:p});return h&&l&&Xr(()=>{De(h,"storage",T),De(h,qs,$),w&&T()}),w||T(),M;function P(S){try{const A=n.getItem(e),k=O=>{h&&h.dispatchEvent(new CustomEvent(qs,{detail:{key:e,oldValue:A,newValue:O,storageArea:n}}))};if(S==null)k(null),n.removeItem(e);else{const O=U.write(S);A!==O&&(n.setItem(e,O),k(O))}}catch(A){y(A)}}function L(S){const A=S?S.newValue:n.getItem(e);if(A==null)return c&&F!=null&&n.setItem(e,U.write(F)),F;if(!S&&a){const k=U.read(A);return typeof a=="function"?a(k,F):K==="object"&&!Array.isArray(k)?{...F,...k}:k}else return typeof A!="string"?A:U.read(A)}function $(S){T(S.detail)}function T(S){if(!(S&&S.storageArea!==n)){if(S&&S.key==null){M.value=F;return}if(!(S&&S.key!==e)){g();try{(S==null?void 0:S.newValue)!==U.write(M.value)&&(M.value=L(S))}catch(A){y(A)}finally{S?Nn(_):_()}}}}}function gi(e){return hi("(prefers-color-scheme: dark)",e)}function Ca(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Te,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=gi({window:s}),y=re(()=>p.value?"dark":"light"),w=c||(i==null?fi(r):Yr(i,r,o,{window:s,listenToStorageChanges:l})),M=re(()=>w.value==="auto"?y.value:w.value),F=pi("updateHTMLAttrs",(_,P,L)=>{const $=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!$)return;let T;if(f&&(T=s.document.createElement("style"),T.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(T)),P==="class"){const S=L.split(/\s/g);Object.values(h).flatMap(A=>(A||"").split(/\s/g)).filter(Boolean).forEach(A=>{S.includes(A)?$.classList.add(A):$.classList.remove(A)})}else $.setAttribute(P,L);f&&(s.getComputedStyle(T).opacity,document.head.removeChild(T))});function K(_){var P;F(t,n,(P=h[_])!=null?P:_)}function U(_){e.onChanged?e.onChanged(_,K):K(_)}Ve(M,U,{flush:"post",immediate:!0}),Xr(()=>U(M.value));const g=re({get(){return a?w.value:M.value},set(_){w.value=_}});try{return Object.assign(g,{store:w,system:y,state:M})}catch{return g}}function xa(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Te}=e,s=Ca({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:gi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function rr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Au(e,t,n={}){const{window:r=Te}=n;return Yr(e,t,r==null?void 0:r.localStorage,n)}function mi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const fn=new WeakMap;function Ru(e,t=!1){const n=se(t);let r=null,s;Ve(fi(e),l=>{const c=rr(Ne(l));if(c){const a=c;fn.get(a)||fn.set(a,s),n.value&&(a.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=rr(Ne(e));!l||n.value||(xr&&(r=De(l,"touchmove",c=>{Sa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=rr(Ne(e));!c||!n.value||(xr&&(r==null||r()),c.style.overflow=(l=fn.get(c))!=null?l:"",fn.delete(c),n.value=!1)};return zr(i),re({get(){return n.value},set(l){l?o():i()}})}function Ou(e,t,n={}){const{window:r=Te}=n;return Yr(e,t,r==null?void 0:r.sessionStorage,n)}function Lu(e={}){const{window:t=Te,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Iu(e={}){const{window:t=Te,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Xr(c),De("resize",c,{passive:!0}),s){const a=hi("(orientation: portrait)");Ve(a,()=>c())}return{width:i,height:l}}var sr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},or={};const yi=/^(?:[a-z]+:|\/\/)/i,Ta="vitepress-theme-appearance",Aa=/#.*$/,Ra=/[?#].*$/,Oa=/(?:(^|\/)index)?\.(?:md|html)$/,Ce=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function La(e,t,n=!1){if(t===void 0)return!1;if(e=Gs(`/${e}`),n)return new RegExp(t).test(e);if(Gs(t)!==e)return!1;const r=t.match(Aa);return r?(Ce?location.hash:"")===r[0]:!0}function Gs(e){return decodeURI(e).replace(Ra,"").replace(Oa,"$1")}function Ia(e){return yi.test(e)}function Ma(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!Ia(f)&&La(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function vi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Pa(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Pa(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Na(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function bi(e,t){return[...e.filter(n=>!Na(t,n)),...t]}const Fa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,$a=/^[a-z]:/i;function zs(e){const t=$a.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Fa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ir=new Set;function Ha(e){if(ir.size===0){const n=typeof process=="object"&&(or==null?void 0:or.VITE_EXTRA_EXTENSIONS)||(sr==null?void 0:sr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>ir.add(r))}const t=e.split(".").pop();return t==null||!ir.has(t.toLowerCase())}function Mu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const ja=Symbol(),ut=Vr(la);function Pu(e){const t=re(()=>Ma(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?xa({storageKey:Ta,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):se(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>vi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r}}function Va(){const e=xt(ja);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Da(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Xs(e){return yi.test(e)||!e.startsWith("/")?e:Da(ut.value.base,e)}function Ba(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=zs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${zs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let yn=[];function Nu(e){yn.push(e),Dn(()=>{yn=yn.filter(t=>t!==e)})}function Ua(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ys(e,n);else if(Array.isArray(e))for(const r of e){const s=Ys(r,n);if(s){t=s;break}}return t}function Ys(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const ka=Symbol(),wi="http://a.com",Ka=()=>({path:"/",component:null,data:_i});function Fu(e,t){const n=Mn(Ka()),r={route:n,go:s};async function s(l=Ce?location.href:"/"){var c,a;l=An(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(Qs(l),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,wi),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:w,__pageData:M}=y;if(!w)throw new Error(`Invalid route component: ${w}`);n.path=Ce?h:Xs(h),n.component=Mt(w),n.data=Mt(M),Ce&&Nn(()=>{let F=ut.value.base+M.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!F.endsWith("/")&&(F+=".html"),F!==f.pathname&&(f.pathname=F,l=F+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(U){console.warn(U)}if(K){Js(K,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const w=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await w.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Xs(h),n.component=t?Mt(t):null,n.data=_i)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:w,search:M}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===F.origin&&Ha(y)&&(l.preventDefault(),y===F.pathname&&M===F.search?(w!==F.hash&&(history.pushState(null,"",w),window.dispatchEvent(new Event("hashchange"))),w?Js(a,w,a.classList.contains("header-anchor")):(Qs(h),window.scrollTo(0,0))):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(An(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Wa(){const e=xt(ka);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ei(){return Wa().route}function Js(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Ua()+o;requestAnimationFrame(s)}}function Qs(e){Ce&&An(e)!==An(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function An(e){const t=new URL(e,wi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const lr=()=>yn.forEach(e=>e()),$u=kr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ei(),{site:n}=Va();return()=>Cr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Cr(t.component,{onVnodeMounted:lr,onVnodeUpdated:lr,onVnodeUnmounted:lr}):"404 Page Not Found"])}}),Hu=kr({setup(e,{slots:t}){const n=se(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function ju(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Vu(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),qa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function qa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Du(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=cr(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(cr);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Ur(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=vi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):cr(["meta",{name:"description",content:f}]),s(bi(i.head,za(c)))})}function cr([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function Ga(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function za(e){return e.filter(t=>!Ga(t))}const ar=new Set,Ci=()=>document.createElement("link"),Xa=e=>{const t=Ci();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ya=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Ja=Ce&&(dn=Ci())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?Xa:Ya;function Bu(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ar.has(c)){ar.add(c);const a=Ba(c);a&&Ja(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ar.add(l))})})};Rt(r);const s=Ei();Ve(()=>s.path,r),Dn(()=>{n&&n.disconnect()})}export{ec as $,Dn as A,ru as B,Dl as C,Ua as D,tu as E,me as F,iu as G,Vr as H,Nu as I,oe as J,nu as K,yi as L,Ei as M,_c as N,xt as O,Iu as P,Or as Q,Su as R,Tu as S,si as T,Nn as U,Lu as V,Pn as W,ou as X,Eu as Y,Ru as Z,bu as _,ei as a,mu as a0,cu as a1,gu as a2,au as a3,Cr as a4,du as a5,vu as a6,wu as a7,Du as a8,ka as a9,Mu as aA,Pu as aa,ja as ab,$u as ac,Hu as ad,ut as ae,_u as af,Fu as ag,Ba as ah,Bu as ai,Vu as aj,ju as ak,yt as al,zr as am,xu as an,Ou as ao,Au as ap,Cu as aq,Wa as ar,De as as,$o as at,su as au,pu as av,de as aw,uu as ax,Mt as ay,yu as az,Jo as b,fu as c,kr as d,hu as e,Ha as f,Xs as g,se as h,Ia as i,Ce as j,re as k,Rt as l,Zo as m,Lr as n,Xo as o,Eo as p,Za as q,lu as r,eu as s,Qa as t,Va as u,La as v,Cl as w,hi as x,Ve as y,Ur as z}; diff --git a/assets/chunks/framework.Sd_qASnv.js b/assets/chunks/framework.Sd_qASnv.js new file mode 100644 index 0000000..743b4d6 --- /dev/null +++ b/assets/chunks/framework.Sd_qASnv.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function wr(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const ee={},mt=[],xe=()=>{},Ti=()=>!1,kt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Er=e=>e.startsWith("onUpdate:"),ie=Object.assign,Cr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,Y=(e,t)=>Ai.call(e,t),k=Array.isArray,yt=e=>Sn(e)==="[object Map]",Gs=e=>Sn(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",ft=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",zs=e=>(Z(e)||K(e))&&K(e.then)&&K(e.catch),Xs=Object.prototype.toString,Sn=e=>Xs.call(e),Ri=e=>Sn(e).slice(8,-1),Ys=e=>Sn(e)==="[object Object]",xr=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_t=wr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Tn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Oi=/-(\w)/g,$e=Tn(e=>e.replace(Oi,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,dt=Tn(e=>e.replace(Li,"-$1").toLowerCase()),An=Tn(e=>e.charAt(0).toUpperCase()+e.slice(1)),fn=Tn(e=>e?`on${An(e)}`:""),Je=(e,t)=>!Object.is(e,t),dn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ii=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Jr;const Qs=()=>Jr||(Jr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Sr(e){if(k(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Tr(e){let t="";if(se(e))t=e;else if(k(e))for(let n=0;nse(e)?e:e==null?"":k(e)||Z(e)&&(e.toString===Xs||!K(e.toString))?JSON.stringify(e,eo,2):String(e),eo=(e,t)=>t&&t.__v_isRef?eo(e,t.value):yt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[kn(r,o)+" =>"]=s,n),{})}:Gs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>kn(n))}:ft(t)?kn(t):Z(t)&&!k(t)&&!Ys(t)?String(t):t,kn=(e,t="")=>{var n;return ft(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let we;class ji{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=we,!t&&we&&(this.index=(we.scopes||(we.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=we;try{return we=this,t()}finally{we=n}}}on(){we=this}off(){we=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),et()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Xe,n=ct;try{return Xe=!0,ct=this,this._runnings++,Qr(this),this.fn()}finally{Zr(this),this._runnings--,ct=n,Xe=t}}stop(){this.active&&(Qr(this),Zr(this),this.onStop&&this.onStop(),this.active=!1)}}function Ui(e){return e.value}function Qr(e){e._trackId++,e._depsLength=0}function Zr(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},yn=new WeakMap,at=Symbol(""),ur=Symbol("");function ve(e,t,n){if(Xe&&ct){let r=yn.get(e);r||yn.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=io(()=>r.delete(n))),so(ct,s)}}function Ve(e,t,n,r,s,o){const i=yn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&k(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!ft(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":k(e)?xr(n)&&l.push(i.get("length")):(l.push(i.get(at)),yt(e)&&l.push(i.get(ur)));break;case"delete":k(e)||(l.push(i.get(at)),yt(e)&&l.push(i.get(ur)));break;case"set":yt(e)&&l.push(i.get(at));break}Rr();for(const c of l)c&&oo(c,4);Or()}function Bi(e,t){const n=yn.get(e);return n&&n.get(t)}const ki=wr("__proto__,__v_isRef,__isVue"),lo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ft)),es=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){Ze(),Rr();const r=J(this)[t].apply(this,n);return Or(),et(),r}}),e}function Wi(e){ft(e)||(e=String(e));const t=J(this);return ve(t,"has",e),t.hasOwnProperty(e)}class co{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?sl:ho:o?fo:uo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=k(t);if(!s){if(i&&Y(es,n))return Reflect.get(es,n,r);if(n==="hasOwnProperty")return Wi}const l=Reflect.get(t,n,r);return(ft(n)?lo.has(n):ki(n))||(s||ve(t,"get",n),o)?l:de(l)?i&&xr(n)?l:l.value:Z(l)?s?Ln(l):On(l):l}}class ao extends co{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=$t(o);if(!_n(r)&&!$t(r)&&(o=J(o),r=J(r)),!k(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=k(t)&&xr(n)?Number(n)e,Rn=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Je(t,o)&&ve(s,"get",t),ve(s,"get",o));const{has:i}=Rn(s),l=r?Lr:n?Pr:Ht;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Jt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Je(e,s)&&ve(r,"has",e),ve(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function Qt(e,t=!1){return e=e.__v_raw,!t&&ve(J(e),"iterate",at),Reflect.get(e,"size",e)}function ts(e){e=J(e);const t=J(this);return Rn(t).has.call(t,e)||(t.add(e),Ve(t,"add",e,e)),this}function ns(e,t){t=J(t);const n=J(this),{has:r,get:s}=Rn(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Je(t,i)&&Ve(n,"set",e,t):Ve(n,"add",e,t),this}function rs(e){const t=J(this),{has:n,get:r}=Rn(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&Ve(t,"delete",e,void 0),o}function ss(){const e=J(this),t=e.size!==0,n=e.clear();return t&&Ve(e,"clear",void 0,void 0),n}function Zt(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Lr:e?Pr:Ht;return!e&&ve(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function en(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=yt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Lr:t?Pr:Ht;return!t&&ve(o,"iterate",c?ur:at),{next(){const{value:h,done:m}=a.next();return m?{value:h,done:m}:{value:l?[f(h[0]),f(h[1])]:f(h),done:m}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yi(){const e={get(o){return Yt(this,o)},get size(){return Qt(this)},has:Jt,add:ts,set:ns,delete:rs,clear:ss,forEach:Zt(!1,!1)},t={get(o){return Yt(this,o,!1,!0)},get size(){return Qt(this)},has:Jt,add:ts,set:ns,delete:rs,clear:ss,forEach:Zt(!1,!0)},n={get(o){return Yt(this,o,!0)},get size(){return Qt(this,!0)},has(o){return Jt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Zt(!0,!1)},r={get(o){return Yt(this,o,!0,!0)},get size(){return Qt(this,!0)},has(o){return Jt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Zt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=en(o,!1,!1),n[o]=en(o,!0,!1),t[o]=en(o,!1,!0),r[o]=en(o,!0,!0)}),[e,n,t,r]}const[Ji,Qi,Zi,el]=Yi();function Ir(e,t){const n=t?e?el:Zi:e?Qi:Ji;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const tl={get:Ir(!1,!1)},nl={get:Ir(!1,!0)},rl={get:Ir(!0,!1)};const uo=new WeakMap,fo=new WeakMap,ho=new WeakMap,sl=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function il(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Ri(e))}function On(e){return $t(e)?e:Mr(e,!1,Gi,tl,uo)}function ll(e){return Mr(e,!1,Xi,nl,fo)}function Ln(e){return Mr(e,!0,zi,rl,ho)}function Mr(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=il(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function Rt(e){return $t(e)?Rt(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function _n(e){return!!(e&&e.__v_isShallow)}function po(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function hn(e){return Object.isExtensible(e)&&Js(e,"__v_skip",!0),e}const Ht=e=>Z(e)?On(e):e,Pr=e=>Z(e)?Ln(e):e;class go{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ar(()=>t(this._value),()=>Ot(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Je(t._value,t._value=t.effect.run())&&Ot(t,4),Nr(t),t.effect._dirtyLevel>=2&&Ot(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function cl(e,t,n=!1){let r,s;const o=K(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new go(r,s,o||!s,n)}function Nr(e){var t;Xe&&ct&&(e=J(e),so(ct,(t=e.dep)!=null?t:e.dep=io(()=>e.dep=void 0,e instanceof go?e:void 0)))}function Ot(e,t=4,n){e=J(e);const r=e.dep;r&&oo(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function re(e){return mo(e,!1)}function Fr(e){return mo(e,!0)}function mo(e,t){return de(e)?e:new al(e,t)}class al{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Ht(t)}get value(){return Nr(this),this._value}set value(t){const n=this.__v_isShallow||_n(t)||$t(t);t=n?t:J(t),Je(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),Ot(this,4))}}function yo(e){return de(e)?e.value:e}const ul={get:(e,t,n)=>yo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function _o(e){return Rt(e)?e:new Proxy(e,ul)}class fl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Nr(this),()=>Ot(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function dl(e){return new fl(e)}class hl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Bi(J(this._object),this._key)}}class pl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function gl(e,t,n){return de(e)?e:K(e)?new pl(e):Z(e)&&arguments.length>1?ml(e,t,n):re(e)}function ml(e,t,n){const r=e[t];return de(r)?r:new hl(e,t,n)}/** +* @vue/runtime-core v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ye(e,t,n,r){try{return r?e(...r):e()}catch(s){Kt(s,t,n)}}function Se(e,t,n,r){if(K(e)){const s=Ye(e,t,n,r);return s&&zs(s)&&s.catch(o=>{Kt(o,t,n)}),s}if(k(e)){const s=[];for(let o=0;o>>1,s=he[r],o=Vt(s);oPe&&he.splice(t,1)}function bl(e){k(e)?vt.push(...e):(!We||!We.includes(e,e.allowRecurse?ot+1:ot))&&vt.push(e),bo()}function os(e,t,n=jt?Pe+1:0){for(;nVt(n)-Vt(r));if(vt.length=0,We){We.push(...t);return}for(We=t,ot=0;ote.id==null?1/0:e.id,wl=(e,t)=>{const n=Vt(e)-Vt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wo(e){fr=!1,jt=!0,he.sort(wl);try{for(Pe=0;Pese(v)?v.trim():v)),h&&(s=n.map(lr))}let l,c=r[l=fn(t)]||r[l=fn($e(t))];!c&&o&&(c=r[l=fn(dt(t))]),c&&Se(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(a,e,6,s)}}function Eo(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!K(e)){const c=a=>{const f=Eo(a,t,!0);f&&(l=!0,ie(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(k(o)?o.forEach(c=>i[c]=null):ie(i,o),Z(e)&&r.set(e,i),i)}function Pn(e,t){return!e||!kt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,dt(t))||Y(e,t))}let ce=null,Nn=null;function bn(e){const t=ce;return ce=e,Nn=e&&e.type.__scopeId||null,t}function Za(e){Nn=e}function eu(){Nn=null}function Cl(e,t=ce,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&vs(-1);const o=bn(t);let i;try{i=e(...s)}finally{bn(o),r._d&&vs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Kn(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:l,emit:c,render:a,renderCache:f,props:h,data:m,setupState:v,ctx:C,inheritAttrs:I}=e,$=bn(e);let q,D;try{if(n.shapeFlag&4){const y=s||r,M=y;q=Ae(a.call(M,y,f,h,v,m,C)),D=l}else{const y=t;q=Ae(y.length>1?y(h,{attrs:l,slots:i,emit:c}):y(h,null)),D=t.props?l:xl(l)}}catch(y){Nt.length=0,Kt(y,e,1),q=oe(_e)}let p=q;if(D&&I!==!1){const y=Object.keys(D),{shapeFlag:M}=p;y.length&&M&7&&(o&&y.some(Er)&&(D=Sl(D,o)),p=Qe(p,D,!1,!0))}return n.dirs&&(p=Qe(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),q=p,bn($),q}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||kt(n))&&((t||(t={}))[n]=e[n]);return t},Sl=(e,t)=>{const n={};for(const r in e)(!Er(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Tl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?is(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function To(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const Ol=Symbol.for("v-scx"),Ll=()=>wt(Ol);function Hr(e,t){return Fn(e,null,t)}function ru(e,t){return Fn(e,null,{flush:"post"})}const tn={};function Ne(e,t,n){return Fn(e,t,n)}function Fn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const O=t;t=(...N)=>{O(...N),M()}}const c=ue,a=O=>r===!0?O:lt(O,r===!1?1:void 0);let f,h=!1,m=!1;if(de(e)?(f=()=>e.value,h=_n(e)):Rt(e)?(f=()=>a(e),h=!0):k(e)?(m=!0,h=e.some(O=>Rt(O)||_n(O)),f=()=>e.map(O=>{if(de(O))return O.value;if(Rt(O))return a(O);if(K(O))return Ye(O,c,2)})):K(e)?t?f=()=>Ye(e,c,2):f=()=>(v&&v(),Se(e,c,3,[C])):f=xe,t&&r){const O=f;f=()=>lt(O())}let v,C=O=>{v=p.onStop=()=>{Ye(O,c,4),v=p.onStop=void 0}},I;if(Gt)if(C=xe,t?n&&Se(t,c,3,[f(),m?[]:void 0,C]):f(),s==="sync"){const O=Ll();I=O.__watcherHandles||(O.__watcherHandles=[])}else return xe;let $=m?new Array(e.length).fill(tn):tn;const q=()=>{if(!(!p.active||!p.dirty))if(t){const O=p.run();(r||h||(m?O.some((N,T)=>Je(N,$[T])):Je(O,$)))&&(v&&v(),Se(t,c,3,[O,$===tn?void 0:m&&$[0]===tn?[]:$,C]),$=O)}else p.run()};q.allowRecurse=!!t;let D;s==="sync"?D=q:s==="post"?D=()=>me(q,c&&c.suspense):(q.pre=!0,c&&(q.id=c.uid),D=()=>Mn(q));const p=new Ar(f,xe,D),y=to(),M=()=>{p.stop(),y&&Cr(y.effects,p)};return t?n?q():$=p.run():s==="post"?me(p.run.bind(p),c&&c.suspense):p.run(),I&&I.push(M),M}function Il(e,t,n){const r=this.proxy,s=se(e)?e.includes(".")?Ao(r,e):()=>r[e]:e.bind(r,r);let o;K(t)?o=t:(o=t.handler,n=t);const i=qt(this),l=Fn(s,o.bind(r),n);return i(),l}function Ao(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{lt(r,t,n)});else if(Ys(e))for(const r in e)lt(e[r],t,n);return e}function su(e,t){if(ce===null)return e;const n=Vn(ce)||ce.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Mo(()=>{e.isUnmounting=!0}),e}const Ee=[Function,Array],Ro={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ee,onEnter:Ee,onAfterEnter:Ee,onEnterCancelled:Ee,onBeforeLeave:Ee,onLeave:Ee,onAfterLeave:Ee,onLeaveCancelled:Ee,onBeforeAppear:Ee,onAppear:Ee,onAfterAppear:Ee,onAppearCancelled:Ee},Pl={name:"BaseTransition",props:Ro,setup(e,{slots:t}){const n=jn(),r=Ml();return()=>{const s=t.default&&Lo(t.default(),!0);if(!s||!s.length)return;let o=s[0];if(s.length>1){for(const m of s)if(m.type!==_e){o=m;break}}const i=J(e),{mode:l}=i;if(r.isLeaving)return Wn(o);const c=cs(o);if(!c)return Wn(o);const a=dr(c,i,r,n);hr(c,a);const f=n.subTree,h=f&&cs(f);if(h&&h.type!==_e&&!it(c,h)){const m=dr(h,i,r,n);if(hr(h,m),l==="out-in"&&c.type!==_e)return r.isLeaving=!0,m.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Wn(o);l==="in-out"&&c.type!==_e&&(m.delayLeave=(v,C,I)=>{const $=Oo(r,h);$[String(h.key)]=h,v[qe]=()=>{C(),v[qe]=void 0,delete a.delayedLeave},a.delayedLeave=I})}return o}}},Nl=Pl;function Oo(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 dr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:m,onAfterLeave:v,onLeaveCancelled:C,onBeforeAppear:I,onAppear:$,onAfterAppear:q,onAppearCancelled:D}=t,p=String(e.key),y=Oo(n,e),M=(T,F)=>{T&&Se(T,r,9,F)},O=(T,F)=>{const w=F[1];M(T,F),k(T)?T.every(j=>j.length<=1)&&w():T.length<=1&&w()},N={mode:o,persisted:i,beforeEnter(T){let F=l;if(!n.isMounted)if(s)F=I||l;else return;T[qe]&&T[qe](!0);const w=y[p];w&&it(e,w)&&w.el[qe]&&w.el[qe](),M(F,[T])},enter(T){let F=c,w=a,j=f;if(!n.isMounted)if(s)F=$||c,w=q||a,j=D||f;else return;let A=!1;const G=T[nn]=le=>{A||(A=!0,le?M(j,[T]):M(w,[T]),N.delayedLeave&&N.delayedLeave(),T[nn]=void 0)};F?O(F,[T,G]):G()},leave(T,F){const w=String(e.key);if(T[nn]&&T[nn](!0),n.isUnmounting)return F();M(h,[T]);let j=!1;const A=T[qe]=G=>{j||(j=!0,F(),G?M(C,[T]):M(v,[T]),T[qe]=void 0,y[w]===e&&delete y[w])};y[w]=e,m?O(m,[T,A]):A()},clone(T){return dr(T,t,n,r)}};return N}function Wn(e){if(Wt(e))return e=Qe(e),e.children=null,e}function cs(e){if(!Wt(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&K(n.default))return n.default()}}function hr(e,t){e.shapeFlag&6&&e.component?hr(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 Lo(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function ou(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,m()),m=()=>{let v;return c||(v=c=t().catch(C=>{if(C=C instanceof Error?C:new Error(String(C)),l)return new Promise((I,$)=>{l(C,()=>I(h()),()=>$(C),f+1)});throw C}).then(C=>v!==c&&c?c:(C&&(C.__esModule||C[Symbol.toStringTag]==="Module")&&(C=C.default),a=C,C)))};return jr({name:"AsyncComponentWrapper",__asyncLoader:m,get __asyncResolved(){return a},setup(){const v=ue;if(a)return()=>qn(a,v);const C=D=>{c=null,Kt(D,v,13,!r)};if(i&&v.suspense||Gt)return m().then(D=>()=>qn(D,v)).catch(D=>(C(D),()=>r?oe(r,{error:D}):null));const I=re(!1),$=re(),q=re(!!s);return s&&setTimeout(()=>{q.value=!1},s),o!=null&&setTimeout(()=>{if(!I.value&&!$.value){const D=new Error(`Async component timed out after ${o}ms.`);C(D),$.value=D}},o),m().then(()=>{I.value=!0,v.parent&&Wt(v.parent.vnode)&&(v.parent.effect.dirty=!0,Mn(v.parent.update))}).catch(D=>{C(D),$.value=D}),()=>{if(I.value&&a)return qn(a,v);if($.value&&r)return oe(r,{error:$.value});if(n&&!q.value)return oe(n)}}})}function qn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=oe(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Wt=e=>e.type.__isKeepAlive;function Fl(e,t){Io(e,"a",t)}function $l(e,t){Io(e,"da",t)}function Io(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if($n(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Wt(s.parent.vnode)&&Hl(r,t,n,s),s=s.parent}}function Hl(e,t,n,r){const s=$n(t,e,r,!0);Hn(()=>{Cr(r[t],s)},n)}function $n(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Ze();const l=qt(n),c=Se(t,n,e,i);return l(),et(),c});return r?s.unshift(o):s.push(o),o}}const De=e=>(t,n=ue)=>(!Gt||e==="sp")&&$n(e,(...r)=>t(...r),n),jl=De("bm"),xt=De("m"),Vl=De("bu"),Dl=De("u"),Mo=De("bum"),Hn=De("um"),Ul=De("sp"),Bl=De("rtg"),kl=De("rtc");function Kl(e,t=ue){$n("ec",e,t)}function iu(e,t,n,r){let s;const o=n;if(k(e)||se(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lCn(t)?!(t.type===_e||t.type===ye&&!Po(t.children)):!0)?e:null}function cu(e,t){const n={};for(const r in e)n[/[A-Z]/.test(r)?`on:${r}`:fn(r)]=e[r];return n}const pr=e=>e?ei(e)?Vn(e)||e.proxy:pr(e.parent):null,Lt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>pr(e.parent),$root:e=>pr(e.root),$emit:e=>e.emit,$options:e=>Vr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Mn(e.update)}),$nextTick:e=>e.n||(e.n=In.bind(e.proxy)),$watch:e=>Il.bind(e)}),Gn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Wl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const v=i[t];if(v!==void 0)switch(v){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Gn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];gr&&(i[t]=0)}}const f=Lt[t];let h,m;if(f)return t==="$attrs"&&ve(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(m=c.config.globalProperties,Y(m,t))return m[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Gn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Gn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Lt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function au(){return ql().slots}function ql(){const e=jn();return e.setupContext||(e.setupContext=ni(e))}function as(e){return k(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let gr=!0;function Gl(e){const t=Vr(e),n=e.proxy,r=e.ctx;gr=!1,t.beforeCreate&&us(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:m,beforeUpdate:v,updated:C,activated:I,deactivated:$,beforeDestroy:q,beforeUnmount:D,destroyed:p,unmounted:y,render:M,renderTracked:O,renderTriggered:N,errorCaptured:T,serverPrefetch:F,expose:w,inheritAttrs:j,components:A,directives:G,filters:le}=t;if(a&&zl(a,r,null),i)for(const X in i){const V=i[X];K(V)&&(r[X]=V.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=On(X))}if(gr=!0,o)for(const X in o){const V=o[X],He=K(V)?V.bind(n,n):K(V.get)?V.get.bind(n,n):xe,zt=!K(V)&&K(V.set)?V.set.bind(n):xe,tt=ne({get:He,set:zt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)No(l[X],r,n,X);if(c){const X=K(c)?c.call(n):c;Reflect.ownKeys(X).forEach(V=>{ec(V,X[V])})}f&&us(f,e,"c");function U(X,V){k(V)?V.forEach(He=>X(He.bind(n))):V&&X(V.bind(n))}if(U(jl,h),U(xt,m),U(Vl,v),U(Dl,C),U(Fl,I),U($l,$),U(Kl,T),U(kl,O),U(Bl,N),U(Mo,D),U(Hn,y),U(Ul,F),k(w))if(w.length){const X=e.exposed||(e.exposed={});w.forEach(V=>{Object.defineProperty(X,V,{get:()=>n[V],set:He=>n[V]=He})})}else e.exposed||(e.exposed={});M&&e.render===xe&&(e.render=M),j!=null&&(e.inheritAttrs=j),A&&(e.components=A),G&&(e.directives=G)}function zl(e,t,n=xe){k(e)&&(e=mr(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=wt(s.from||r,s.default,!0):o=wt(s.from||r):o=wt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function us(e,t,n){Se(k(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function No(e,t,n,r){const s=r.includes(".")?Ao(n,r):()=>n[r];if(se(e)){const o=t[e];K(o)&&Ne(s,o)}else if(K(e))Ne(s,e.bind(n));else if(Z(e))if(k(e))e.forEach(o=>No(o,t,n,r));else{const o=K(e.handler)?e.handler.bind(n):t[e.handler];K(o)&&Ne(s,o,e)}}function Vr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>wn(c,a,i,!0)),wn(c,t,i)),Z(t)&&o.set(t,c),c}function wn(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&wn(e,o,n,!0),s&&s.forEach(i=>wn(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Xl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xl={data:fs,props:ds,emits:ds,methods:At,computed:At,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:At,directives:At,watch:Jl,provide:fs,inject:Yl};function fs(e,t){return t?e?function(){return ie(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Yl(e,t){return At(mr(e),mr(t))}function mr(e){if(k(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(r&&r.proxy):t}}const $o={},Ho=()=>Object.create($o),jo=e=>Object.getPrototypeOf(e)===$o;function tc(e,t,n,r=!1){const s={},o=Ho();e.propsDefaults=Object.create(null),Vo(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:ll(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function nc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[m,v]=Do(h,t,!0);ie(i,m),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,mt),mt;if(k(o))for(let f=0;f-1,v[1]=I<0||C-1||Y(v,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function hs(e){return e[0]!=="$"&&!_t(e)}function ps(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function gs(e,t){return ps(e)===ps(t)}function ms(e,t){return k(t)?t.findIndex(n=>gs(n,e)):K(t)&&gs(t,e)?0:-1}const Uo=e=>e[0]==="_"||e==="$stable",Dr=e=>k(e)?e.map(Ae):[Ae(e)],rc=(e,t,n)=>{if(t._n)return t;const r=Cl((...s)=>Dr(t(...s)),n);return r._c=!1,r},Bo=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Uo(s))continue;const o=e[s];if(K(o))t[s]=rc(s,o,r);else if(o!=null){const i=Dr(o);t[s]=()=>i}}},ko=(e,t)=>{const n=Dr(t);e.slots.default=()=>n},sc=(e,t)=>{const n=e.slots=Ho();if(e.vnode.shapeFlag&32){const r=t._;r?(ie(n,t),Js(n,"_",r,!0)):Bo(t,n)}else t&&ko(e,t)},oc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ie(s,t),!n&&l===1&&delete s._):(o=!t.$stable,Bo(t,s)),i=t}else t&&(ko(e,t),i={default:1});if(o)for(const l in s)!Uo(l)&&i[l]==null&&delete s[l]};function En(e,t,n,r,s=!1){if(k(e)){e.forEach((m,v)=>En(m,t&&(k(t)?t[v]:t),n,r,s));return}if(bt(r)&&!s)return;const o=r.shapeFlag&4?Vn(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(se(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),K(c))Ye(c,l,12,[i,f]);else{const m=se(c),v=de(c);if(m||v){const C=()=>{if(e.f){const I=m?Y(h,c)?h[c]:f[c]:c.value;s?k(I)&&Cr(I,o):k(I)?I.includes(o)||I.push(o):m?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else m?(f[c]=i,Y(h,c)&&(h[c]=i)):v&&(c.value=i,e.k&&(f[e.k]=i))};i?(C.id=-1,me(C,n)):C()}}}let Be=!1;const ic=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",lc=e=>e.namespaceURI.includes("MathML"),rn=e=>{if(ic(e))return"svg";if(lc(e))return"mathml"},sn=e=>e.nodeType===8;function cc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(p,y)=>{if(!y.hasChildNodes()){n(null,p,y),vn(),y._vnode=p;return}Be=!1,h(y.firstChild,p,null,null,null),vn(),y._vnode=p,Be&&console.error("Hydration completed but contains mismatches.")},h=(p,y,M,O,N,T=!1)=>{T=T||!!y.dynamicChildren;const F=sn(p)&&p.data==="[",w=()=>I(p,y,M,O,N,F),{type:j,ref:A,shapeFlag:G,patchFlag:le}=y;let fe=p.nodeType;y.el=p,le===-2&&(T=!1,y.dynamicChildren=null);let U=null;switch(j){case Et:fe!==3?y.children===""?(c(y.el=s(""),i(p),p),U=p):U=w():(p.data!==y.children&&(Be=!0,p.data=y.children),U=o(p));break;case _e:D(p)?(U=o(p),q(y.el=p.content.firstChild,p,M)):fe!==8||F?U=w():U=o(p);break;case Pt:if(F&&(p=o(p),fe=p.nodeType),fe===1||fe===3){U=p;const X=!y.children.length;for(let V=0;V{T=T||!!y.dynamicChildren;const{type:F,props:w,patchFlag:j,shapeFlag:A,dirs:G,transition:le}=y,fe=F==="input"||F==="option";if(fe||j!==-1){G&&Me(y,null,M,"created");let U=!1;if(D(p)){U=Wo(O,le)&&M&&M.vnode.props&&M.vnode.props.appear;const V=p.content.firstChild;U&&le.beforeEnter(V),q(V,p,M),y.el=p=V}if(A&16&&!(w&&(w.innerHTML||w.textContent))){let V=v(p.firstChild,y,p,M,O,N,T);for(;V;){Be=!0;const He=V;V=V.nextSibling,l(He)}}else A&8&&p.textContent!==y.children&&(Be=!0,p.textContent=y.children);if(w)if(fe||!T||j&48)for(const V in w)(fe&&(V.endsWith("value")||V==="indeterminate")||kt(V)&&!_t(V)||V[0]===".")&&r(p,V,null,w[V],void 0,void 0,M);else w.onClick&&r(p,"onClick",null,w.onClick,void 0,void 0,M);let X;(X=w&&w.onVnodeBeforeMount)&&Ce(X,M,y),G&&Me(y,null,M,"beforeMount"),((X=w&&w.onVnodeMounted)||G||U)&&To(()=>{X&&Ce(X,M,y),U&&le.enter(p),G&&Me(y,null,M,"mounted")},O)}return p.nextSibling},v=(p,y,M,O,N,T,F)=>{F=F||!!y.dynamicChildren;const w=y.children,j=w.length;for(let A=0;A{const{slotScopeIds:F}=y;F&&(N=N?N.concat(F):F);const w=i(p),j=v(o(p),y,w,M,O,N,T);return j&&sn(j)&&j.data==="]"?o(y.anchor=j):(Be=!0,c(y.anchor=a("]"),w,j),j)},I=(p,y,M,O,N,T)=>{if(Be=!0,y.el=null,T){const j=$(p);for(;;){const A=o(p);if(A&&A!==j)l(A);else break}}const F=o(p),w=i(p);return l(p),n(null,y,w,F,M,O,rn(w),N),F},$=(p,y="[",M="]")=>{let O=0;for(;p;)if(p=o(p),p&&sn(p)&&(p.data===y&&O++,p.data===M)){if(O===0)return o(p);O--}return p},q=(p,y,M)=>{const O=y.parentNode;O&&O.replaceChild(p,y);let N=M;for(;N;)N.vnode.el===y&&(N.vnode.el=N.subTree.el=p),N=N.parent},D=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[f,h]}const me=To;function ac(e){return Ko(e)}function uc(e){return Ko(e,cc)}function Ko(e,t){const n=Qs();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:m,setScopeId:v=xe,insertStaticContent:C}=e,I=(u,d,g,_=null,b=null,S=null,L=void 0,x=null,R=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(_=Xt(u),Le(u,b,S,!0),u=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:E,ref:P,shapeFlag:B}=d;switch(E){case Et:$(u,d,g,_);break;case _e:q(u,d,g,_);break;case Pt:u==null&&D(d,g,_,L);break;case ye:A(u,d,g,_,b,S,L,x,R);break;default:B&1?M(u,d,g,_,b,S,L,x,R):B&6?G(u,d,g,_,b,S,L,x,R):(B&64||B&128)&&E.process(u,d,g,_,b,S,L,x,R,ht)}P!=null&&b&&En(P,u&&u.ref,S,d||u,!d)},$=(u,d,g,_)=>{if(u==null)r(d.el=l(d.children),g,_);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},q=(u,d,g,_)=>{u==null?r(d.el=c(d.children||""),g,_):d.el=u.el},D=(u,d,g,_)=>{[u.el,u.anchor]=C(u.children,d,g,_,u.el,u.anchor)},p=({el:u,anchor:d},g,_)=>{let b;for(;u&&u!==d;)b=m(u),r(u,g,_),u=b;r(d,g,_)},y=({el:u,anchor:d})=>{let g;for(;u&&u!==d;)g=m(u),s(u),u=g;s(d)},M=(u,d,g,_,b,S,L,x,R)=>{d.type==="svg"?L="svg":d.type==="math"&&(L="mathml"),u==null?O(d,g,_,b,S,L,x,R):F(u,d,b,S,L,x,R)},O=(u,d,g,_,b,S,L,x)=>{let R,E;const{props:P,shapeFlag:B,transition:H,dirs:W}=u;if(R=u.el=i(u.type,S,P&&P.is,P),B&8?f(R,u.children):B&16&&T(u.children,R,null,_,b,zn(u,S),L,x),W&&Me(u,null,_,"created"),N(R,u,u.scopeId,L,_),P){for(const Q in P)Q!=="value"&&!_t(Q)&&o(R,Q,null,P[Q],S,u.children,_,b,je);"value"in P&&o(R,"value",null,P.value,S),(E=P.onVnodeBeforeMount)&&Ce(E,_,u)}W&&Me(u,null,_,"beforeMount");const z=Wo(b,H);z&&H.beforeEnter(R),r(R,d,g),((E=P&&P.onVnodeMounted)||z||W)&&me(()=>{E&&Ce(E,_,u),z&&H.enter(R),W&&Me(u,null,_,"mounted")},b)},N=(u,d,g,_,b)=>{if(g&&v(u,g),_)for(let S=0;S<_.length;S++)v(u,_[S]);if(b){let S=b.subTree;if(d===S){const L=b.vnode;N(u,L,L.scopeId,L.slotScopeIds,b.parent)}}},T=(u,d,g,_,b,S,L,x,R=0)=>{for(let E=R;E{const x=d.el=u.el;let{patchFlag:R,dynamicChildren:E,dirs:P}=d;R|=u.patchFlag&16;const B=u.props||ee,H=d.props||ee;let W;if(g&&nt(g,!1),(W=H.onVnodeBeforeUpdate)&&Ce(W,g,d,u),P&&Me(d,u,g,"beforeUpdate"),g&&nt(g,!0),E?w(u.dynamicChildren,E,x,g,_,zn(d,b),S):L||V(u,d,x,null,g,_,zn(d,b),S,!1),R>0){if(R&16)j(x,d,B,H,g,_,b);else if(R&2&&B.class!==H.class&&o(x,"class",null,H.class,b),R&4&&o(x,"style",B.style,H.style,b),R&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ce(W,g,d,u),P&&Me(d,u,g,"updated")},_)},w=(u,d,g,_,b,S,L)=>{for(let x=0;x{if(g!==_){if(g!==ee)for(const x in g)!_t(x)&&!(x in _)&&o(u,x,g[x],null,L,d.children,b,S,je);for(const x in _){if(_t(x))continue;const R=_[x],E=g[x];R!==E&&x!=="value"&&o(u,x,E,R,L,d.children,b,S,je)}"value"in _&&o(u,"value",g.value,_.value,L)}},A=(u,d,g,_,b,S,L,x,R)=>{const E=d.el=u?u.el:l(""),P=d.anchor=u?u.anchor:l("");let{patchFlag:B,dynamicChildren:H,slotScopeIds:W}=d;W&&(x=x?x.concat(W):W),u==null?(r(E,g,_),r(P,g,_),T(d.children||[],g,P,b,S,L,x,R)):B>0&&B&64&&H&&u.dynamicChildren?(w(u.dynamicChildren,H,g,b,S,L,x),(d.key!=null||b&&d===b.subTree)&&Ur(u,d,!0)):V(u,d,g,P,b,S,L,x,R)},G=(u,d,g,_,b,S,L,x,R)=>{d.slotScopeIds=x,u==null?d.shapeFlag&512?b.ctx.activate(d,g,_,L,R):le(d,g,_,b,S,L,R):fe(u,d,R)},le=(u,d,g,_,b,S,L)=>{const x=u.component=wc(u,_,b);if(Wt(u)&&(x.ctx.renderer=ht),Ec(x),x.asyncDep){if(b&&b.registerDep(x,U),!u.el){const R=x.subTree=oe(_e);q(null,R,d,g)}}else U(x,u,d,g,b,S,L)},fe=(u,d,g)=>{const _=d.component=u.component;if(Tl(u,d,g))if(_.asyncDep&&!_.asyncResolved){X(_,d,g);return}else _.next=d,vl(_.update),_.effect.dirty=!0,_.update();else d.el=u.el,_.vnode=d},U=(u,d,g,_,b,S,L)=>{const x=()=>{if(u.isMounted){let{next:P,bu:B,u:H,parent:W,vnode:z}=u;{const pt=qo(u);if(pt){P&&(P.el=z.el,X(u,P,L)),pt.asyncDep.then(()=>{u.isUnmounted||x()});return}}let Q=P,te;nt(u,!1),P?(P.el=z.el,X(u,P,L)):P=z,B&&dn(B),(te=P.props&&P.props.onVnodeBeforeUpdate)&&Ce(te,W,P,z),nt(u,!0);const ae=Kn(u),Te=u.subTree;u.subTree=ae,I(Te,ae,h(Te.el),Xt(Te),u,b,S),P.el=ae.el,Q===null&&Al(u,ae.el),H&&me(H,b),(te=P.props&&P.props.onVnodeUpdated)&&me(()=>Ce(te,W,P,z),b)}else{let P;const{el:B,props:H}=d,{bm:W,m:z,parent:Q}=u,te=bt(d);if(nt(u,!1),W&&dn(W),!te&&(P=H&&H.onVnodeBeforeMount)&&Ce(P,Q,d),nt(u,!0),B&&Bn){const ae=()=>{u.subTree=Kn(u),Bn(B,u.subTree,u,b,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Kn(u);I(null,ae,g,_,u,b,S),d.el=ae.el}if(z&&me(z,b),!te&&(P=H&&H.onVnodeMounted)){const ae=d;me(()=>Ce(P,Q,ae),b)}(d.shapeFlag&256||Q&&bt(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&me(u.a,b),u.isMounted=!0,d=g=_=null}},R=u.effect=new Ar(x,xe,()=>Mn(E),u.scope),E=u.update=()=>{R.dirty&&R.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,g)=>{d.component=u;const _=u.vnode.props;u.vnode=d,u.next=null,nc(u,d.props,_,g),oc(u,d.children,g),Ze(),os(u),et()},V=(u,d,g,_,b,S,L,x,R=!1)=>{const E=u&&u.children,P=u?u.shapeFlag:0,B=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){zt(E,B,g,_,b,S,L,x,R);return}else if(H&256){He(E,B,g,_,b,S,L,x,R);return}}W&8?(P&16&&je(E,b,S),B!==E&&f(g,B)):P&16?W&16?zt(E,B,g,_,b,S,L,x,R):je(E,b,S,!0):(P&8&&f(g,""),W&16&&T(B,g,_,b,S,L,x,R))},He=(u,d,g,_,b,S,L,x,R)=>{u=u||mt,d=d||mt;const E=u.length,P=d.length,B=Math.min(E,P);let H;for(H=0;HP?je(u,b,S,!0,!1,B):T(d,g,_,b,S,L,x,R,B)},zt=(u,d,g,_,b,S,L,x,R)=>{let E=0;const P=d.length;let B=u.length-1,H=P-1;for(;E<=B&&E<=H;){const W=u[E],z=d[E]=R?Ge(d[E]):Ae(d[E]);if(it(W,z))I(W,z,g,null,b,S,L,x,R);else break;E++}for(;E<=B&&E<=H;){const W=u[B],z=d[H]=R?Ge(d[H]):Ae(d[H]);if(it(W,z))I(W,z,g,null,b,S,L,x,R);else break;B--,H--}if(E>B){if(E<=H){const W=H+1,z=WH)for(;E<=B;)Le(u[E],b,S,!0),E++;else{const W=E,z=E,Q=new Map;for(E=z;E<=H;E++){const be=d[E]=R?Ge(d[E]):Ae(d[E]);be.key!=null&&Q.set(be.key,E)}let te,ae=0;const Te=H-z+1;let pt=!1,zr=0;const St=new Array(Te);for(E=0;E=Te){Le(be,b,S,!0);continue}let Ie;if(be.key!=null)Ie=Q.get(be.key);else for(te=z;te<=H;te++)if(St[te-z]===0&&it(be,d[te])){Ie=te;break}Ie===void 0?Le(be,b,S,!0):(St[Ie-z]=E+1,Ie>=zr?zr=Ie:pt=!0,I(be,d[Ie],g,null,b,S,L,x,R),ae++)}const Xr=pt?fc(St):mt;for(te=Xr.length-1,E=Te-1;E>=0;E--){const be=z+E,Ie=d[be],Yr=be+1{const{el:S,type:L,transition:x,children:R,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,g,_);return}if(E&128){u.suspense.move(d,g,_);return}if(E&64){L.move(u,d,g,ht);return}if(L===ye){r(S,d,g);for(let B=0;Bx.enter(S),b);else{const{leave:B,delayLeave:H,afterLeave:W}=x,z=()=>r(S,d,g),Q=()=>{B(S,()=>{z(),W&&W()})};H?H(S,z,Q):Q()}else r(S,d,g)},Le=(u,d,g,_=!1,b=!1)=>{const{type:S,props:L,ref:x,children:R,dynamicChildren:E,shapeFlag:P,patchFlag:B,dirs:H}=u;if(x!=null&&En(x,null,g,u,!0),P&256){d.ctx.deactivate(u);return}const W=P&1&&H,z=!bt(u);let Q;if(z&&(Q=L&&L.onVnodeBeforeUnmount)&&Ce(Q,d,u),P&6)Si(u.component,g,_);else{if(P&128){u.suspense.unmount(g,_);return}W&&Me(u,null,d,"beforeUnmount"),P&64?u.type.remove(u,d,g,b,ht,_):E&&(S!==ye||B>0&&B&64)?je(E,d,g,!1,!0):(S===ye&&B&384||!b&&P&16)&&je(R,d,g),_&&qr(u)}(z&&(Q=L&&L.onVnodeUnmounted)||W)&&me(()=>{Q&&Ce(Q,d,u),W&&Me(u,null,d,"unmounted")},g)},qr=u=>{const{type:d,el:g,anchor:_,transition:b}=u;if(d===ye){xi(g,_);return}if(d===Pt){y(u);return}const S=()=>{s(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:L,delayLeave:x}=b,R=()=>L(g,S);x?x(u.el,S,R):R()}else S()},xi=(u,d)=>{let g;for(;u!==d;)g=m(u),s(u),u=g;s(d)},Si=(u,d,g)=>{const{bum:_,scope:b,update:S,subTree:L,um:x}=u;_&&dn(_),b.stop(),S&&(S.active=!1,Le(L,u,d,g)),x&&me(x,d),me(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},je=(u,d,g,_=!1,b=!1,S=0)=>{for(let L=S;Lu.shapeFlag&6?Xt(u.component.subTree):u.shapeFlag&128?u.suspense.next():m(u.anchor||u.el);let Dn=!1;const Gr=(u,d,g)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):I(d._vnode||null,u,d,null,null,null,g),Dn||(Dn=!0,os(),vn(),Dn=!1),d._vnode=u},ht={p:I,um:Le,m:tt,r:qr,mt:le,mc:T,pc:V,pbc:w,n:Xt,o:e};let Un,Bn;return t&&([Un,Bn]=t(ht)),{render:Gr,hydrate:Un,createApp:Zl(Gr,Un)}}function zn({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 nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Wo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ur(e,t,n=!1){const r=e.children,s=t.children;if(k(r)&&k(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function qo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qo(t)}const dc=e=>e.__isTeleport,Mt=e=>e&&(e.disabled||e.disabled===""),ys=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_s=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,_r=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},hc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:m,o:{insert:v,querySelector:C,createText:I,createComment:$}}=a,q=Mt(t.props);let{shapeFlag:D,children:p,dynamicChildren:y}=t;if(e==null){const M=t.el=I(""),O=t.anchor=I("");v(M,n,r),v(O,n,r);const N=t.target=_r(t.props,C),T=t.targetAnchor=I("");N&&(v(T,N),i==="svg"||ys(N)?i="svg":(i==="mathml"||_s(N))&&(i="mathml"));const F=(w,j)=>{D&16&&f(p,w,j,s,o,i,l,c)};q?F(n,O):N&&F(N,T)}else{t.el=e.el;const M=t.anchor=e.anchor,O=t.target=e.target,N=t.targetAnchor=e.targetAnchor,T=Mt(e.props),F=T?n:O,w=T?M:N;if(i==="svg"||ys(O)?i="svg":(i==="mathml"||_s(O))&&(i="mathml"),y?(m(e.dynamicChildren,y,F,s,o,i,l),Ur(e,t,!0)):c||h(e,t,F,w,s,o,i,l,!1),q)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):on(t,n,M,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=t.target=_r(t.props,C);j&&on(t,j,null,a,0)}else T&&on(t,O,N,a,1)}Go(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:m}=e;if(h&&o(f),i&&o(a),l&16){const v=i||!Mt(m);for(let C=0;C0?Re||mt:null,gc(),Dt>0&&Re&&Re.push(e),e}function fu(e,t,n,r,s,o){return Xo(Qo(e,t,n,r,s,o,!0))}function Yo(e,t,n,r,s){return Xo(oe(e,t,n,r,s,!0))}function Cn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Jo=({key:e})=>e??null,pn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||de(e)||K(e)?{i:ce,r:e,k:t,f:!!n}:e:null);function Qo(e,t=null,n=null,r=0,s=null,o=e===ye?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jo(t),ref:t&&pn(t),scopeId:Nn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ce};return l?(Br(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Dt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const oe=mc;function mc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===xo)&&(e=_e),Cn(e)){const l=Qe(e,t,!0);return n&&Br(l,n),Dt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Tc(e)&&(e=e.__vccOpts),t){t=yc(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Tr(l)),Z(c)&&(po(c)&&!k(c)&&(c=ie({},c)),t.style=Sr(c))}const i=se(e)?1:Rl(e)?128:dc(e)?64:Z(e)?4:K(e)?2:0;return Qo(e,t,n,r,s,i,o,!0)}function yc(e){return e?po(e)||jo(e)?ie({},e):e:null}function Qe(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,transition:c}=e,a=t?_c(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Jo(a),ref:t&&t.ref?n&&o?k(o)?o.concat(pn(t)):[o,pn(t)]:pn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qe(e.ssContent),ssFallback:e.ssFallback&&Qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&(f.transition=c.clone(f)),f}function Zo(e=" ",t=0){return oe(Et,null,e,t)}function du(e,t){const n=oe(Pt,null,e);return n.staticCount=t,n}function hu(e="",t=!1){return t?(zo(),Yo(_e,null,e)):oe(_e,null,e)}function Ae(e){return e==null||typeof e=="boolean"?oe(_e):k(e)?oe(ye,null,e.slice()):typeof e=="object"?Ge(e):oe(Et,null,String(e))}function Ge(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qe(e)}function Br(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(k(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Br(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!jo(t)?t._ctx=ce:s===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),r&64?(n=16,t=[Zo(t)]):n=8);e.children=t,e.shapeFlag|=n}function _c(...e){const t={};for(let n=0;nue||ce;let xn,vr;{const e=Qs(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};xn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),vr=t("__VUE_SSR_SETTERS__",n=>Gt=n)}const qt=e=>{const t=ue;return xn(e),e.scope.on(),()=>{e.scope.off(),xn(t)}},bs=()=>{ue&&ue.scope.off(),xn(null)};function ei(e){return e.vnode.shapeFlag&4}let Gt=!1;function Ec(e,t=!1){t&&vr(t);const{props:n,children:r}=e.vnode,s=ei(e);tc(e,n,s,t),sc(e,r);const o=s?Cc(e,t):void 0;return t&&vr(!1),o}function Cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wl);const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ni(e):null,o=qt(e);Ze();const i=Ye(r,e,0,[e.props,s]);if(et(),o(),zs(i)){if(i.then(bs,bs),t)return i.then(l=>{ws(e,l,t)}).catch(l=>{Kt(l,e,0)});e.asyncDep=i}else ws(e,i,t)}else ti(e,t)}function ws(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=_o(t)),ti(e,n)}let Es;function ti(e,t,n){const r=e.type;if(!e.render){if(!t&&Es&&!r.render){const s=r.template||Vr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ie(ie({isCustomElement:o,delimiters:l},i),c);r.render=Es(s,a)}}e.render=r.render||xe}{const s=qt(e);Ze();try{Gl(e)}finally{et(),s()}}}const xc={get(e,t){return ve(e,"get",""),e[t]}};function ni(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,xc),slots:e.slots,emit:e.emit,expose:t}}function Vn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(_o(hn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Lt)return Lt[n](e)},has(t,n){return n in t||n in Lt}}))}function Sc(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Tc(e){return K(e)&&"__vccOpts"in e}const ne=(e,t)=>cl(e,t,Gt);function br(e,t,n){const r=arguments.length;return r===2?Z(t)&&!k(t)?Cn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Cn(n)&&(n=[n]),oe(e,t,n))}const Ac="3.4.27";/** +* @vue/runtime-dom v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Rc="http://www.w3.org/2000/svg",Oc="http://www.w3.org/1998/Math/MathML",ze=typeof document<"u"?document:null,Cs=ze&&ze.createElement("template"),Lc={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"?ze.createElementNS(Rc,e):t==="mathml"?ze.createElementNS(Oc,e):ze.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ze.createTextNode(e),createComment:e=>ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Cs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Cs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ke="transition",Tt="animation",Ut=Symbol("_vtc"),ri=(e,{slots:t})=>br(Nl,Ic(e),t);ri.displayName="Transition";const si={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};ri.props=ie({},Ro,si);const rt=(e,t=[])=>{k(e)?e.forEach(n=>n(...t)):e&&e(...t)},xs=e=>e?k(e)?e.some(t=>t.length>1):e.length>1:!1;function Ic(e){const t={};for(const A in e)A in si||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,C=Mc(s),I=C&&C[0],$=C&&C[1],{onBeforeEnter:q,onEnter:D,onEnterCancelled:p,onLeave:y,onLeaveCancelled:M,onBeforeAppear:O=q,onAppear:N=D,onAppearCancelled:T=p}=t,F=(A,G,le)=>{st(A,G?f:l),st(A,G?a:i),le&&le()},w=(A,G)=>{A._isLeaving=!1,st(A,h),st(A,v),st(A,m),G&&G()},j=A=>(G,le)=>{const fe=A?N:D,U=()=>F(G,A,le);rt(fe,[G,U]),Ss(()=>{st(G,A?c:o),Ke(G,A?f:l),xs(fe)||Ts(G,r,I,U)})};return ie(t,{onBeforeEnter(A){rt(q,[A]),Ke(A,o),Ke(A,i)},onBeforeAppear(A){rt(O,[A]),Ke(A,c),Ke(A,a)},onEnter:j(!1),onAppear:j(!0),onLeave(A,G){A._isLeaving=!0;const le=()=>w(A,G);Ke(A,h),Ke(A,m),Fc(),Ss(()=>{A._isLeaving&&(st(A,h),Ke(A,v),xs(y)||Ts(A,r,$,le))}),rt(y,[A,le])},onEnterCancelled(A){F(A,!1),rt(p,[A])},onAppearCancelled(A){F(A,!0),rt(T,[A])},onLeaveCancelled(A){w(A),rt(M,[A])}})}function Mc(e){if(e==null)return null;if(Z(e))return[Xn(e.enter),Xn(e.leave)];{const t=Xn(e);return[t,t]}}function Xn(e){return Ii(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function Ss(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pc=0;function Ts(e,t,n,r){const s=e._endId=++Pc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Nc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,m),o()},m=v=>{v.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[C]||"").split(", "),s=r(`${ke}Delay`),o=r(`${ke}Duration`),i=As(s,o),l=r(`${Tt}Delay`),c=r(`${Tt}Duration`),a=As(l,c);let f=null,h=0,m=0;t===ke?i>0&&(f=ke,h=i,m=o.length):t===Tt?a>0&&(f=Tt,h=a,m=c.length):(h=Math.max(i,a),f=h>0?i>a?ke:Tt:null,m=f?f===ke?o.length:c.length:0);const v=f===ke&&/\b(transform|all)(,|$)/.test(r(`${ke}Property`).toString());return{type:f,timeout:h,propCount:m,hasTransform:v}}function As(e,t){for(;e.lengthRs(n)+Rs(e[r])))}function Rs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fc(){return document.body.offsetHeight}function $c(e,t,n){const r=e[Ut];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Os=Symbol("_vod"),Hc=Symbol("_vsh"),jc=Symbol(""),Vc=/(^|;)\s*display\s*:/;function Dc(e,t,n){const r=e.style,s=se(n);let o=!1;if(n&&!s){if(t)if(se(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&gn(r,l,"")}else for(const i in t)n[i]==null&&gn(r,i,"");for(const i in n)i==="display"&&(o=!0),gn(r,i,n[i])}else if(s){if(t!==n){const i=r[jc];i&&(n+=";"+i),r.cssText=n,o=Vc.test(n)}}else t&&e.removeAttribute("style");Os in e&&(e[Os]=o?r.display:"",e[Hc]&&(r.display="none"))}const Ls=/\s*!important$/;function gn(e,t,n){if(k(n))n.forEach(r=>gn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Uc(e,t);Ls.test(n)?e.setProperty(dt(r),n.replace(Ls,""),"important"):e[r]=n}}const Is=["Webkit","Moz","ms"],Yn={};function Uc(e,t){const n=Yn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Yn[t]=r;r=An(r);for(let s=0;sJn||(Gc.then(()=>Jn=0),Jn=Date.now());function Xc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(Yc(r,n.value),t,5,[r])};return n.value=e,n.attached=zc(),n}function Yc(e,t){if(k(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 Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?$c(e,r,a):t==="style"?Dc(e,n,r):kt(t)?Er(t)||Wc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qc(e,t,r,a))?kc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Bc(e,t,r,a))};function Qc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Fs(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Fs(t)&&se(n)?!1:t in e}const $s=e=>{const t=e.props["onUpdate:modelValue"]||!1;return k(t)?n=>dn(t,n):t};function Zc(e){e.target.composing=!0}function Hs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),pu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Qn]=$s(s);const o=r||s.props&&s.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=lr(l)),e[Qn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",Zc),gt(e,"compositionend",Hs),gt(e,"change",Hs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[Qn]=$s(o),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?lr(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},ea=["ctrl","shift","alt","meta"],ta={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)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},gu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=dt(s.key);if(t.some(i=>i===o||na[i]===o))return e(s)})},oi=ie({patchProp:Jc},Lc);let Ft,js=!1;function ra(){return Ft||(Ft=ac(oi))}function sa(){return Ft=js?Ft:uc(oi),js=!0,Ft}const yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(!s)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,ii(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},_u=(...e)=>{const t=sa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(s)return n(s,!0,ii(s))},t};function ii(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function li(e){return se(e)?document.querySelector(e):e}const vu="/images/qq.png",bu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},wu="/images/docs/gomod.png",oa=window.__VP_SITE_DATA__;function kr(e){return to()?(Di(e),!0):!1}function Fe(e){return typeof e=="function"?e():yo(e)}const ci=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ia=Object.prototype.toString,la=e=>ia.call(e)==="[object Object]",Bt=()=>{},Vs=ca();function ca(){var e,t;return ci&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function aa(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ai=e=>e();function ua(e,t={}){let n,r,s=Bt;const o=l=>{clearTimeout(l),s(),s=Bt};return l=>{const c=Fe(e),a=Fe(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function fa(e=ai){const t=re(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function da(e){return jn()}function ui(...e){if(e.length!==1)return gl(...e);const t=e[0];return typeof t=="function"?Ln(dl(()=>({get:t,set:Bt}))):re(t)}function fi(e,t,n={}){const{eventFilter:r=ai,...s}=n;return Ne(e,aa(r,t),s)}function ha(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=fa(r);return{stop:fi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Kr(e,t=!0,n){da()?xt(e,n):t?e():In(e)}function Eu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return fi(e,t,{...o,eventFilter:ua(r,{maxWait:s})})}function Cu(e,t,n){let r;de(n)?r={evaluating:n}:r={};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Bt}=r,c=re(!s),a=i?Fr(t):re(t);let f=0;return Hr(async h=>{if(!c.value)return;f++;const m=f;let v=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const C=await e(I=>{h(()=>{o&&(o.value=!1),v||I()})});m===f&&(a.value=C)}catch(C){l(C)}finally{o&&m===f&&(o.value=!1),v=!0}}),s?ne(()=>(c.value=!0,a.value)):a}function di(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=ci?window:void 0;function Ct(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Oe):[t,n,r,s]=e,!t)return Bt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,m,v)=>(f.addEventListener(h,m,v),()=>f.removeEventListener(h,m,v)),c=Ne(()=>[di(t),Fe(s)],([f,h])=>{if(i(),!f)return;const m=la(h)?{...h}:h;o.push(...n.flatMap(v=>r.map(C=>l(f,v,C,m))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return kr(a),a}function pa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function xu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=pa(t);return Ct(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function ga(){const e=re(!1),t=jn();return t&&xt(()=>{e.value=!0},t),e}function ma(e){const t=ga();return ne(()=>(t.value,!!e()))}function hi(e,t={}){const{window:n=Oe}=t,r=ma(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=re(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Hr(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return kr(()=>{c(),l(),s=void 0}),o}const ln=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn="__vueuse_ssr_handlers__",ya=_a();function _a(){return cn in ln||(ln[cn]=ln[cn]||{}),ln[cn]}function pi(e,t){return ya[e]||t}function va(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ba={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ds="vueuse-storage";function Wr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Oe,eventFilter:m,onError:v=w=>{console.error(w)},initOnMounted:C}=r,I=(f?Fr:re)(typeof t=="function"?t():t);if(!n)try{n=pi("getDefaultStorage",()=>{var w;return(w=Oe)==null?void 0:w.localStorage})()}catch(w){v(w)}if(!n)return I;const $=Fe(t),q=va($),D=(s=r.serializer)!=null?s:ba[q],{pause:p,resume:y}=ha(I,()=>O(I.value),{flush:o,deep:i,eventFilter:m});h&&l&&Kr(()=>{Ct(h,"storage",T),Ct(h,Ds,F),C&&T()}),C||T();function M(w,j){h&&h.dispatchEvent(new CustomEvent(Ds,{detail:{key:e,oldValue:w,newValue:j,storageArea:n}}))}function O(w){try{const j=n.getItem(e);if(w==null)M(j,null),n.removeItem(e);else{const A=D.write(w);j!==A&&(n.setItem(e,A),M(j,A))}}catch(j){v(j)}}function N(w){const j=w?w.newValue:n.getItem(e);if(j==null)return c&&$!=null&&n.setItem(e,D.write($)),$;if(!w&&a){const A=D.read(j);return typeof a=="function"?a(A,$):q==="object"&&!Array.isArray(A)?{...$,...A}:A}else return typeof j!="string"?j:D.read(j)}function T(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){I.value=$;return}if(!(w&&w.key!==e)){p();try{(w==null?void 0:w.newValue)!==D.write(I.value)&&(I.value=N(w))}catch(j){v(j)}finally{w?In(y):y()}}}}function F(w){T(w.detail)}return I}function gi(e){return hi("(prefers-color-scheme: dark)",e)}function wa(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Oe,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=gi({window:s}),v=ne(()=>m.value?"dark":"light"),C=c||(i==null?ui(r):Wr(i,r,o,{window:s,listenToStorageChanges:l})),I=ne(()=>C.value==="auto"?v.value:C.value),$=pi("updateHTMLAttrs",(y,M,O)=>{const N=typeof y=="string"?s==null?void 0:s.document.querySelector(y):di(y);if(!N)return;let T;if(f&&(T=s.document.createElement("style"),T.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(T)),M==="class"){const F=O.split(/\s/g);Object.values(h).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{F.includes(w)?N.classList.add(w):N.classList.remove(w)})}else N.setAttribute(M,O);f&&(s.getComputedStyle(T).opacity,document.head.removeChild(T))});function q(y){var M;$(t,n,(M=h[y])!=null?M:y)}function D(y){e.onChanged?e.onChanged(y,q):q(y)}Ne(I,D,{flush:"post",immediate:!0}),Kr(()=>D(I.value));const p=ne({get(){return a?C.value:I.value},set(y){C.value=y}});try{return Object.assign(p,{store:C,system:v,state:I})}catch{return p}}function Ea(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Oe}=e,s=wa({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=ne(()=>s.system?s.system.value:gi({window:r}).value?"dark":"light");return ne({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function Zn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Su(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.localStorage,n)}function mi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const an=new WeakMap;function Tu(e,t=!1){const n=re(t);let r=null;Ne(ui(e),i=>{const l=Zn(Fe(i));if(l){const c=l;an.get(c)||an.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const s=()=>{const i=Zn(Fe(e));!i||n.value||(Vs&&(r=Ct(i,"touchmove",l=>{Ca(l)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},o=()=>{var i;const l=Zn(Fe(e));!l||!n.value||(Vs&&(r==null||r()),l.style.overflow=(i=an.get(l))!=null?i:"",an.delete(l),n.value=!1)};return kr(o),ne({get(){return n.value},set(i){i?s():o()}})}function Au(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.sessionStorage,n)}function Ru(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:re(0),y:re(0)};const r=re(t.scrollX),s=re(t.scrollY),o=ne({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=ne({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Ou(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=re(n),l=re(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Kr(c),Ct("resize",c,{passive:!0}),s){const a=hi("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var er={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},tr={};const yi=/^(?:[a-z]+:|\/\/)/i,xa="vitepress-theme-appearance",Sa=/#.*$/,Ta=/[?#].*$/,Aa=/(?:(^|\/)index)?\.(?:md|html)$/,ge=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ra(e,t,n=!1){if(t===void 0)return!1;if(e=Us(`/${e}`),n)return new RegExp(t).test(e);if(Us(t)!==e)return!1;const r=t.match(Sa);return r?(ge?location.hash:"")===r[0]:!0}function Us(e){return decodeURI(e).replace(Ta,"").replace(Aa,"$1")}function Oa(e){return yi.test(e)}function La(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!Oa(f)&&Ra(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function vi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ia(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ia(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Ma(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function bi(e,t){return[...e.filter(n=>!Ma(t,n)),...t]}const Pa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Na=/^[a-z]:/i;function Bs(e){const t=Na.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Pa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const nr=new Set;function Fa(e){if(nr.size===0){const n=typeof process=="object"&&(tr==null?void 0:tr.VITE_EXTRA_EXTENSIONS)||(er==null?void 0:er.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>nr.add(r))}const t=e.split(".").pop();return t==null||!nr.has(t.toLowerCase())}function Lu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const $a=Symbol(),ut=Fr(oa);function Iu(e){const t=ne(()=>La(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?re(!0):n?Ea({storageKey:xa,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):re(!1),s=re(ge?location.hash:"");return ge&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=ge?location.hash:""}),{site:t,theme:ne(()=>t.value.themeConfig),page:ne(()=>e.data),frontmatter:ne(()=>e.data.frontmatter),params:ne(()=>e.data.params),lang:ne(()=>t.value.lang),dir:ne(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ne(()=>t.value.localeIndex||"root"),title:ne(()=>vi(t.value,e.data)),description:ne(()=>e.data.description||t.value.description),isDark:r,hash:ne(()=>s.value)}}function Ha(){const e=wt($a);if(!e)throw new Error("vitepress data not properly injected in app");return e}function ja(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function ks(e){return yi.test(e)||!e.startsWith("/")?e:ja(ut.value.base,e)}function Va(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ge){const n="/";t=Bs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${Bs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let mn=[];function Mu(e){mn.push(e),Hn(()=>{mn=mn.filter(t=>t!==e)})}function Da(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ks(e,n);else if(Array.isArray(e))for(const r of e){const s=Ks(r,n);if(s){t=s;break}}return t}function Ks(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ua=Symbol(),wi="http://a.com",Ba=()=>({path:"/",component:null,data:_i});function Pu(e,t){const n=On(Ba()),r={route:n,go:s};async function s(l=ge?location.href:"/"){var c,a;l=rr(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(ge&&l!==rr(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var m;if(await((m=r.onBeforePageLoad)==null?void 0:m.call(r,l))===!1)return;const f=new URL(l,wi),h=o=f.pathname;try{let v=await e(h);if(!v)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:C,__pageData:I}=v;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=ge?h:ks(h),n.component=hn(C),n.data=hn(I),ge&&In(()=>{let $=ut.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!$.endsWith("/")&&($+=".html"),$!==f.pathname&&(f.pathname=$,l=$+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let q=null;try{q=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(D){console.warn(D)}if(q){Ws(q,f.hash);return}}window.scrollTo(0,c)})}}catch(v){if(!/fetch|Page not found/.test(v.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(v),!a)try{const C=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=ge?h:ks(h),n.component=t?hn(t):null,n.data=_i)}}return ge&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:m,pathname:v,hash:C,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),$=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&m===$.origin&&Fa(v)&&(l.preventDefault(),v===$.pathname&&I===$.search?(C!==$.hash&&(history.pushState({},"",h),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:$.href,newURL:h}))),C?Ws(a,C,a.classList.contains("header-anchor")):window.scrollTo(0,0)):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(rr(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function ka(){const e=wt(Ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ei(){return ka().route}function Ws(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Da()+o;requestAnimationFrame(s)}}function rr(e){const t=new URL(e,wi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const sr=()=>mn.forEach(e=>e()),Nu=jr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ei(),{site:n}=Ha();return()=>br(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?br(t.component,{onVnodeMounted:sr,onVnodeUpdated:sr,onVnodeUnmounted:sr}):"404 Page Not Found"])}}),Ka="modulepreload",Wa=function(e){return"/"+e},qs={},Fu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(l=>{if(l=Wa(l),l in qs)return;qs[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":Ka,c||(f.as="script",f.crossOrigin=""),f.href=l,i&&f.setAttribute("nonce",i),document.head.appendChild(f),c)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},$u=jr({setup(e,{slots:t}){const n=re(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Hu(){ge&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function ju(){if(ge){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),qa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function qa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Vu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=or(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(or);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Hr(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=vi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):or(["meta",{name:"description",content:f}]),s(bi(i.head,za(c)))})}function or([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function Ga(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function za(e){return e.filter(t=>!Ga(t))}const ir=new Set,Ci=()=>document.createElement("link"),Xa=e=>{const t=Ci();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ya=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let un;const Ja=ge&&(un=Ci())&&un.relList&&un.relList.supports&&un.relList.supports("prefetch")?Xa:Ya;function Du(){if(!ge||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ir.has(c)){ir.add(c);const a=Va(c);a&&Ja(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ir.add(l))})})};xt(r);const s=Ei();Ne(()=>s.path,r),Hn(()=>{n&&n.disconnect()})}export{mu as $,ru as A,Dl as B,Da as C,tu as D,iu as E,ye as F,Fr as G,Mu as H,oe as I,nu as J,yi as K,Ei as L,_c as M,wt as N,Ou as O,Sr as P,xu as Q,In as R,Ru as S,ri as T,ge as U,Ln as V,ou as W,Fu as X,Tu as Y,ec as Z,bu as _,Zo as a,cu as a0,gu as a1,au as a2,br as a3,du as a4,vu as a5,wu as a6,Vu as a7,Ua as a8,Iu as a9,$a as aa,Nu as ab,$u as ac,ut as ad,_u as ae,Pu as af,Va as ag,Du as ah,ju as ai,Hu as aj,di as ak,kr as al,Cu as am,Au as an,Su as ao,Eu as ap,ka as aq,Ct as ar,Mo as as,su as at,pu as au,de as av,uu as aw,hn as ax,yu as ay,Lu as az,Yo as b,fu as c,jr as d,hu as e,Fa as f,ks as g,ne as h,Oa as i,re as j,xt as k,Qo as l,yo as m,Tr as n,zo as o,Za as p,eu as q,lu as r,Ra as s,Qa as t,Ha as u,hi as v,Cl as w,Ne as x,Hr as y,Hn as z}; diff --git a/assets/chunks/theme.DtXQLQW7.js b/assets/chunks/theme.DtXQLQW7.js deleted file mode 100644 index fab6fe1..0000000 --- a/assets/chunks/theme.DtXQLQW7.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as _,o as a,c,r as l,n as N,a as D,t as S,b,w as d,T as ve,e as f,_ as k,u as je,i as ze,f as Ke,g as pe,h as T,j as W,k as g,l as j,m as v,p as r,q as B,s as H,v as G,x as ie,y as z,z as x,A as he,B as Le,C as Re,D as qe,E as K,F as M,G as E,H as Ve,I as ee,J as m,K as q,L as Se,M as te,N as Q,O as oe,P as We,Q as we,R as Je,S as le,U as Ye,V as Te,W as Qe,X as Xe,Y as Ze,Z as Ie,$ as Ne,a0 as xe,a1 as et,a2 as tt,a3 as ot,a4 as st}from"./framework.BjaKWcf5.js";const nt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[D(S(e.text),1)])],2))}}),at={key:0,class:"VPBackdrop"},rt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),b(ve,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",at)):f("",!0)]),_:1}))}}),it=k(rt,[["__scopeId","data-v-8169aaa8"]]),L=je;function lt(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function fe(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(ze(o)||o.startsWith("#")||!s.startsWith("http")||!Ke(e))return o;const{site:i}=L(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return pe(u)}const _e=T(W?location.hash:"");W&&window.addEventListener("hashchange",()=>{_e.value=location.hash});function J({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:i}=L(),u=g(()=>{var p,$;return{label:(p=t.value.locales[n.value])==null?void 0:p.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:g(()=>Object.entries(t.value.locales).flatMap(([p,$])=>o&&u.value.label===$.label?[]:{text:$.label,link:ct($.link||(p==="root"?"/":`/${p}/`),i.value.i18nRouting!==!1&&e,s.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+_e.value})),currentLang:u}}function ct(o,e,t,n){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const ut=o=>(B("data-v-691c81f7"),o=o(),H(),o),dt={class:"NotFound"},vt={class:"code"},pt={class:"title"},ht=ut(()=>v("div",{class:"divider"},null,-1)),ft={class:"quote"},_t={class:"action"},mt=["href","aria-label"],kt=_({__name:"NotFound",setup(o){const{site:e,theme:t}=L(),{localeLinks:n}=J({removeCurrent:!1}),s=T("/");return j(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((u=n.value.find(({link:h})=>h.startsWith(i)))==null?void 0:u.link)||n.value[0].link)}),(i,u)=>{var h,p,$,P,y;return a(),c("div",dt,[v("p",vt,S(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),v("h1",pt,S(((p=r(t).notFound)==null?void 0:p.title)??"PAGE NOT FOUND"),1),ht,v("blockquote",ft,S((($=r(t).notFound)==null?void 0:$.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",_t,[v("a",{class:"link",href:r(pe)(s.value),"aria-label":((P=r(t).notFound)==null?void 0:P.linkLabel)??"go to home"},S(((y=r(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,mt)])])}}}),$t=k(kt,[["__scopeId","data-v-691c81f7"]]);function Me(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((s,i)=>i.split("/").length-s.split("/").length).find(s=>e.startsWith(ce(s))),n=t?o[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function bt(o){const e=[];let t=0;for(const n in o){const s=o[n];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function gt(o){const e=[];function t(n){for(const s of n)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):G(o,e.link)?!0:e.items?ue(o,e.items):!1}function X(o,e){return[...o].map(t=>{const n={...t},s=n.base||e;return s&&n.link&&(n.link=s+n.link),n.items&&(n.items=X(n.items,s)),n})}function O(){const{frontmatter:o,page:e,theme:t}=L(),n=ie("(min-width: 960px)"),s=T(!1),i=g(()=>{const C=t.value.sidebar,I=e.value.relativePath;return C?Me(C,I):[]}),u=T(i.value);z(i,(C,I)=>{JSON.stringify(C)!==JSON.stringify(I)&&(u.value=i.value)});const h=g(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=g(()=>$?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),$=g(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),P=g(()=>h.value&&n.value),y=g(()=>h.value?bt(u.value):[]);function V(){s.value=!0}function w(){s.value=!1}function A(){s.value?w():V()}return{isOpen:s,sidebar:u,sidebarGroups:y,hasSidebar:h,hasAside:$,leftAside:p,isSidebarEnabled:P,open:V,close:w,toggle:A}}function yt(o,e){let t;x(()=>{t=o.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",n)}),he(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function Pt(o){const{page:e}=L(),t=T(!1),n=g(()=>o.value.collapsed!=null),s=g(()=>!!o.value.link),i=T(!1),u=()=>{i.value=G(e.value.relativePath,o.value.link)};z([e,o,_e],u),j(u);const h=g(()=>i.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),p=g(()=>!!(o.value.items&&o.value.items.length));x(()=>{t.value=!!(n.value&&o.value.collapsed)}),Le(()=>{(i.value||h.value)&&(t.value=!1)});function $(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:s,isActiveLink:i,hasActiveLink:h,hasChildren:p,toggle:$}}function Lt(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:g(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ae(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function me(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:Vt(t),link:"#"+t.id,level:n}});return St(e,o)}function Vt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function St(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=n&&u.level<=s),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const $=o[p];if($.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),Re(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,$=document.body.offsetHeight,P=Math.abs(h+p-$)<1,y=de.map(({element:w,link:A})=>({link:A,top:Tt(w)})).filter(({top:w})=>!Number.isNaN(w)).sort((w,A)=>w.top-A.top);if(!y.length){u(null);return}if(h<1){u(null);return}if(P){u(y[y.length-1].link);return}let V=null;for(const{link:w,top:A}of y){if(A>h+qe()+4)break;V=w}u(V)}function u(h){s&&s.classList.remove("active"),h==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=s;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Tt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const It=["href","title"],Nt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(n));s==null||s.focus({preventScroll:!0})}return(t,n)=>{const s=K("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},S(h),9,It),i!=null&&i.length?(a(),b(s,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ce=k(Nt,[["__scopeId","data-v-c98c4919"]]),Mt=o=>(B("data-v-e6bb35c5"),o=o(),H(),o),At={class:"content"},Ct={class:"outline-title",role:"heading","aria-level":"2"},Bt={"aria-labelledby":"doc-outline-aria-label"},Ht=Mt(()=>v("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Et=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),n=Ve([]);ee(()=>{n.value=me(e.value.outline??t.value.outline)});const s=T(),i=T();return wt(s,i),(u,h)=>(a(),c("div",{class:N(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:s,role:"navigation"},[v("div",At,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",Ct,S(r(Ae)(r(t))),1),v("nav",Bt,[Ht,m(Ce,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Dt=k(Et,[["__scopeId","data-v-e6bb35c5"]]),Ft={class:"VPDocAsideCarbonAds"},Ot=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(a(),c("div",Ft,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ut=o=>(B("data-v-3e8aba0e"),o=o(),H(),o),Gt={class:"VPDocAside"},jt=Ut(()=>v("div",{class:"spacer"},null,-1)),zt=_({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,n)=>(a(),c("div",Gt,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Dt),l(t.$slots,"aside-outline-after",{},void 0,!0),jt,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),b(Ot,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Kt=k(zt,[["__scopeId","data-v-3e8aba0e"]]);function Rt(){const{theme:o,page:e}=L();return g(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let s;return typeof n=="function"?s=n(e.value):s=n.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function qt(){const{page:o,theme:e,frontmatter:t}=L();return g(()=>{var p,$,P,y,V,w,A,C;const n=Me(e.value.sidebar,o.value.relativePath),s=gt(n),i=s.findIndex(I=>G(o.value.relativePath,I.link)),u=((p=e.value.docFooter)==null?void 0:p.prev)===!1&&!t.value.prev||t.value.prev===!1,h=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:u?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((P=s[i-1])==null?void 0:P.docFooterText)??((y=s[i-1])==null?void 0:y.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((V=s[i-1])==null?void 0:V.link)},next:h?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((w=s[i+1])==null?void 0:w.docFooterText)??((A=s[i+1])==null?void 0:A.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=s[i+1])==null?void 0:C.link)}}})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.tag??(e.href?"a":"span")),n=g(()=>e.href&&Se.test(e.href));return(s,i)=>(a(),b(q(t.value),{class:N(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?r(fe)(s.href):void 0,target:s.target??(n.value?"_blank":void 0),rel:s.rel??(n.value?"noreferrer":void 0)},{default:d(()=>[l(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Wt={class:"VPLastUpdated"},Jt=["datetime"],Yt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:n,lang:s}=L(),i=g(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=g(()=>i.value.toISOString()),h=T("");return j(()=>{x(()=>{var p,$,P;h.value=new Intl.DateTimeFormat(($=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&$.forceLocale?s.value:void 0,((P=e.value.lastUpdated)==null?void 0:P.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(p,$)=>{var P;return a(),c("p",Wt,[D(S(((P=r(e).lastUpdated)==null?void 0:P.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:u.value},S(h.value),9,Jt)])}}}),Qt=k(Yt,[["__scopeId","data-v-06bc3f84"]]),Xt=o=>(B("data-v-303e5403"),o=o(),H(),o),Zt={key:0,class:"VPDocFooter"},xt={key:0,class:"edit-info"},eo={key:0,class:"edit-link"},to=Xt(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),oo={key:1,class:"last-updated"},so={key:1,class:"prev-next"},no={class:"pager"},ao=["innerHTML"],ro=["innerHTML"],io={class:"pager"},lo=["innerHTML"],co=["innerHTML"],uo=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=L(),s=Rt(),i=qt(),u=g(()=>e.value.editLink&&n.value.editLink!==!1),h=g(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),p=g(()=>u.value||h.value||i.value.prev||i.value.next);return($,P)=>{var y,V,w,A;return p.value?(a(),c("footer",Zt,[l($.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",xt,[u.value?(a(),c("div",eo,[m(F,{class:"edit-link-button",href:r(s).url,"no-icon":!0},{default:d(()=>[to,D(" "+S(r(s).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",oo,[m(Qt)])):f("",!0)])):f("",!0),(y=r(i).prev)!=null&&y.link||(V=r(i).next)!=null&&V.link?(a(),c("nav",so,[v("div",no,[(w=r(i).prev)!=null&&w.link?(a(),b(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,ao),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,ro)]}),_:1},8,["href"])):f("",!0)]),v("div",io,[(A=r(i).next)!=null&&A.link?(a(),b(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,lo),v("span",{class:"title",innerHTML:r(i).next.text},null,8,co)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),vo=k(uo,[["__scopeId","data-v-303e5403"]]),po=o=>(B("data-v-532ee90d"),o=o(),H(),o),ho={class:"container"},fo=po(()=>v("div",{class:"aside-curtain"},null,-1)),_o={class:"aside-container"},mo={class:"aside-content"},ko={class:"content"},$o={class:"content-container"},bo={class:"main"},go=_({__name:"VPDoc",setup(o){const{theme:e}=L(),t=te(),{hasSidebar:n,hasAside:s,leftAside:i}=O(),u=g(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const $=K("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(n),"has-aside":r(s)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",ho,[r(s)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[fo,v("div",_o,[v("div",mo,[m(Kt,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",ko,[v("div",$o,[l(h.$slots,"doc-before",{},void 0,!0),v("main",bo,[m($,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(vo,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),yo=k(go,[["__scopeId","data-v-532ee90d"]]),Po=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.href&&Se.test(e.href)),n=g(()=>e.tag||e.href?"a":"button");return(s,i)=>(a(),b(q(n.value),{class:N(["VPButton",[s.size,s.theme]]),href:s.href?r(fe)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[D(S(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),Lo=k(Po,[["__scopeId","data-v-7ad72123"]]),Vo=["src","alt"],So=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Vo)):(a(),c(M,{key:1},[m(n,Q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(n,Q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Z=k(So,[["__scopeId","data-v-3c8ddd5c"]]),wo=o=>(B("data-v-a7eb9db3"),o=o(),H(),o),To={class:"container"},Io={class:"main"},No={key:0,class:"name"},Mo=["innerHTML"],Ao=["innerHTML"],Co=["innerHTML"],Bo={key:0,class:"actions"},Ho={key:0,class:"image"},Eo={class:"image-container"},Do=wo(()=>v("div",{class:"image-bg"},null,-1)),Fo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=oe("hero-image-slot-exists");return(t,n)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[v("div",To,[v("div",Io,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",No,[v("span",{innerHTML:t.name,class:"clip"},null,8,Mo)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,Ao)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Co)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Bo,[(a(!0),c(M,null,E(t.actions,s=>(a(),c("div",{key:s.link,class:"action"},[m(Lo,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",Ho,[v("div",Eo,[Do,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Oo=k(Fo,[["__scopeId","data-v-a7eb9db3"]]),Uo=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,n)=>r(e).hero?(a(),b(Oo,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Go=o=>(B("data-v-e81cbb22"),o=o(),H(),o),jo={class:"box"},zo={key:0,class:"icon"},Ko=["innerHTML"],Ro=["innerHTML"],qo=["innerHTML"],Wo={key:4,class:"link-text"},Jo={class:"link-text-value"},Yo=Go(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Qo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),b(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",jo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",zo,[m(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),b(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Ko)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Ro),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,qo)):f("",!0),e.linkText?(a(),c("div",Wo,[v("p",Jo,[D(S(e.linkText)+" ",1),Yo])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Xo=k(Qo,[["__scopeId","data-v-e81cbb22"]]),Zo={key:0,class:"VPFeatures"},xo={class:"container"},es={class:"items"},ts=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=g(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,s)=>n.features?(a(),c("div",Zo,[v("div",xo,[v("div",es,[(a(!0),c(M,null,E(n.features,i=>(a(),c("div",{key:i.title,class:N(["item",[t.value]])},[m(Xo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),os=k(ts,[["__scopeId","data-v-793554e1"]]),ss=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,n)=>r(e).features?(a(),b(os,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),ns=_({__name:"VPHomeContent",setup(o){const{width:e}=We({includeScrollbar:!1});return(t,n)=>(a(),c("div",{class:"vp-doc container",style:we(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),as=k(ns,[["__scopeId","data-v-db194ff4"]]),rs={class:"VPHome"},is=_({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,n)=>{const s=K("Content");return a(),c("div",rs,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Uo,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(ss),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),b(as,{key:0},{default:d(()=>[m(s)]),_:1})):(a(),b(s,{key:1}))])}}}),ls=k(is,[["__scopeId","data-v-e3a3ce57"]]),cs={},us={class:"VPPage"};function ds(o,e){const t=K("Content");return a(),c("div",us,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const vs=k(cs,[["render",ds]]),ps=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:n}=O();return(s,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(s.$slots,"not-found",{key:0},()=>[m($t)],!0):r(t).layout==="page"?(a(),b(vs,{key:1},{"page-top":d(()=>[l(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),b(ls,{key:2},{"home-hero-before":d(()=>[l(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),b(q(r(t).layout),{key:3})):(a(),b(yo,{key:4},{"doc-top":d(()=>[l(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),hs=k(ps,[["__scopeId","data-v-97a14150"]]),fs={class:"container"},_s=["innerHTML"],ms=["innerHTML"],ks=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=O();return(s,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(n)}])},[v("div",fs,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,_s)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,ms)):f("",!0)])],2)):f("",!0)}}),$s=k(ks,[["__scopeId","data-v-8177390d"]]);function Be(){const{theme:o,frontmatter:e}=L(),t=Ve([]),n=g(()=>t.value.length>0);return ee(()=>{t.value=me(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const bs=o=>(B("data-v-0e80814c"),o=o(),H(),o),gs=bs(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),ys={class:"header"},Ps={class:"outline"},Ls=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),n=T(!1),s=T(0),i=T(),u=T();Je(i,()=>{n.value=!1}),le("Escape",()=>{n.value=!1}),ee(()=>{n.value=!1});function h(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(P){P.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),Ye(()=>{n.value=!1}))}function $(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(P,y)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:we({"--vp-vh":s.value+"px"}),ref_key:"main",ref:i},[P.headers.length>0?(a(),c("button",{key:0,onClick:h,class:N({open:n.value})},[D(S(r(Ae)(r(t)))+" ",1),gs],2)):(a(),c("button",{key:1,onClick:$},S(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:d(()=>[n.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:p},[v("div",ys,[v("a",{class:"top-link",href:"#",onClick:$},S(r(t).returnToTopLabel||"Return to top"),1)]),v("div",Ps,[m(Ce,{headers:P.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Vs=k(Ls,[["__scopeId","data-v-0e80814c"]]),Ss=o=>(B("data-v-71c9795f"),o=o(),H(),o),ws={class:"container"},Ts=["aria-expanded"],Is=Ss(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ns={class:"menu-text"},Ms=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=O(),{headers:s}=Be(),{y:i}=Te(),u=T(0);j(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{s.value=me(t.value.outline??e.value.outline)});const h=g(()=>s.value.length===0),p=g(()=>h.value&&!n.value),$=g(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:p.value}));return(P,y)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N($.value)},[v("div",ws,[r(n)?(a(),c("button",{key:0,class:"menu","aria-expanded":P.open,"aria-controls":"VPSidebarNav",onClick:y[0]||(y[0]=V=>P.$emit("open-menu"))},[Is,v("span",Ns,S(r(e).sidebarMenuLabel||"Menu"),1)],8,Ts)):f("",!0),m(Vs,{headers:r(s),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),As=k(Ms,[["__scopeId","data-v-71c9795f"]]);function Cs(){const o=T(!1);function e(){o.value=!0,window.addEventListener("resize",s)}function t(){o.value=!1,window.removeEventListener("resize",s)}function n(){o.value?t():e()}function s(){window.outerWidth>=768&&t()}const i=te();return z(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const Bs={},Hs={class:"VPSwitch",type:"button",role:"switch"},Es={class:"check"},Ds={key:0,class:"icon"};function Fs(o,e){return a(),c("button",Hs,[v("span",Es,[o.$slots.default?(a(),c("span",Ds,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Os=k(Bs,[["render",Fs],["__scopeId","data-v-01a73279"]]),He=o=>(B("data-v-73aa4517"),o=o(),H(),o),Us=He(()=>v("span",{class:"vpi-sun sun"},null,-1)),Gs=He(()=>v("span",{class:"vpi-moon moon"},null,-1)),js=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),n=oe("toggle-appearance",()=>{e.value=!e.value}),s=g(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),b(Os,{title:s.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:d(()=>[Us,Gs]),_:1},8,["title","aria-checked","onClick"]))}}),ke=k(js,[["__scopeId","data-v-73aa4517"]]),zs={key:0,class:"VPNavBarAppearance"},Ks=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",zs,[m(ke)])):f("",!0)}}),Rs=k(Ks,[["__scopeId","data-v-3e006368"]]),$e=T();let Ee=!1,re=0;function qs(o){const e=T(!1);if(W){!Ee&&Ws(),re++;const t=z($e,n=>{var s,i,u;n===o.el.value||(s=o.el.value)!=null&&s.contains(n)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});he(()=>{t(),re--,re||Js()})}return Qe(e)}function Ws(){document.addEventListener("focusin",De),Ee=!0,$e.value=document.activeElement}function Js(){document.removeEventListener("focusin",De)}function De(){$e.value=document.activeElement}const Ys={class:"VPMenuLink"},Qs=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),c("div",Ys,[m(F,{class:N({active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[D(S(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=k(Qs,[["__scopeId","data-v-ee903820"]]),Xs={class:"VPMenuGroup"},Zs={key:0,class:"title"},xs=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Xs,[e.text?(a(),c("p",Zs,S(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,n=>(a(),c(M,null,["link"in n?(a(),b(se,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),en=k(xs,[["__scopeId","data-v-40f63299"]]),tn={class:"VPMenu"},on={key:0,class:"items"},sn=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",tn,[e.items?(a(),c("div",on,[(a(!0),c(M,null,E(e.items,n=>(a(),c(M,{key:n.text},["link"in n?(a(),b(se,{key:0,item:n},null,8,["item"])):(a(),b(en,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),nn=k(sn,[["__scopeId","data-v-ffbcfee8"]]),an=o=>(B("data-v-0b4f1ce4"),o=o(),H(),o),rn=["aria-expanded","aria-label"],ln={key:0,class:"text"},cn=["innerHTML"],un=an(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),dn={key:1,class:"vpi-more-horizontal icon"},vn={class:"menu"},pn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=T(!1),t=T();qs({el:t,onBlur:n});function n(){e.value=!1}return(s,i)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[s.button||s.icon?(a(),c("span",ln,[s.icon?(a(),c("span",{key:0,class:N([s.icon,"option-icon"])},null,2)):f("",!0),s.button?(a(),c("span",{key:1,innerHTML:s.button},null,8,cn)):f("",!0),un])):(a(),c("span",dn))],8,rn),v("div",vn,[m(nn,{items:s.items},{default:d(()=>[l(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=k(pn,[["__scopeId","data-v-0b4f1ce4"]]),hn=["href","aria-label","innerHTML"],fn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=g(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,s)=>(a(),c("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,hn))}}),_n=k(fn,[["__scopeId","data-v-16775064"]]),mn={class:"VPSocialLinks"},kn=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",mn,[(a(!0),c(M,null,E(e.links,({link:n,icon:s,ariaLabel:i})=>(a(),b(_n,{key:n,icon:s,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=k(kn,[["__scopeId","data-v-2df58448"]]),$n={key:0,class:"group translations"},bn={class:"trans-title"},gn={key:1,class:"group"},yn={class:"item appearance"},Pn={class:"label"},Ln={class:"appearance-action"},Vn={key:2,class:"group"},Sn={class:"item social-links"},wn=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:n,currentLang:s}=J({correspondingLink:!0}),i=g(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),b(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[r(n).length&&r(s).label?(a(),c("div",$n,[v("p",bn,S(r(s).label),1),(a(!0),c(M,null,E(r(n),p=>(a(),b(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",gn,[v("div",yn,[v("p",Pn,S(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",Ln,[m(ke)])])])):f("",!0),r(t).socialLinks?(a(),c("div",Vn,[v("div",Sn,[m(ge,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Tn=k(wn,[["__scopeId","data-v-c2ef99ff"]]),In=o=>(B("data-v-083282e1"),o=o(),H(),o),Nn=["aria-expanded"],Mn=In(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),An=[Mn],Cn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},An,10,Nn))}}),Bn=k(Cn,[["__scopeId","data-v-083282e1"]]),Hn=["innerHTML"],En=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),b(F,{class:N({VPNavBarMenuLink:!0,active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,Hn)]),_:1},8,["class","href","target","rel"]))}}),Dn=k(En,[["__scopeId","data-v-145010f5"]]),Fn=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),n=i=>"link"in i?G(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),s=g(()=>n(e.item));return(i,u)=>(a(),b(be,{class:N({VPNavBarMenuGroup:!0,active:r(G)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||s.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),On=o=>(B("data-v-e668ad5e"),o=o(),H(),o),Un={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Gn=On(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),jn=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,n)=>r(e).nav?(a(),c("nav",Un,[Gn,(a(!0),c(M,null,E(r(e).nav,s=>(a(),c(M,{key:s.text},["link"in s?(a(),b(Dn,{key:0,item:s},null,8,["item"])):(a(),b(Fn,{key:1,item:s},null,8,["item"]))],64))),128))])):f("",!0)}}),zn=k(jn,[["__scopeId","data-v-e668ad5e"]]);function Kn(o){const{localeIndex:e,theme:t}=L();function n(s){var A,C,I;const i=s.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((I=(C=u.locales)==null?void 0:C[e.value])==null?void 0:I.translations)||null,$=h&&u.translations||null;let P=p,y=$,V=o;const w=i.pop();for(const Y of i){let U=null;const R=V==null?void 0:V[Y];R&&(U=V=R);const ne=y==null?void 0:y[Y];ne&&(U=y=ne);const ae=P==null?void 0:P[Y];ae&&(U=P=ae),R||(V=U),ne||(y=U),ae||(P=U)}return(P==null?void 0:P[w])??(y==null?void 0:y[w])??(V==null?void 0:V[w])??""}return n}const Rn=["aria-label"],qn={class:"DocSearch-Button-Container"},Wn=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Jn={class:"DocSearch-Button-Placeholder"},Yn=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=_({__name:"VPNavBarSearchButton",setup(o){const t=Kn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",qn,[Wn,v("span",Jn,S(r(t)("button.buttonText")),1)]),Yn],8,Rn))}}),Qn={class:"VPNavBarSearch"},Xn={id:"local-search"},Zn={key:1,id:"docsearch"},xn=_({__name:"VPNavBarSearch",setup(o){const e=Xe(()=>Ze(()=>import("./VPLocalSearchBox.C9Vw0EQp.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=L(),s=T(!1),i=T(!1);j(()=>{});function u(){s.value||(s.value=!0,setTimeout(h,16))}function h(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p(y){const V=y.target,w=V.tagName;return V.isContentEditable||w==="INPUT"||w==="SELECT"||w==="TEXTAREA"}const $=T(!1);le("k",y=>{(y.ctrlKey||y.metaKey)&&(y.preventDefault(),$.value=!0)}),le("/",y=>{p(y)||(y.preventDefault(),$.value=!0)});const P="local";return(y,V)=>{var w;return a(),c("div",Qn,[r(P)==="local"?(a(),c(M,{key:0},[$.value?(a(),b(r(e),{key:0,onClose:V[0]||(V[0]=A=>$.value=!1)})):f("",!0),v("div",Xn,[m(ye,{onClick:V[1]||(V[1]=A=>$.value=!0)})])],64)):r(P)==="algolia"?(a(),c(M,{key:1},[s.value?(a(),b(r(t),{key:0,algolia:((w=r(n).search)==null?void 0:w.options)??r(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",Zn,[m(ye,{onClick:u})]))],64)):f("",!0)])}}}),ea=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>r(e).socialLinks?(a(),b(ge,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),ta=k(ea,[["__scopeId","data-v-faebd6c0"]]),oa=["href","rel","target"],sa={key:1},na={key:2},aa=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:n}=O(),{currentLang:s}=J(),i=g(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=g(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=g(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,$)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(n)}])},[v("a",{class:"title",href:i.value??r(fe)(r(s).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),b(Z,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",sa,S(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",na,S(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,oa)],2))}}),ra=k(aa,[["__scopeId","data-v-0aa328a5"]]),ia={class:"items"},la={class:"title"},ca=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:n}=J({correspondingLink:!0});return(s,i)=>r(t).length&&r(n).label?(a(),b(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",ia,[v("p",la,S(r(n).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),b(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ua=k(ca,[["__scopeId","data-v-4daa7ff0"]]),da=o=>(B("data-v-5117da3f"),o=o(),H(),o),va={class:"wrapper"},pa={class:"container"},ha={class:"title"},fa={class:"content"},_a={class:"content-body"},ma=da(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),ka=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Te(),{hasSidebar:t}=O(),{hasLocalNav:n}=Be(),{frontmatter:s}=L(),i=T({});return Le(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:s.value.layout==="home"&&e.value===0}}),(u,h)=>(a(),c("div",{class:N(["VPNavBar",i.value])},[v("div",va,[v("div",pa,[v("div",ha,[m(ra,null,{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",fa,[v("div",_a,[l(u.$slots,"nav-bar-content-before",{},void 0,!0),m(xn,{class:"search"}),m(zn,{class:"menu"}),m(ua,{class:"translations"}),m(Rs,{class:"appearance"}),m(ta,{class:"social-links"}),m(Tn,{class:"extra"}),l(u.$slots,"nav-bar-content-after",{},void 0,!0),m(Bn,{class:"hamburger",active:u.isScreenOpen,onClick:h[0]||(h[0]=p=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),ma],2))}}),$a=k(ka,[["__scopeId","data-v-5117da3f"]]),ba={key:0,class:"VPNavScreenAppearance"},ga={class:"text"},ya=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(n,s)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",ba,[v("p",ga,S(r(t).darkModeSwitchLabel||"Appearance"),1),m(ke)])):f("",!0)}}),Pa=k(ya,[["__scopeId","data-v-56e5c411"]]),La=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=oe("close-screen");return(t,n)=>(a(),b(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[D(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Va=k(La,[["__scopeId","data-v-4fb775eb"]]),Sa=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=oe("close-screen");return(t,n)=>(a(),b(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[D(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Fe=k(Sa,[["__scopeId","data-v-bfe75966"]]),wa={class:"VPNavScreenMenuGroupSection"},Ta={key:0,class:"title"},Ia=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",wa,[e.text?(a(),c("p",Ta,S(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,n=>(a(),b(Fe,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Na=k(Ia,[["__scopeId","data-v-22878b61"]]),Ma=o=>(B("data-v-d1c52add"),o=o(),H(),o),Aa=["aria-controls","aria-expanded"],Ca=["innerHTML"],Ba=Ma(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Ha=["id"],Ea={key:1,class:"group"},Da=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=T(!1),n=g(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[v("span",{class:"button-text",innerHTML:i.text},null,8,Ca),Ba],8,Aa),v("div",{id:n.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Fe,{item:h},null,8,["item"])])):(a(),c("div",Ea,[m(Na,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ha)],2))}}),Fa=k(Da,[["__scopeId","data-v-d1c52add"]]),Oa={key:0,class:"VPNavScreenMenu"},Ua=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,n)=>r(e).nav?(a(),c("nav",Oa,[(a(!0),c(M,null,E(r(e).nav,s=>(a(),c(M,{key:s.text},["link"in s?(a(),b(Va,{key:0,item:s},null,8,["item"])):(a(),b(Fa,{key:1,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ga=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>r(e).socialLinks?(a(),b(ge,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Oe=o=>(B("data-v-c5becc9d"),o=o(),H(),o),ja=Oe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),za=Oe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ka={class:"list"},Ra=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),n=T(!1);function s(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:n.value}])},[v("button",{class:"title",onClick:s},[ja,D(" "+S(r(t).label)+" ",1),za]),v("ul",Ka,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(F,{class:"link",href:h.link},{default:d(()=>[D(S(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),qa=k(Ra,[["__scopeId","data-v-c5becc9d"]]),Wa={class:"container"},Ja=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=T(null),t=Ie(W?document.body:null);return(n,s)=>(a(),b(ve,{name:"fade",onEnter:s[0]||(s[0]=i=>t.value=!0),onAfterLeave:s[1]||(s[1]=i=>t.value=!1)},{default:d(()=>[n.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",Wa,[l(n.$slots,"nav-screen-content-before",{},void 0,!0),m(Ua,{class:"menu"}),m(qa,{class:"translations"}),m(Pa,{class:"appearance"}),m(Ga,{class:"social-links"}),l(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ya=k(Ja,[["__scopeId","data-v-73ae24e7"]]),Qa={key:0,class:"VPNav"},Xa=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Cs(),{frontmatter:s}=L(),i=g(()=>s.value.navbar!==!1);return Ne("close-screen",t),x(()=>{W&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Qa,[m($a,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ya,{open:r(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Za=k(Xa,[["__scopeId","data-v-f2d5ab49"]]),Ue=o=>(B("data-v-27ae58b8"),o=o(),H(),o),xa=["role","tabindex"],er=Ue(()=>v("div",{class:"indicator"},null,-1)),tr=Ue(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),or=[tr],sr={key:1,class:"items"},nr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:s,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=Pt(g(()=>e.item)),$=g(()=>h.value?"section":"div"),P=g(()=>s.value?"a":"div"),y=g(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=g(()=>s.value?void 0:"button"),w=g(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":i.value},{"has-active":u.value}]);function A(I){"key"in I&&I.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(I,Y)=>{const U=K("VPSidebarItem",!0);return a(),b(q($.value),{class:N(["VPSidebarItem",w.value])},{default:d(()=>[I.item.text?(a(),c("div",Q({key:0,class:"item",role:V.value},et(I.item.items?{click:A,keydown:A}:{},!0),{tabindex:I.item.items&&0}),[er,I.item.link?(a(),b(F,{key:0,tag:P.value,class:"link",href:I.item.link,rel:I.item.rel,target:I.item.target},{default:d(()=>[(a(),b(q(y.value),{class:"text",innerHTML:I.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(q(y.value),{key:1,class:"text",innerHTML:I.item.text},null,8,["innerHTML"])),I.item.collapsed!=null?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:xe(C,["enter"]),tabindex:"0"},or,32)):f("",!0)],16,xa)):f("",!0),I.item.items&&I.item.items.length?(a(),c("div",sr,[I.depth<5?(a(!0),c(M,{key:0},E(I.item.items,R=>(a(),b(U,{key:R.text,item:R,depth:I.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),ar=k(nr,[["__scopeId","data-v-27ae58b8"]]),Ge=o=>(B("data-v-50a598ae"),o=o(),H(),o),rr=Ge(()=>v("div",{class:"curtain"},null,-1)),ir={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},lr=Ge(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),cr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),n=o,s=T(null),i=Ie(W?document.body:null);return z([n,s],()=>{var u;n.open?(i.value=!0,(u=s.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,h)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:s,onClick:h[0]||(h[0]=tt(()=>{},["stop"]))},[rr,v("nav",ir,[lr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(r(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(ar,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),ur=k(cr,[["__scopeId","data-v-50a598ae"]]),dr=_({__name:"VPSkipLink",setup(o){const e=te(),t=T();z(()=>e.path,()=>t.value.focus());function n({target:s}){const i=document.getElementById(decodeURIComponent(s.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(s,i)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),vr=k(dr,[["__scopeId","data-v-f8e4fa18"]]),pr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=O(),s=te();z(()=>s.path,n),yt(e,n);const{frontmatter:i}=L(),u=ot(),h=g(()=>!!u["home-hero-image"]);return Ne("hero-image-slot-exists",h),(p,$)=>{const P=K("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(vr),m(it,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),m(Za,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(As,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(ur,{open:r(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(hs,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m($s),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(P,{key:1}))}}}),hr=k(pr,[["__scopeId","data-v-730d874e"]]),Pe={Layout:hr,enhanceApp:({app:o})=>{o.component("Badge",nt)}},_r={extends:Pe,Layout:()=>st(Pe.Layout,null,{}),enhanceApp({app:o,router:e,siteData:t}){}};export{_r as R,Kn as c,L as u}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.C9Vw0EQp.js","assets/chunks/framework.BjaKWcf5.js"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/assets/chunks/theme.FgX2_T7W.js b/assets/chunks/theme.FgX2_T7W.js new file mode 100644 index 0000000..36665f2 --- /dev/null +++ b/assets/chunks/theme.FgX2_T7W.js @@ -0,0 +1,2 @@ +const __vite__fileDeps=["assets/chunks/VPLocalSearchBox.DePPYhkj.js","assets/chunks/framework.Sd_qASnv.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +import{d as _,o as a,c,r as l,n as N,a as F,t as I,b as $,w as d,e as f,T as ve,_ as b,u as Ge,i as je,f as ze,g as pe,h as g,j as w,k as q,l as v,m as i,p as B,q as H,s as z,v as ie,x as j,y as Z,z as he,A as Pe,B as qe,C as Ke,D as K,F as M,E,G as Le,H as x,I as m,J as W,K as Ve,L as ee,M as Y,N as te,O as Re,P as Se,Q as le,R as We,S as Te,U as oe,V as Je,W as Ye,X as Qe,Y as Ie,Z as we,$ as Xe,a0 as Ze,a1 as xe,a2 as et,a3 as tt}from"./framework.Sd_qASnv.js";const ot=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[F(I(e.text),1)])],2))}}),st={key:0,class:"VPBackdrop"},nt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),$(ve,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",st)):f("",!0)]),_:1}))}}),at=b(nt,[["__scopeId","data-v-d0f0b7bf"]]),L=Ge;function rt(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function fe(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(je(o)||o.startsWith("#")||!n.startsWith("http")||!ze(e))return o;const{site:r}=L(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${s}`);return pe(u)}function J({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:s,page:n,theme:r,hash:u}=L(),h=g(()=>{var y,P;return{index:s.value,label:(y=t.value.locales[s.value])==null?void 0:y.label,link:((P=t.value.locales[s.value])==null?void 0:P.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:g(()=>Object.entries(t.value.locales).flatMap(([y,P])=>o&&h.value.label===P.label?[]:{index:y,text:P.label,link:it(P.link||(y==="root"?"/":`/${y}/`),r.value.i18nRouting!==!1&&e,n.value.relativePath.slice(h.value.link.length-1),!t.value.cleanUrls)+u.value})),currentLang:h}}function it(o,e,t,s){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const lt=o=>(B("data-v-bd215ada"),o=o(),H(),o),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>v("div",{class:"divider"},null,-1)),pt={class:"quote"},ht={class:"action"},ft=["href","aria-label"],_t=_({__name:"NotFound",setup(o){const{site:e}=L(),{localeLinks:t}=J({removeCurrent:!1}),s=w({link:"/",index:"root"});q(()=>{const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");t.value.length&&(s.value=t.value.find(({link:u})=>u.startsWith(r))||t.value[0])});const n=g(()=>{var r,u,h,p;return{code:404,title:"PAGE NOT FOUND",quote:"But if you don't change your direction, and if you keep looking, you may end up where you are heading.",linkLabel:"go to home",linkText:"Take me home",...s.value.index==="root"?(r=e.value.themeConfig)==null?void 0:r.notFound:(p=(h=(u=e.value.locales)==null?void 0:u[s.value.index])==null?void 0:h.themeConfig)==null?void 0:p.notFound}});return(r,u)=>(a(),c("div",ct,[v("p",ut,I(n.value.code),1),v("h1",dt,I(n.value.title),1),vt,v("blockquote",pt,I(n.value.quote),1),v("div",ht,[v("a",{class:"link",href:i(pe)(s.value.link),"aria-label":n.value.linkLabel},I(n.value.linkText),9,ft)])]))}}),mt=b(_t,[["__scopeId","data-v-bd215ada"]]);function Ne(o,e){if(Array.isArray(o))return Q(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(ce(n))),s=t?o[t]:[];return Array.isArray(s)?Q(s):Q(s.items,s.base)}function kt(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function bt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):z(o,e.link)?!0:e.items?ue(o,e.items):!1}function Q(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=Q(s.items,n)),s})}function O(){const{frontmatter:o,page:e,theme:t}=L(),s=ie("(min-width: 960px)"),n=w(!1),r=g(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Ne(C,S):[]}),u=w(r.value);j(r,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(u.value=r.value)});const h=g(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=g(()=>y?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),y=g(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),P=g(()=>h.value&&s.value),k=g(()=>h.value?kt(u.value):[]);function V(){n.value=!0}function T(){n.value=!1}function A(){n.value?T():V()}return{isOpen:n,sidebar:u,sidebarGroups:k,hasSidebar:h,hasAside:y,leftAside:p,isSidebarEnabled:P,open:V,close:T,toggle:A}}function $t(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),q(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e,hash:t}=L(),s=w(!1),n=g(()=>o.value.collapsed!=null),r=g(()=>!!o.value.link),u=w(!1),h=()=>{u.value=z(e.value.relativePath,o.value.link)};j([e,o,t],h),q(h);const p=g(()=>u.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),y=g(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),Pe(()=>{(u.value||p.value)&&(s.value=!1)});function P(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:r,isActiveLink:u,hasActiveLink:p,hasChildren:y,toggle:P}}function yt(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:g(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Me(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function _e(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:Pt(t),link:"#"+t.id,level:s}});return Lt(e,o)}function Pt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Lt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=s&&u.level<=n),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const r=[];e:for(let u=0;u=0;p--){const y=o[p];if(y.level{requestAnimationFrame(r),window.addEventListener("scroll",s)}),qe(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function r(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,y=document.body.offsetHeight,P=Math.abs(h+p-y)<1,k=de.map(({element:T,link:A})=>({link:A,top:St(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,A)=>T.top-A.top);if(!k.length){u(null);return}if(h<1){u(null);return}if(P){u(k[k.length-1].link);return}let V=null;for(const{link:T,top:A}of k){if(A>h+Ke()+4)break;V=T}u(V)}function u(h){n&&n.classList.remove("active"),h==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function St(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const Tt=["href","title"],It=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const s=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(s));n==null||n.focus({preventScroll:!0})}return(t,s)=>{const n=K("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:r,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,Tt),r!=null&&r.length?(a(),$(n,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ae=b(It,[["__scopeId","data-v-1f1d19a1"]]),wt={class:"content"},Nt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Mt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),s=Le([]);x(()=>{s.value=_e(e.value.outline??t.value.outline)});const n=w(),r=w();return Vt(n,r),(u,h)=>(a(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n,role:"navigation"},[v("div",wt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",Nt,I(i(Me)(i(t))),1),m(Ae,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),At=b(Mt,[["__scopeId","data-v-1477322d"]]),Ct={class:"VPDocAsideCarbonAds"},Bt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",Ct,[m(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ht=o=>(B("data-v-d97c4728"),o=o(),H(),o),Et={class:"VPDocAside"},Dt=Ht(()=>v("div",{class:"spacer"},null,-1)),Ft=_({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,s)=>(a(),c("div",Et,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(At),l(t.$slots,"aside-outline-after",{},void 0,!0),Dt,l(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),$(Bt,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ot=b(Ft,[["__scopeId","data-v-d97c4728"]]);function Ut(){const{theme:o,page:e}=L();return g(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Gt(){const{page:o,theme:e,frontmatter:t}=L();return g(()=>{var y,P,k,V,T,A,C,S;const s=Ne(e.value.sidebar,o.value.relativePath),n=bt(s),r=jt(n,U=>U.link.replace(/[?#].*$/,"")),u=r.findIndex(U=>z(o.value.relativePath,U.link)),h=((y=e.value.docFooter)==null?void 0:y.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((P=e.value.docFooter)==null?void 0:P.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((k=r[u-1])==null?void 0:k.docFooterText)??((V=r[u-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=r[u-1])==null?void 0:T.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=r[u+1])==null?void 0:A.docFooterText)??((C=r[u+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=r[u+1])==null?void 0:S.link)}}})}function jt(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.tag??(e.href?"a":"span")),s=g(()=>e.href&&Ve.test(e.href));return(n,r)=>(a(),$(W(t.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?i(fe)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:d(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),zt={class:"VPLastUpdated"},qt=["datetime"],Kt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:s,lang:n}=L(),r=g(()=>new Date(s.value.lastUpdated??t.value.lastUpdated)),u=g(()=>r.value.toISOString()),h=w("");return q(()=>{Z(()=>{var p,y,P;h.value=new Intl.DateTimeFormat((y=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&y.forceLocale?n.value:void 0,((P=e.value.lastUpdated)==null?void 0:P.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(p,y)=>{var P;return a(),c("p",zt,[F(I(((P=i(e).lastUpdated)==null?void 0:P.text)||i(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:u.value},I(h.value),9,qt)])}}}),Rt=b(Kt,[["__scopeId","data-v-f04c864c"]]),Ce=o=>(B("data-v-f33cb82b"),o=o(),H(),o),Wt={key:0,class:"VPDocFooter"},Jt={key:0,class:"edit-info"},Yt={key:0,class:"edit-link"},Qt=Ce(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Xt={key:1,class:"last-updated"},Zt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},xt=Ce(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),eo={class:"pager"},to=["innerHTML"],oo=["innerHTML"],so={class:"pager"},no=["innerHTML"],ao=["innerHTML"],ro=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=L(),n=Ut(),r=Gt(),u=g(()=>e.value.editLink&&s.value.editLink!==!1),h=g(()=>t.value.lastUpdated&&s.value.lastUpdated!==!1),p=g(()=>u.value||h.value||r.value.prev||r.value.next);return(y,P)=>{var k,V,T,A;return p.value?(a(),c("footer",Wt,[l(y.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Jt,[u.value?(a(),c("div",Yt,[m(D,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:d(()=>[Qt,F(" "+I(i(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",Xt,[m(Rt)])):f("",!0)])):f("",!0),(k=i(r).prev)!=null&&k.link||(V=i(r).next)!=null&&V.link?(a(),c("nav",Zt,[xt,v("div",eo,[(T=i(r).prev)!=null&&T.link?(a(),$(D,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,to),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,oo)]}),_:1},8,["href"])):f("",!0)]),v("div",so,[(A=i(r).next)!=null&&A.link?(a(),$(D,{key:0,class:"pager-link next",href:i(r).next.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,no),v("span",{class:"title",innerHTML:i(r).next.text},null,8,ao)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),io=b(ro,[["__scopeId","data-v-f33cb82b"]]),lo=o=>(B("data-v-7c3f7db6"),o=o(),H(),o),co={class:"container"},uo=lo(()=>v("div",{class:"aside-curtain"},null,-1)),vo={class:"aside-container"},po={class:"aside-content"},ho={class:"content"},fo={class:"content-container"},_o={class:"main"},mo=_({__name:"VPDoc",setup(o){const{theme:e}=L(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:r}=O(),u=g(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const y=K("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":i(s),"has-aside":i(n)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",co,[i(n)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":i(r)}])},[uo,v("div",vo,[v("div",po,[m(Ot,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",ho,[v("div",fo,[l(h.$slots,"doc-before",{},void 0,!0),v("main",_o,[m(y,{class:N(["vp-doc",[u.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(io,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ko=b(mo,[["__scopeId","data-v-7c3f7db6"]]),bo=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.href&&Ve.test(e.href)),s=g(()=>e.tag||e.href?"a":"button");return(n,r)=>(a(),$(W(s.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?i(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[F(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),$o=b(bo,[["__scopeId","data-v-745014e7"]]),go=["src","alt"],yo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=K("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Y({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,go)):(a(),c(M,{key:1},[m(s,Y({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,Y({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),X=b(yo,[["__scopeId","data-v-851a5ca0"]]),Po=o=>(B("data-v-1fdd7803"),o=o(),H(),o),Lo={class:"container"},Vo={class:"main"},So={key:0,class:"name"},To=["innerHTML"],Io=["innerHTML"],wo=["innerHTML"],No={key:0,class:"actions"},Mo={key:0,class:"image"},Ao={class:"image-container"},Co=Po(()=>v("div",{class:"image-bg"},null,-1)),Bo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||i(e)}])},[v("div",Lo,[v("div",Vo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",So,[v("span",{innerHTML:t.name,class:"clip"},null,8,To)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,Io)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,wo)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",No,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m($o,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),c("div",Mo,[v("div",Ao,[Co,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Ho=b(Bo,[["__scopeId","data-v-1fdd7803"]]),Eo=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,s)=>i(e).hero?(a(),$(Ho,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Do=o=>(B("data-v-72f75201"),o=o(),H(),o),Fo={class:"box"},Oo={key:0,class:"icon"},Uo=["innerHTML"],Go=["innerHTML"],jo=["innerHTML"],zo={key:4,class:"link-text"},qo={class:"link-text-value"},Ko=Do(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Ro=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),$(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Fo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Oo,[m(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Uo)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Go),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,jo)):f("",!0),e.linkText?(a(),c("div",zo,[v("p",qo,[F(I(e.linkText)+" ",1),Ko])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Wo=b(Ro,[["__scopeId","data-v-72f75201"]]),Jo={key:0,class:"VPFeatures"},Yo={class:"container"},Qo={class:"items"},Xo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=g(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),c("div",Jo,[v("div",Yo,[v("div",Qo,[(a(!0),c(M,null,E(s.features,r=>(a(),c("div",{key:r.title,class:N(["item",[t.value]])},[m(Wo,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),Zo=b(Xo,[["__scopeId","data-v-53f0525c"]]),xo=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,s)=>i(e).features?(a(),$(Zo,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):f("",!0)}}),es=_({__name:"VPHomeContent",setup(o){const{width:e}=Re({includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:Se(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),ts=b(es,[["__scopeId","data-v-48dc9160"]]),os={class:"VPHome"},ss=_({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,s)=>{const n=K("Content");return a(),c("div",os,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Eo,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(xo),l(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),$(ts,{key:0},{default:d(()=>[m(n)]),_:1})):(a(),$(n,{key:1}))])}}}),ns=b(ss,[["__scopeId","data-v-fc53ba9a"]]),as={},rs={class:"VPPage"};function is(o,e){const t=K("Content");return a(),c("div",rs,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const ls=b(as,[["render",is]]),cs=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:s}=O();return(n,r)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":i(s),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(mt)],!0):i(t).layout==="page"?(a(),$(ls,{key:1},{"page-top":d(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),$(ns,{key:2},{"home-hero-before":d(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),$(W(i(t).layout),{key:3})):(a(),$(ko,{key:4},{"doc-top":d(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),us=b(cs,[["__scopeId","data-v-a80d3fe3"]]),ds={class:"container"},vs=["innerHTML"],ps=["innerHTML"],hs=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=O();return(n,r)=>i(e).footer&&i(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":i(s)}])},[v("div",ds,[i(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,vs)):f("",!0),i(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,ps)):f("",!0)])],2)):f("",!0)}}),fs=b(hs,[["__scopeId","data-v-255080e8"]]);function _s(){const{theme:o,frontmatter:e}=L(),t=Le([]),s=g(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const ms=o=>(B("data-v-d51406c7"),o=o(),H(),o),ks={class:"menu-text"},bs=ms(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),$s={class:"header"},gs={class:"outline"},ys=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),s=w(!1),n=w(0),r=w(),u=w();function h(k){var V;(V=r.value)!=null&&V.contains(k.target)||(s.value=!1)}j(s,k=>{if(k){document.addEventListener("click",h);return}document.removeEventListener("click",h)}),le("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function p(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function y(k){k.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{s.value=!1}))}function P(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,V)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[k.headers.length>0?(a(),c("button",{key:0,onClick:p,class:N({open:s.value})},[v("span",ks,I(i(Me)(i(t))),1),bs],2)):(a(),c("button",{key:1,onClick:P},I(i(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:d(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:y},[v("div",$s,[v("a",{class:"top-link",href:"#",onClick:P},I(i(t).returnToTopLabel||"Return to top"),1)]),v("div",gs,[m(Ae,{headers:k.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Ps=b(ys,[["__scopeId","data-v-d51406c7"]]),Ls=o=>(B("data-v-5fc672a4"),o=o(),H(),o),Vs={class:"container"},Ss=["aria-expanded"],Ts=Ls(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Is={class:"menu-text"},ws=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=O(),{headers:n}=_s(),{y:r}=Te(),u=w(0);q(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=_e(t.value.outline??e.value.outline)});const h=g(()=>n.value.length===0),p=g(()=>h.value&&!s.value),y=g(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:h.value,fixed:p.value}));return(P,k)=>i(t).layout!=="home"&&(!p.value||i(r)>=u.value)?(a(),c("div",{key:0,class:N(y.value)},[v("div",Vs,[i(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":P.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=V=>P.$emit("open-menu"))},[Ts,v("span",Is,I(i(e).sidebarMenuLabel||"Menu"),1)],8,Ss)):f("",!0),m(Ps,{headers:i(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Ns=b(ws,[["__scopeId","data-v-5fc672a4"]]);function Ms(){const o=w(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=ee();return j(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const As={},Cs={class:"VPSwitch",type:"button",role:"switch"},Bs={class:"check"},Hs={key:0,class:"icon"};function Es(o,e){return a(),c("button",Cs,[v("span",Bs,[o.$slots.default?(a(),c("span",Hs,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Ds=b(As,[["render",Es],["__scopeId","data-v-357b8e18"]]),Be=o=>(B("data-v-00741d11"),o=o(),H(),o),Fs=Be(()=>v("span",{class:"vpi-sun sun"},null,-1)),Os=Be(()=>v("span",{class:"vpi-moon moon"},null,-1)),Us=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),s=te("toggle-appearance",()=>{e.value=!e.value}),n=g(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(r,u)=>(a(),$(Ds,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(s)},{default:d(()=>[Fs,Os]),_:1},8,["title","aria-checked","onClick"]))}}),me=b(Us,[["__scopeId","data-v-00741d11"]]),Gs={key:0,class:"VPNavBarAppearance"},js=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,s)=>i(e).appearance&&i(e).appearance!=="force-dark"?(a(),c("div",Gs,[m(me)])):f("",!0)}}),zs=b(js,[["__scopeId","data-v-9f3a4c0d"]]),ke=w();let He=!1,re=0;function qs(o){const e=w(!1);if(oe){!He&&Ks(),re++;const t=j(ke,s=>{var n,r,u;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});he(()=>{t(),re--,re||Rs()})}return Je(e)}function Ks(){document.addEventListener("focusin",Ee),He=!0,ke.value=document.activeElement}function Rs(){document.removeEventListener("focusin",Ee)}function Ee(){ke.value=document.activeElement}const Ws={class:"VPMenuLink"},Js=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),c("div",Ws,[m(D,{class:N({active:i(z)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[F(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=b(Js,[["__scopeId","data-v-6c61af75"]]),Ys={class:"VPMenuGroup"},Qs={key:0,class:"title"},Xs=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Ys,[e.text?(a(),c("p",Qs,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}}),Zs=b(Xs,[["__scopeId","data-v-7025aff2"]]),xs={class:"VPMenu"},en={key:0,class:"items"},tn=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",xs,[e.items?(a(),c("div",en,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:s.text},["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):(a(),$(Zs,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),on=b(tn,[["__scopeId","data-v-225e4b88"]]),sn=o=>(B("data-v-2884bb43"),o=o(),H(),o),nn=["aria-expanded","aria-label"],an={key:0,class:"text"},rn=["innerHTML"],ln=sn(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),cn={key:1,class:"vpi-more-horizontal icon"},un={class:"menu"},dn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();qs({el:t,onBlur:s});function s(){e.value=!1}return(n,r)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=u=>e.value=!0),onMouseleave:r[2]||(r[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=u=>e.value=!e.value)},[n.button||n.icon?(a(),c("span",an,[n.icon?(a(),c("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,rn)):f("",!0),ln])):(a(),c("span",cn))],8,nn),v("div",un,[m(on,{items:n.items},{default:d(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=b(dn,[["__scopeId","data-v-2884bb43"]]),vn=["href","aria-label","innerHTML"],pn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=g(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,n)=>(a(),c("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,vn))}}),hn=b(pn,[["__scopeId","data-v-c196e7ad"]]),fn={class:"VPSocialLinks"},_n=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",fn,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:r})=>(a(),$(hn,{key:s,icon:n,link:s,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),$e=b(_n,[["__scopeId","data-v-c799bddc"]]),mn={key:0,class:"group translations"},kn={class:"trans-title"},bn={key:1,class:"group"},$n={class:"item appearance"},gn={class:"label"},yn={class:"appearance-action"},Pn={key:2,class:"group"},Ln={class:"item social-links"},Vn=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:s,currentLang:n}=J({correspondingLink:!0}),r=g(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>r.value?(a(),$(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[i(s).length&&i(n).label?(a(),c("div",mn,[v("p",kn,I(i(n).label),1),(a(!0),c(M,null,E(i(s),p=>(a(),$(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),i(e).appearance&&i(e).appearance!=="force-dark"?(a(),c("div",bn,[v("div",$n,[v("p",gn,I(i(t).darkModeSwitchLabel||"Appearance"),1),v("div",yn,[m(me)])])])):f("",!0),i(t).socialLinks?(a(),c("div",Pn,[v("div",Ln,[m($e,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Sn=b(Vn,[["__scopeId","data-v-a17f532e"]]),Tn=o=>(B("data-v-58bb3b44"),o=o(),H(),o),In=["aria-expanded"],wn=Tn(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),Nn=[wn],Mn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Nn,10,In))}}),An=b(Mn,[["__scopeId","data-v-58bb3b44"]]),Cn=["innerHTML"],Bn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),$(D,{class:N({VPNavBarMenuLink:!0,active:i(z)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,Cn)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Hn=b(Bn,[["__scopeId","data-v-41872247"]]),En=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),s=r=>"link"in r?z(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(s),n=g(()=>s(e.item));return(r,u)=>(a(),$(be,{class:N({VPNavBarMenuGroup:!0,active:i(z)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Dn=o=>(B("data-v-38d8cb89"),o=o(),H(),o),Fn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},On=Dn(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Un=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,s)=>i(e).nav?(a(),c("nav",Fn,[On,(a(!0),c(M,null,E(i(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),$(Hn,{key:0,item:n},null,8,["item"])):(a(),$(En,{key:1,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),Gn=b(Un,[["__scopeId","data-v-38d8cb89"]]);function jn(o){const{localeIndex:e,theme:t}=L();function s(n){var A,C,S;const r=n.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((S=(C=u.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,y=h&&u.translations||null;let P=p,k=y,V=o;const T=r.pop();for(const U of r){let G=null;const R=V==null?void 0:V[U];R&&(G=V=R);const ne=k==null?void 0:k[U];ne&&(G=k=ne);const ae=P==null?void 0:P[U];ae&&(G=P=ae),R||(V=G),ne||(k=G),ae||(P=G)}return(P==null?void 0:P[T])??(k==null?void 0:k[T])??(V==null?void 0:V[T])??""}return s}const zn=["aria-label"],qn={class:"DocSearch-Button-Container"},Kn=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Rn={class:"DocSearch-Button-Placeholder"},Wn=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ge=_({__name:"VPNavBarSearchButton",setup(o){const t=jn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[v("span",qn,[Kn,v("span",Rn,I(i(t)("button.buttonText")),1)]),Wn],8,zn))}}),Jn={class:"VPNavBarSearch"},Yn={id:"local-search"},Qn={key:1,id:"docsearch"},Xn=_({__name:"VPNavBarSearch",setup(o){const e=Ye(()=>Qe(()=>import("./VPLocalSearchBox.DePPYhkj.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=L(),n=w(!1),r=w(!1);q(()=>{});function u(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p(k){const V=k.target,T=V.tagName;return V.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const y=w(!1);le("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),y.value=!0)}),le("/",k=>{p(k)||(k.preventDefault(),y.value=!0)});const P="local";return(k,V)=>{var T;return a(),c("div",Jn,[i(P)==="local"?(a(),c(M,{key:0},[y.value?(a(),$(i(e),{key:0,onClose:V[0]||(V[0]=A=>y.value=!1)})):f("",!0),v("div",Yn,[m(ge,{onClick:V[1]||(V[1]=A=>y.value=!0)})])],64)):i(P)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),$(i(t),{key:0,algolia:((T=i(s).search)==null?void 0:T.options)??i(s).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>r.value=!0)},null,8,["algolia"])):f("",!0),r.value?f("",!0):(a(),c("div",Qn,[m(ge,{onClick:u})]))],64)):f("",!0)])}}}),Zn=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>i(e).socialLinks?(a(),$($e,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),xn=b(Zn,[["__scopeId","data-v-3bc7614e"]]),ea=["href","rel","target"],ta={key:1},oa={key:2},sa=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:s}=O(),{currentLang:n}=J(),r=g(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=g(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=g(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,y)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":i(s)}])},[v("a",{class:"title",href:r.value??i(fe)(i(n).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),$(X,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):f("",!0),i(t).siteTitle?(a(),c("span",ta,I(i(t).siteTitle),1)):i(t).siteTitle===void 0?(a(),c("span",oa,I(i(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,ea)],2))}}),na=b(sa,[["__scopeId","data-v-60a7be81"]]),aa={class:"items"},ra={class:"title"},ia=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:s}=J({correspondingLink:!0});return(n,r)=>i(t).length&&i(s).label?(a(),$(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",aa,[v("p",ra,I(i(s).label),1),(a(!0),c(M,null,E(i(t),u=>(a(),$(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),la=b(ia,[["__scopeId","data-v-215ca990"]]),ca=o=>(B("data-v-b4581e97"),o=o(),H(),o),ua={class:"wrapper"},da={class:"container"},va={class:"title"},pa={class:"content"},ha={class:"content-body"},fa=ca(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),_a=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Te(),{hasSidebar:t}=O(),{frontmatter:s}=L(),n=w({});return Pe(()=>{n.value={"has-sidebar":t.value,home:s.value.layout==="home",top:e.value===0}}),(r,u)=>(a(),c("div",{class:N(["VPNavBar",n.value])},[v("div",ua,[v("div",da,[v("div",va,[m(na,null,{"nav-bar-title-before":d(()=>[l(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",pa,[v("div",ha,[l(r.$slots,"nav-bar-content-before",{},void 0,!0),m(Xn,{class:"search"}),m(Gn,{class:"menu"}),m(la,{class:"translations"}),m(zs,{class:"appearance"}),m(xn,{class:"social-links"}),m(Sn,{class:"extra"}),l(r.$slots,"nav-bar-content-after",{},void 0,!0),m(An,{class:"hamburger",active:r.isScreenOpen,onClick:u[0]||(u[0]=h=>r.$emit("toggle-screen"))},null,8,["active"])])])])]),fa],2))}}),ma=b(_a,[["__scopeId","data-v-b4581e97"]]),ka={key:0,class:"VPNavScreenAppearance"},ba={class:"text"},$a=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(s,n)=>i(e).appearance&&i(e).appearance!=="force-dark"?(a(),c("div",ka,[v("p",ba,I(i(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):f("",!0)}}),ga=b($a,[["__scopeId","data-v-ec935913"]]),ya=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),$(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Pa=b(ya,[["__scopeId","data-v-aa8b7d98"]]),La=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),$(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:d(()=>[F(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),De=b(La,[["__scopeId","data-v-1d1589b2"]]),Va={class:"VPNavScreenMenuGroupSection"},Sa={key:0,class:"title"},Ta=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Va,[e.text?(a(),c("p",Sa,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),$(De,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ia=b(Ta,[["__scopeId","data-v-3e1760fe"]]),wa=o=>(B("data-v-00b481d7"),o=o(),H(),o),Na=["aria-controls","aria-expanded"],Ma=["innerHTML"],Aa=wa(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Ca=["id"],Ba={key:1,class:"group"},Ha=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),s=g(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:r.text},null,8,Ma),Aa],8,Na),v("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(r.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(De,{item:h},null,8,["item"])])):(a(),c("div",Ba,[m(Ia,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ca)],2))}}),Ea=b(Ha,[["__scopeId","data-v-00b481d7"]]),Da={key:0,class:"VPNavScreenMenu"},Fa=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,s)=>i(e).nav?(a(),c("nav",Da,[(a(!0),c(M,null,E(i(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),$(Pa,{key:0,item:n},null,8,["item"])):(a(),$(Ea,{key:1,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Oa=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>i(e).socialLinks?(a(),$($e,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),Fe=o=>(B("data-v-1e601d02"),o=o(),H(),o),Ua=Fe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),Ga=Fe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),ja={class:"list"},za=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),s=w(!1);function n(){s.value=!s.value}return(r,u)=>i(e).length&&i(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[v("button",{class:"title",onClick:n},[Ua,F(" "+I(i(t).label)+" ",1),Ga]),v("ul",ja,[(a(!0),c(M,null,E(i(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:d(()=>[F(I(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),qa=b(za,[["__scopeId","data-v-1e601d02"]]),Ka={class:"container"},Ra=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Ie(oe?document.body:null);return(s,n)=>(a(),$(ve,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:d(()=>[s.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",Ka,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Fa,{class:"menu"}),m(qa,{class:"translations"}),m(ga,{class:"appearance"}),m(Oa,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Wa=b(Ra,[["__scopeId","data-v-41e805c2"]]),Ja={key:0,class:"VPNav"},Ya=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Ms(),{frontmatter:n}=L(),r=g(()=>n.value.navbar!==!1);return we("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(u,h)=>r.value?(a(),c("header",Ja,[m(ma,{"is-screen-open":i(e),onToggleScreen:i(s)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Wa,{open:i(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Qa=b(Ya,[["__scopeId","data-v-62a73b24"]]),Oe=o=>(B("data-v-f67490ad"),o=o(),H(),o),Xa=["role","tabindex"],Za=Oe(()=>v("div",{class:"indicator"},null,-1)),xa=Oe(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),er=[xa],tr={key:1,class:"items"},or=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:r,hasActiveLink:u,hasChildren:h,toggle:p}=gt(g(()=>e.item)),y=g(()=>h.value?"section":"div"),P=g(()=>n.value?"a":"div"),k=g(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=g(()=>n.value?void 0:"button"),T=g(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":u.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(S,U)=>{const G=K("VPSidebarItem",!0);return a(),$(W(y.value),{class:N(["VPSidebarItem",T.value])},{default:d(()=>[S.item.text?(a(),c("div",Y({key:0,class:"item",role:V.value},Ze(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[Za,S.item.link?(a(),$(D,{key:0,tag:P.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:d(()=>[(a(),$(W(k.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(W(k.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},er,32)):f("",!0)],16,Xa)):f("",!0),S.item.items&&S.item.items.length?(a(),c("div",tr,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,R=>(a(),$(G,{key:R.text,item:R,depth:S.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),sr=b(or,[["__scopeId","data-v-f67490ad"]]),Ue=o=>(B("data-v-d892c825"),o=o(),H(),o),nr=Ue(()=>v("div",{class:"curtain"},null,-1)),ar={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},rr=Ue(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ir=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),s=o,n=w(null),r=Ie(oe?document.body:null);return j([s,n],()=>{var u;s.open?(r.value=!0,(u=n.value)==null||u.focus()):r.value=!1},{immediate:!0,flush:"post"}),(u,h)=>i(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:n,onClick:h[0]||(h[0]=xe(()=>{},["stop"]))},[nr,v("nav",ar,[rr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(i(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(sr,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),lr=b(ir,[["__scopeId","data-v-d892c825"]]),cr=_({__name:"VPSkipLink",setup(o){const e=ee(),t=w();j(()=>e.path,()=>t.value.focus());function s({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const u=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",u)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",u),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),ur=b(cr,[["__scopeId","data-v-c56160db"]]),dr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=O(),n=ee();j(()=>n.path,s),$t(e,s);const{frontmatter:r}=L(),u=et(),h=g(()=>!!u["home-hero-image"]);return we("hero-image-slot-exists",h),(p,y)=>{const P=K("Content");return i(r).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",i(r).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(ur),m(at,{class:"backdrop",show:i(e),onClick:i(s)},null,8,["show","onClick"]),m(Qa,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Ns,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),m(lr,{open:i(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(us,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(fs),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(P,{key:1}))}}}),vr=b(dr,[["__scopeId","data-v-785f28dc"]]),ye={Layout:vr,enhanceApp:({app:o})=>{o.component("Badge",ot)}},hr={extends:ye,Layout:()=>tt(ye.Layout,null,{}),enhanceApp({app:o,router:e,siteData:t}){}};export{hr as R,jn as c,L as u}; diff --git a/assets/docs_changelog.md.CohtX37C.js b/assets/docs_changelog.md.CWnvxak_.js similarity index 99% rename from assets/docs_changelog.md.CohtX37C.js rename to assets/docs_changelog.md.CWnvxak_.js index fb8a709..8f4e70b 100644 --- a/assets/docs_changelog.md.CohtX37C.js +++ b/assets/docs_changelog.md.CWnvxak_.js @@ -1 +1 @@ -import{_ as l,c as e,o as a,a5 as i}from"./chunks/framework.BjaKWcf5.js";const v=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[],"relativePath":"docs/changelog.md","filePath":"docs/changelog.md"}'),t={name:"docs/changelog.md"},r=i('

更新日志

v4.0.0 (2024-02-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v4.0.0

  1. 系统重构:对整个系统进行了全面的重构,以提高性能、可维护性和扩展性。
  2. Vue3/Nuxt3 升级: 将前端框架升级到最新的 Vue.js 3 版本,享受新版本带来的性能提升、新特性和改进。
  3. 提供全新的管理后台
  4. 简化安装流程,提供完整的 docker 镜像

v3.5.5 (2022-12-02)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.5

  • 【新增】违禁词模块,违禁词支持词组和正则表达式
  • 【新增】发帖、发文章、评论进行违禁词筛选
  • 【新增】发帖审核功能
  • 【新增】邮箱认证白名单功能
  • 【优化】优化管理后台功能细节
  • 【优化】优化 docker 镜像构建脚本(感谢长亭科技)
  • 【漏洞修复】修复外链跳转 XSS 问题(感谢长亭科技)
  • 【漏洞修复】修复一个越权查看他人邮箱信息的漏洞(感谢长亭科技)

v3.5.4 (2022-11-14)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.4

  • 【新增】新增默认头像支持
  • 【新增】新增举报功能
  • 【新增】文章封面图支持
  • 【新增】系统支持配置开启或关闭功能模块(帖子、动态、文章)
  • 【优化】优化文章模块功能,优化文章页面样式
  • 【优化】优化文章审核流程
  • 【BUGFIX】修复二级回复消息查看跳转错误
  • 【优化】升级第三方依赖、多出细节和功能优化

v3.5.3 (2022-09-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.3

  • 支持 docker 快速启动
  • 修复 dark 模式下多处样式细节问题
  • 代码高亮改用 PrismJS 实现
  • 用户资料新增性别、生日
  • 多处细节优化和 BUG 修复

v3.5.2 (2022-08-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.2

  • dark mode 样式优化
  • 优化后台帖子管理功能
  • 优化后台文章管理功能
  • 优化后台评论管理功能
  • 去掉对 iconfont 的依赖
  • 多处细节优化

v3.5.1 (2022-04-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.1

  • 支持隐藏内容回复后查看
  • 支持帖子置顶功能

v3.5.0 (2022-04-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.0

  • 升级 Go1.18
  • 重构底层框架代码

v3.4.3 (2022-03-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.3

  • 优化管理后台功能
  • 优化邮箱验证流程
  • 安全问题修复
  • 优化话题详情页 UI

v3.4.2 (2022-01-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.2

  • 新增:适配黑夜(dark)模式
  • 优化文章页面展示样式
  • BUGFIX:修复二级评论无消息通知的 BUG
  • 重构:重构事件处理框架,优化代码结构

v3.4.1 (2022-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.1

  • 新增:评论盖楼模式、优化评论组件
  • 新增:记录发帖、评论用户的 UA、IP
  • 修复:关闭密码登录后,管理后台无法登录的问题
  • 修复:搜索框显示问题,调整搜索框样式
  • 修复:头像修改失败的问题
  • 修复:修复后台几个 BUG
  • 优化:个人资料编辑页面
  • 优化:用户注册、登录页面样式
  • 优化:go.mod 依赖
  • 优化:界面样式细节

v3.4.0 (2021-11-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.0

  • 新增:粉丝关注功能
  • 优化:搜索功能优化
  • 优化:简化接口用户信息渲染,减少数据交互
  • 优化:优化个人中心展示样式
  • 优化:简化对 element-ui 的依赖,优化应用体积和加载速度
  • BUGFIX: 修复一个 XSS 攻击漏洞

v3.3.2 (2021-09-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/3.3.2

  • 全新的前后端分离后台管理系统
  • 系统重构构建和启动速度大大提升

v3.3.1 (2021-08-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.1

  • 全新的手机版、Pad 版页面样式
  • 全新的个人中心样式
  • 依赖软件版本升级
  • 多出交互细节优化

v3.3.0 (2021-06-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.0

  • 优化多项界面体验细节
  • 话题节点支持后台自定义图标
  • 修复阿里云图片上传后缀错误问题
  • 优化内部链接跳转页面刷新体验
  • 优化代码高亮组件
  • 优化列表“加载更多”功能
  • 实现 Nuxt.js 组件自动导入
  • 评论框支持上传图片
  • 集成新的 markdown 编辑器 vue-markdown-editor

v3.2.6 (2021-05-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.6

  • 支持开源中国一键登录
  • 反作弊系统
    • 发表内容验证码开关
    • 邮箱验证开关
    • 发表频率控制
    • 新用户观察期
    • 用户禁言
    • ...
  • 集成 nuxt-vite
  • 修复积分记录展示错误问题
  • 永久禁言用户积分清零

v3.2.5 (2021-04-16)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.5

  • Feature:全新的签到、排行榜样式,感谢Alice Re-Code贡献代码
  • Bugfix:修复注册链接跳转失效的问题
  • Bugfix:修复帖子管理菜单权限控制错误的问题
  • Bugfix:修复头像展示变形的问题
  • Bugfix:修复 Windows 平台中上传图片路径错误的问题
  • 代码结构重构

v3.2.4 (2021-03-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.4

  • Feature:后台支持配置登录方式,根据需要选择登录方式
  • Feature:调整 sitemap 生成策略
  • Feature:增强前台页面的管理能力,在前台页面增加多出话题、用户管理入口
  • Feature:支持永久禁言的同时清理被禁言用户的话题和文章
  • Feature:使用 dart-sass 替换 node-sass,再也不用忍受 node-sass 安装时的痛苦了
  • Bugfix:修复动态发表时上传多张图片被覆盖的问题

v3.2.3 (2021-01-26)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.3

  • 全新的话题 UI 交互
  • 全新动态功能
  • 优化话题详情页 UI
  • 修复评论数量显示错误的问题
  • 优化后台话题管理功能
  • 前台界面提供话题的推荐功能
  • 优化头像显示组件
  • 其他多处细节调整和 BUG 修复

v3.2.2 (2021-01-13)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.2

  • Feature:帖子、动态功能合并,动态功能更加完善
  • Feature:全新的帖子信息流展示样式
  • Feature:记录帖子最后回复人、最后回复时间
  • Feature:新增签到排行榜
  • Feature:帖子详情页支持推荐功能
  • Enhancement:优化头像的存储和加载方式
  • More:多处细节和功能优化

v3.2.1 (2020-12-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.1

  • Feature: 个人主页新增我的动态
  • Enhancement:优化帖子详情页样式
  • Enhancement:优化消息页面,新增点赞通知、收藏通知、推荐通知
  • Enhancement:优化登录页面样式
  • Enhancement:优化邮箱验证逻辑
  • Enhancement:优化页面体积
  • Bugfix:修复 QQ 登录异常的问题
  • 多处细节调整...

v3.2.0 (2020-11-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.0

  • 新功能:支持基于elasticsearch的帖子搜索功能
  • 优化:SEO 优化,支持神马搜索链接推送
  • 优化:完善数据库初始化脚本
  • 优化:优化日志输出逻辑,日志输出到文件时同时支持输出到控制台
  • 优化:更新markdown语法帮助文档
  • 优化:优化站内消息发送逻辑
  • 优化:优化markdown编辑器编辑模式
  • 优化:优化代码高亮库highlight.js的加载逻辑,提升网站加载速度
  • 优化:优化导航栏消息入口显示逻辑
  • 优化:优化缓存数据不存在时的处理逻辑

v3.1.9 (2020-10-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.9

  • 支持自定义个人中心背景主题
  • 优化帖子点赞收藏展示逻辑
  • 修复升级gorm2后造成的点赞失败问题
  • 新增签到功能入口
  • 修复一个 ssrf漏洞
  • 修复gorm日志不打印问题

v3.1.8 (2020-09-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.8

本次主要更新gorm 2.0gorm 是Go语言界orm产品的扛把子,在gorm2.0发布后,bbs-go也第一时间跟进并升级了gorm2.0,本次升级的gorm2.0 从零开始,深度优化性能、重构代码。

改进点如下:

  • 性能改进
  • 代码模块化
  • Context,批量插入,预编译模式,DryRun 模式,Join 预加载,Find To Map,Create From Map,FindInBatches
  • 支持嵌套事务,SavePoint,Rollback To SavePoint
  • SQL 生成器,命名参数,分组条件,Upsert,锁, 支持 Optimizer/Index/Comment Hint,子查询改进,使用SQL表达式、Context Valuer 进行 CRUD
  • 支持完整的自引用,改进 Join Table,批量数据的关联模式
  • 允许多个字段用于追踪 create、update 时间 ,支持 UNIX (毫/纳)秒
  • 支持字段权限:只读、只写、只创建、只更新、忽略
  • 新的插件系统,为多个数据库提供了官方插件,读写分离,prometheus 集成…
  • 全新的 Hook API:带插件的统一接口
  • 全新的 Migrator:允许为关系创建数据库外键,更智能的 AutoMigrate,支持约束、检查器,增强索引支持
  • 全新的 Logger:支持 context、改进可扩展性
  • 统一命名策略:表名、字段名、连接表名、外键、检查器、索引名称规则
  • 更好的自定义类型支持(例如: JSON)

v3.1.7 (2020-09-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.7

  • 【新特性】签到功能,签到获积分
  • 【BUGFIX】修复用户中心侧边栏管理菜单显示错误的问题
  • 【新特性】修改个人主页布局
  • 【功能增强】升级 vditor 编辑器
  • 【新特性】支持后台配置用户登录有效期

v3.1.6 (2020-08-31)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.6

  • 【新特性】支持 Docker 快速启动
  • 【改进】新用户观察期支持更小粒度的配置(之前只能配置到小时)

v3.1.5 (2020-07-10)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.5

  • 【新功能】支持多管理员功能
  • 【新功能】管理员可在前台界面删除、修改话题和文章
  • 【新功能】支持邮箱验证(发送验证邮件进行验证)
  • 【新功能】支持用户禁言功能(可设置禁言时长,禁言原因)
  • 【新功能】支持新用户观察期功能(新用户注册后观察期内无法发表内容,观察期时长可后台设置,也可关闭观察期)
  • 【新功能】支持记录操作日志
  • 【优化】优化后台文章、评论的查询性能

v3.1.4 (2020-06-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.4

  • 支持版主功能,可邀请版主一起管理社区
  • 新增操作日志功能,记录管理员、版主的管理记录
  • 整理和优化后台管理菜单
  • 优化后台文章、评论列表数据加载逻辑,解决大数据量时加载性能问题
  • 优化文章详情页近期文章展示逻辑
  • 整理和优化代码,提升性能

v3.1.3 (2020-05-04)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.3

  • feature: Go SDK 升级到 1.14
  • feature: 支持文章审核功能 PR-48 @zzy624
  • feature: 新增最新动态挂件
  • feature: 实现话题收藏功能
  • feature: 优化文章页布局
  • feature: 后台新增动态管理功能
  • feature: 后台新增标签管理功能
  • bugfix: 修复评论功能的一个 XSS 漏洞
  • bugfix: 修复后台用户角色修改失败的问题
  • bugfix: 修复后台用户头像显示错误问题
  • bugfix: 修复友情链接跳转问题
  • bugfix: 修复标签文章列表排序不正确问题
  • enhance: 优化管理后台样式

v3.1.2 (2020-04-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.2

  • 新特性:支持“动态”功能
  • 新特性:支持阿里云 OSS 图片配置缩图规则
  • 增强:重构回复功能,同时支持markdown存文本回复
  • 增强:重构 Go 语言接口部分代码

v3.1.1 (2020-03-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.1

  • 新特性:支持推文功能,快捷发表推文,沟通更顺畅(推文图片支持粘贴板上传、拖拽上传)
  • 新特性:支持图片LazyLoad功能,按需加载、快速省带宽
  • 新特性:支持配置默认发帖节点
  • 新特性:文件支持上传到服务器(之前仅支持上传到阿里云 OSS)
  • 新特性:首页导航栏添加快速发帖入口
  • 增强:调整多处样式细节,做一个追求完美的人
  • Bugfix:修复后台修改用户密码和角色的 BUG
  • Bugfix:修复后台友情链接 LOGO 显示问题
  • Bugfix:修复编辑内容为空的话题时,读取内容错误的问题
  • Bugfix:修复话题修改页面 Title 错误的问题

v3.1.0 (2020-02-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.0

  • 优化帖子列表、详情在手机屏幕上的展示
  • 去掉第三方图片的依赖
  • 优化积分中心展示样式
  • 修复 Markdown 编辑器功能错误
  • 优化项目体积

v3.0.9 (2020-02-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.9

  • 新增用户积分功能
  • 完善社区公告功能
  • 完善帖子详情页用户点赞功能
  • 升级后台管理,简化后台部署,不需要在单独部署
  • 修复帖子被回复相关系统消息发送逻辑错误的问题
  • 修复其他若干 bug

v3.0.8 (2020-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.8

  • 新增论坛公告功能
  • 用户注册时支持图片验证码
  • 用户登录时支持图片验证码
  • 后台登录支持图片验证码
  • 新增后台手动退出功能

v3.0.5 (2019-12-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.5

v3.0.4 (2019-11-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.4

  • 优化文章列表加载性能,将加载方式修改为上拉加载更多,这种方式在加载列表时不需要count列表总数量,当数据量大时count很耗时。
  • 修改网站样式和配色,新的样式和配色更加好看。
  • 重构前端页面组件,将公用部分抽象成可复用组件。
  • 重构代码完全遵循eslint配置的规则,让eslint没有警告 ⚠️。
  • 新增配置项站外链接跳转,开启后站外链接需要用户确认后才能进行跳转。

v3.0.3 (2019-11-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.3 功能建议收集:https://mlog.club/topic/609

v3.0.2 (2019-10-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.2 功能建议收集:https://mlog.club/topic/609

  • QQ 登录
  • 密码注册
  • 设置邮箱
  • 设置密码

v3.0.1 (2019-09-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.1

  • 新增话题跟帖数量
  • 新增话题点赞功能
  • 优化界面样式

v3.0.0 (2019-09-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.0

  • 修改页面样式配色
  • 新增标签下的发帖引导
  • 后台支持多标签
  • 使用Vditor编辑器

v2.0.0 (2019-09-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v2.0.0

  • 新增内容专栏功能
  • 新增好博客导航功能
  • 后台支持多 Tab 页签,操作更方便
  • 完善后台功能
  • 修复各种 BUG

v1.0.5 (2019-08-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.5

  • 重构项目使用nuxt.js来渲染前端界面,GoLang只提供数据支撑

v1.0.1 (2019-07-01)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.1

  • 修复两个数据越权访问的bug;
  • 自己发布的主题帖支持修改;
  • 优化页面布局;
  • 完善后台帖子管理功能;
  • 完善和重构代码;
',129),o=[r];function b(s,h,g,u,c,n){return a(),e("div",null,o)}const d=l(t,[["render",b]]);export{v as __pageData,d as default}; +import{_ as l,c as e,o as a,a4 as i}from"./chunks/framework.Sd_qASnv.js";const v=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[],"relativePath":"docs/changelog.md","filePath":"docs/changelog.md"}'),t={name:"docs/changelog.md"},r=i('

更新日志

v4.0.0 (2024-02-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v4.0.0

  1. 系统重构:对整个系统进行了全面的重构,以提高性能、可维护性和扩展性。
  2. Vue3/Nuxt3 升级: 将前端框架升级到最新的 Vue.js 3 版本,享受新版本带来的性能提升、新特性和改进。
  3. 提供全新的管理后台
  4. 简化安装流程,提供完整的 docker 镜像

v3.5.5 (2022-12-02)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.5

  • 【新增】违禁词模块,违禁词支持词组和正则表达式
  • 【新增】发帖、发文章、评论进行违禁词筛选
  • 【新增】发帖审核功能
  • 【新增】邮箱认证白名单功能
  • 【优化】优化管理后台功能细节
  • 【优化】优化 docker 镜像构建脚本(感谢长亭科技)
  • 【漏洞修复】修复外链跳转 XSS 问题(感谢长亭科技)
  • 【漏洞修复】修复一个越权查看他人邮箱信息的漏洞(感谢长亭科技)

v3.5.4 (2022-11-14)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.4

  • 【新增】新增默认头像支持
  • 【新增】新增举报功能
  • 【新增】文章封面图支持
  • 【新增】系统支持配置开启或关闭功能模块(帖子、动态、文章)
  • 【优化】优化文章模块功能,优化文章页面样式
  • 【优化】优化文章审核流程
  • 【BUGFIX】修复二级回复消息查看跳转错误
  • 【优化】升级第三方依赖、多出细节和功能优化

v3.5.3 (2022-09-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.3

  • 支持 docker 快速启动
  • 修复 dark 模式下多处样式细节问题
  • 代码高亮改用 PrismJS 实现
  • 用户资料新增性别、生日
  • 多处细节优化和 BUG 修复

v3.5.2 (2022-08-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.2

  • dark mode 样式优化
  • 优化后台帖子管理功能
  • 优化后台文章管理功能
  • 优化后台评论管理功能
  • 去掉对 iconfont 的依赖
  • 多处细节优化

v3.5.1 (2022-04-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.1

  • 支持隐藏内容回复后查看
  • 支持帖子置顶功能

v3.5.0 (2022-04-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.0

  • 升级 Go1.18
  • 重构底层框架代码

v3.4.3 (2022-03-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.3

  • 优化管理后台功能
  • 优化邮箱验证流程
  • 安全问题修复
  • 优化话题详情页 UI

v3.4.2 (2022-01-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.2

  • 新增:适配黑夜(dark)模式
  • 优化文章页面展示样式
  • BUGFIX:修复二级评论无消息通知的 BUG
  • 重构:重构事件处理框架,优化代码结构

v3.4.1 (2022-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.1

  • 新增:评论盖楼模式、优化评论组件
  • 新增:记录发帖、评论用户的 UA、IP
  • 修复:关闭密码登录后,管理后台无法登录的问题
  • 修复:搜索框显示问题,调整搜索框样式
  • 修复:头像修改失败的问题
  • 修复:修复后台几个 BUG
  • 优化:个人资料编辑页面
  • 优化:用户注册、登录页面样式
  • 优化:go.mod 依赖
  • 优化:界面样式细节

v3.4.0 (2021-11-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.0

  • 新增:粉丝关注功能
  • 优化:搜索功能优化
  • 优化:简化接口用户信息渲染,减少数据交互
  • 优化:优化个人中心展示样式
  • 优化:简化对 element-ui 的依赖,优化应用体积和加载速度
  • BUGFIX: 修复一个 XSS 攻击漏洞

v3.3.2 (2021-09-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/3.3.2

  • 全新的前后端分离后台管理系统
  • 系统重构构建和启动速度大大提升

v3.3.1 (2021-08-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.1

  • 全新的手机版、Pad 版页面样式
  • 全新的个人中心样式
  • 依赖软件版本升级
  • 多出交互细节优化

v3.3.0 (2021-06-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.0

  • 优化多项界面体验细节
  • 话题节点支持后台自定义图标
  • 修复阿里云图片上传后缀错误问题
  • 优化内部链接跳转页面刷新体验
  • 优化代码高亮组件
  • 优化列表“加载更多”功能
  • 实现 Nuxt.js 组件自动导入
  • 评论框支持上传图片
  • 集成新的 markdown 编辑器 vue-markdown-editor

v3.2.6 (2021-05-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.6

  • 支持开源中国一键登录
  • 反作弊系统
    • 发表内容验证码开关
    • 邮箱验证开关
    • 发表频率控制
    • 新用户观察期
    • 用户禁言
    • ...
  • 集成 nuxt-vite
  • 修复积分记录展示错误问题
  • 永久禁言用户积分清零

v3.2.5 (2021-04-16)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.5

  • Feature:全新的签到、排行榜样式,感谢Alice Re-Code贡献代码
  • Bugfix:修复注册链接跳转失效的问题
  • Bugfix:修复帖子管理菜单权限控制错误的问题
  • Bugfix:修复头像展示变形的问题
  • Bugfix:修复 Windows 平台中上传图片路径错误的问题
  • 代码结构重构

v3.2.4 (2021-03-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.4

  • Feature:后台支持配置登录方式,根据需要选择登录方式
  • Feature:调整 sitemap 生成策略
  • Feature:增强前台页面的管理能力,在前台页面增加多出话题、用户管理入口
  • Feature:支持永久禁言的同时清理被禁言用户的话题和文章
  • Feature:使用 dart-sass 替换 node-sass,再也不用忍受 node-sass 安装时的痛苦了
  • Bugfix:修复动态发表时上传多张图片被覆盖的问题

v3.2.3 (2021-01-26)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.3

  • 全新的话题 UI 交互
  • 全新动态功能
  • 优化话题详情页 UI
  • 修复评论数量显示错误的问题
  • 优化后台话题管理功能
  • 前台界面提供话题的推荐功能
  • 优化头像显示组件
  • 其他多处细节调整和 BUG 修复

v3.2.2 (2021-01-13)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.2

  • Feature:帖子、动态功能合并,动态功能更加完善
  • Feature:全新的帖子信息流展示样式
  • Feature:记录帖子最后回复人、最后回复时间
  • Feature:新增签到排行榜
  • Feature:帖子详情页支持推荐功能
  • Enhancement:优化头像的存储和加载方式
  • More:多处细节和功能优化

v3.2.1 (2020-12-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.1

  • Feature: 个人主页新增我的动态
  • Enhancement:优化帖子详情页样式
  • Enhancement:优化消息页面,新增点赞通知、收藏通知、推荐通知
  • Enhancement:优化登录页面样式
  • Enhancement:优化邮箱验证逻辑
  • Enhancement:优化页面体积
  • Bugfix:修复 QQ 登录异常的问题
  • 多处细节调整...

v3.2.0 (2020-11-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.0

  • 新功能:支持基于elasticsearch的帖子搜索功能
  • 优化:SEO 优化,支持神马搜索链接推送
  • 优化:完善数据库初始化脚本
  • 优化:优化日志输出逻辑,日志输出到文件时同时支持输出到控制台
  • 优化:更新markdown语法帮助文档
  • 优化:优化站内消息发送逻辑
  • 优化:优化markdown编辑器编辑模式
  • 优化:优化代码高亮库highlight.js的加载逻辑,提升网站加载速度
  • 优化:优化导航栏消息入口显示逻辑
  • 优化:优化缓存数据不存在时的处理逻辑

v3.1.9 (2020-10-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.9

  • 支持自定义个人中心背景主题
  • 优化帖子点赞收藏展示逻辑
  • 修复升级gorm2后造成的点赞失败问题
  • 新增签到功能入口
  • 修复一个 ssrf漏洞
  • 修复gorm日志不打印问题

v3.1.8 (2020-09-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.8

本次主要更新gorm 2.0gorm 是Go语言界orm产品的扛把子,在gorm2.0发布后,bbs-go也第一时间跟进并升级了gorm2.0,本次升级的gorm2.0 从零开始,深度优化性能、重构代码。

改进点如下:

  • 性能改进
  • 代码模块化
  • Context,批量插入,预编译模式,DryRun 模式,Join 预加载,Find To Map,Create From Map,FindInBatches
  • 支持嵌套事务,SavePoint,Rollback To SavePoint
  • SQL 生成器,命名参数,分组条件,Upsert,锁, 支持 Optimizer/Index/Comment Hint,子查询改进,使用SQL表达式、Context Valuer 进行 CRUD
  • 支持完整的自引用,改进 Join Table,批量数据的关联模式
  • 允许多个字段用于追踪 create、update 时间 ,支持 UNIX (毫/纳)秒
  • 支持字段权限:只读、只写、只创建、只更新、忽略
  • 新的插件系统,为多个数据库提供了官方插件,读写分离,prometheus 集成…
  • 全新的 Hook API:带插件的统一接口
  • 全新的 Migrator:允许为关系创建数据库外键,更智能的 AutoMigrate,支持约束、检查器,增强索引支持
  • 全新的 Logger:支持 context、改进可扩展性
  • 统一命名策略:表名、字段名、连接表名、外键、检查器、索引名称规则
  • 更好的自定义类型支持(例如: JSON)

v3.1.7 (2020-09-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.7

  • 【新特性】签到功能,签到获积分
  • 【BUGFIX】修复用户中心侧边栏管理菜单显示错误的问题
  • 【新特性】修改个人主页布局
  • 【功能增强】升级 vditor 编辑器
  • 【新特性】支持后台配置用户登录有效期

v3.1.6 (2020-08-31)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.6

  • 【新特性】支持 Docker 快速启动
  • 【改进】新用户观察期支持更小粒度的配置(之前只能配置到小时)

v3.1.5 (2020-07-10)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.5

  • 【新功能】支持多管理员功能
  • 【新功能】管理员可在前台界面删除、修改话题和文章
  • 【新功能】支持邮箱验证(发送验证邮件进行验证)
  • 【新功能】支持用户禁言功能(可设置禁言时长,禁言原因)
  • 【新功能】支持新用户观察期功能(新用户注册后观察期内无法发表内容,观察期时长可后台设置,也可关闭观察期)
  • 【新功能】支持记录操作日志
  • 【优化】优化后台文章、评论的查询性能

v3.1.4 (2020-06-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.4

  • 支持版主功能,可邀请版主一起管理社区
  • 新增操作日志功能,记录管理员、版主的管理记录
  • 整理和优化后台管理菜单
  • 优化后台文章、评论列表数据加载逻辑,解决大数据量时加载性能问题
  • 优化文章详情页近期文章展示逻辑
  • 整理和优化代码,提升性能

v3.1.3 (2020-05-04)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.3

  • feature: Go SDK 升级到 1.14
  • feature: 支持文章审核功能 PR-48 @zzy624
  • feature: 新增最新动态挂件
  • feature: 实现话题收藏功能
  • feature: 优化文章页布局
  • feature: 后台新增动态管理功能
  • feature: 后台新增标签管理功能
  • bugfix: 修复评论功能的一个 XSS 漏洞
  • bugfix: 修复后台用户角色修改失败的问题
  • bugfix: 修复后台用户头像显示错误问题
  • bugfix: 修复友情链接跳转问题
  • bugfix: 修复标签文章列表排序不正确问题
  • enhance: 优化管理后台样式

v3.1.2 (2020-04-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.2

  • 新特性:支持“动态”功能
  • 新特性:支持阿里云 OSS 图片配置缩图规则
  • 增强:重构回复功能,同时支持markdown存文本回复
  • 增强:重构 Go 语言接口部分代码

v3.1.1 (2020-03-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.1

  • 新特性:支持推文功能,快捷发表推文,沟通更顺畅(推文图片支持粘贴板上传、拖拽上传)
  • 新特性:支持图片LazyLoad功能,按需加载、快速省带宽
  • 新特性:支持配置默认发帖节点
  • 新特性:文件支持上传到服务器(之前仅支持上传到阿里云 OSS)
  • 新特性:首页导航栏添加快速发帖入口
  • 增强:调整多处样式细节,做一个追求完美的人
  • Bugfix:修复后台修改用户密码和角色的 BUG
  • Bugfix:修复后台友情链接 LOGO 显示问题
  • Bugfix:修复编辑内容为空的话题时,读取内容错误的问题
  • Bugfix:修复话题修改页面 Title 错误的问题

v3.1.0 (2020-02-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.0

  • 优化帖子列表、详情在手机屏幕上的展示
  • 去掉第三方图片的依赖
  • 优化积分中心展示样式
  • 修复 Markdown 编辑器功能错误
  • 优化项目体积

v3.0.9 (2020-02-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.9

  • 新增用户积分功能
  • 完善社区公告功能
  • 完善帖子详情页用户点赞功能
  • 升级后台管理,简化后台部署,不需要在单独部署
  • 修复帖子被回复相关系统消息发送逻辑错误的问题
  • 修复其他若干 bug

v3.0.8 (2020-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.8

  • 新增论坛公告功能
  • 用户注册时支持图片验证码
  • 用户登录时支持图片验证码
  • 后台登录支持图片验证码
  • 新增后台手动退出功能

v3.0.5 (2019-12-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.5

v3.0.4 (2019-11-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.4

  • 优化文章列表加载性能,将加载方式修改为上拉加载更多,这种方式在加载列表时不需要count列表总数量,当数据量大时count很耗时。
  • 修改网站样式和配色,新的样式和配色更加好看。
  • 重构前端页面组件,将公用部分抽象成可复用组件。
  • 重构代码完全遵循eslint配置的规则,让eslint没有警告 ⚠️。
  • 新增配置项站外链接跳转,开启后站外链接需要用户确认后才能进行跳转。

v3.0.3 (2019-11-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.3 功能建议收集:https://mlog.club/topic/609

v3.0.2 (2019-10-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.2 功能建议收集:https://mlog.club/topic/609

  • QQ 登录
  • 密码注册
  • 设置邮箱
  • 设置密码

v3.0.1 (2019-09-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.1

  • 新增话题跟帖数量
  • 新增话题点赞功能
  • 优化界面样式

v3.0.0 (2019-09-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.0

  • 修改页面样式配色
  • 新增标签下的发帖引导
  • 后台支持多标签
  • 使用Vditor编辑器

v2.0.0 (2019-09-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v2.0.0

  • 新增内容专栏功能
  • 新增好博客导航功能
  • 后台支持多 Tab 页签,操作更方便
  • 完善后台功能
  • 修复各种 BUG

v1.0.5 (2019-08-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.5

  • 重构项目使用nuxt.js来渲染前端界面,GoLang只提供数据支撑

v1.0.1 (2019-07-01)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.1

  • 修复两个数据越权访问的bug;
  • 自己发布的主题帖支持修改;
  • 优化页面布局;
  • 完善后台帖子管理功能;
  • 完善和重构代码;
',129),o=[r];function b(s,h,g,u,c,n){return a(),e("div",null,o)}const d=l(t,[["render",b]]);export{v as __pageData,d as default}; diff --git a/assets/docs_changelog.md.CohtX37C.lean.js b/assets/docs_changelog.md.CWnvxak_.lean.js similarity index 67% rename from assets/docs_changelog.md.CohtX37C.lean.js rename to assets/docs_changelog.md.CWnvxak_.lean.js index 875d1c2..e855483 100644 --- a/assets/docs_changelog.md.CohtX37C.lean.js +++ b/assets/docs_changelog.md.CWnvxak_.lean.js @@ -1 +1 @@ -import{_ as l,c as e,o as a,a5 as i}from"./chunks/framework.BjaKWcf5.js";const v=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[],"relativePath":"docs/changelog.md","filePath":"docs/changelog.md"}'),t={name:"docs/changelog.md"},r=i("",129),o=[r];function b(s,h,g,u,c,n){return a(),e("div",null,o)}const d=l(t,[["render",b]]);export{v as __pageData,d as default}; +import{_ as l,c as e,o as a,a4 as i}from"./chunks/framework.Sd_qASnv.js";const v=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[],"relativePath":"docs/changelog.md","filePath":"docs/changelog.md"}'),t={name:"docs/changelog.md"},r=i("",129),o=[r];function b(s,h,g,u,c,n){return a(),e("div",null,o)}const d=l(t,[["render",b]]);export{v as __pageData,d as default}; diff --git a/assets/docs_getstart_docker.md.DGv0x3JT.js b/assets/docs_getstart_docker.md.CV5Q9pIW.js similarity index 99% rename from assets/docs_getstart_docker.md.DGv0x3JT.js rename to assets/docs_getstart_docker.md.CV5Q9pIW.js index 30b2ffb..2007aa0 100644 --- a/assets/docs_getstart_docker.md.DGv0x3JT.js +++ b/assets/docs_getstart_docker.md.CV5Q9pIW.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a5 as n,a6 as l}from"./chunks/framework.BjaKWcf5.js";const y=JSON.parse('{"title":"安装流程","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/docker.md","filePath":"docs/getstart/docker.md"}'),k={name:"docs/getstart/docker.md"},p=n('

安装流程

提示

本安装流程介绍的是如何使用Docker快速安装bbs-go,在安装之前请确保您已经正确安装并启动Docker服务

安装步骤如下:

  1. 在你的电脑上创建目录,创建目录 bbs-go-docker,并进入该目录
  2. 准备SQL初始化脚本 在bbs-go-docker目录中创建文件:.docker-compose/mysql/docker-entrypoint-initdb.d/init.sql,该文件为SQL初始化脚本。SQL脚本内容请加QQ群获取:

  1. 创建docker-compose.yml文件
yml
version: '3.8'
+import{_ as s,c as i,o as a,a4 as n,a5 as l}from"./chunks/framework.Sd_qASnv.js";const y=JSON.parse('{"title":"安装流程","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/docker.md","filePath":"docs/getstart/docker.md"}'),k={name:"docs/getstart/docker.md"},p=n('

安装流程

提示

本安装流程介绍的是如何使用Docker快速安装bbs-go,在安装之前请确保您已经正确安装并启动Docker服务

安装步骤如下:

  1. 在你的电脑上创建目录,创建目录 bbs-go-docker,并进入该目录
  2. 准备SQL初始化脚本 在bbs-go-docker目录中创建文件:.docker-compose/mysql/docker-entrypoint-initdb.d/init.sql,该文件为SQL初始化脚本。SQL脚本内容请加QQ群获取:

  1. 创建docker-compose.yml文件
yml
version: '3.8'
 
 services:
   mysql:
diff --git a/assets/docs_getstart_docker.md.DGv0x3JT.lean.js b/assets/docs_getstart_docker.md.CV5Q9pIW.lean.js
similarity index 69%
rename from assets/docs_getstart_docker.md.DGv0x3JT.lean.js
rename to assets/docs_getstart_docker.md.CV5Q9pIW.lean.js
index 46c91b5..e518339 100644
--- a/assets/docs_getstart_docker.md.DGv0x3JT.lean.js
+++ b/assets/docs_getstart_docker.md.CV5Q9pIW.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a5 as n,a6 as l}from"./chunks/framework.BjaKWcf5.js";const y=JSON.parse('{"title":"安装流程","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/docker.md","filePath":"docs/getstart/docker.md"}'),k={name:"docs/getstart/docker.md"},p=n("",12),h=[p];function t(e,E,r,d,g,c){return a(),i("div",null,h)}const F=s(k,[["render",t]]);export{y as __pageData,F as default};
+import{_ as s,c as i,o as a,a4 as n,a5 as l}from"./chunks/framework.Sd_qASnv.js";const y=JSON.parse('{"title":"安装流程","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/docker.md","filePath":"docs/getstart/docker.md"}'),k={name:"docs/getstart/docker.md"},p=n("",12),h=[p];function t(e,E,r,d,g,c){return a(),i("div",null,h)}const F=s(k,[["render",t]]);export{y as __pageData,F as default};
diff --git a/assets/docs_getstart_installation_index.md.BFxdhziH.js b/assets/docs_getstart_installation_index.md.D6B61OuH.js
similarity index 98%
rename from assets/docs_getstart_installation_index.md.BFxdhziH.js
rename to assets/docs_getstart_installation_index.md.D6B61OuH.js
index fa5b6fd..a9512fe 100644
--- a/assets/docs_getstart_installation_index.md.BFxdhziH.js
+++ b/assets/docs_getstart_installation_index.md.D6B61OuH.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,a5 as p}from"./chunks/framework.BjaKWcf5.js";const u=JSON.parse('{"title":"代码结构","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/index.md","filePath":"docs/getstart/installation/index.md"}'),l={name:"docs/getstart/installation/index.md"},e=p(`

代码结构

模块划分

bbs-go采用前后端分离设计,一共分为三个模块:

  • server 使用go语言开发的服务端接口服务
  • site 使用node + nuxt开发的前台页面服务
  • admin 使用vue + arco 开发的后台管理系统

获取最新源码

TIP

请先确保会使用Git,Git使用教程:https://www.google.com

GitHub和Gitee上都有最新版本的源码,项目地址分别为:

以GitHub为例,执行下面命令将代码Clone到本地

shell
git clone git@github.com:mlogclub/bbs-go.git

目录结构

plain
.
+import{_ as s,c as n,o as a,a4 as p}from"./chunks/framework.Sd_qASnv.js";const u=JSON.parse('{"title":"代码结构","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/index.md","filePath":"docs/getstart/installation/index.md"}'),l={name:"docs/getstart/installation/index.md"},e=p(`

代码结构

模块划分

bbs-go采用前后端分离设计,一共分为三个模块:

  • server 使用go语言开发的服务端接口服务
  • site 使用node + nuxt开发的前台页面服务
  • admin 使用vue + arco 开发的后台管理系统

获取最新源码

TIP

请先确保会使用Git,Git使用教程:https://www.google.com

GitHub和Gitee上都有最新版本的源码,项目地址分别为:

以GitHub为例,执行下面命令将代码Clone到本地

shell
git clone git@github.com:mlogclub/bbs-go.git

目录结构

plain
.
 ├── LICENSE
 ├── README.md
 ├── docker-compose.yml
diff --git a/assets/docs_getstart_installation_index.md.BFxdhziH.lean.js b/assets/docs_getstart_installation_index.md.D6B61OuH.lean.js
similarity index 71%
rename from assets/docs_getstart_installation_index.md.BFxdhziH.lean.js
rename to assets/docs_getstart_installation_index.md.D6B61OuH.lean.js
index 4ee0432..1d0b5bd 100644
--- a/assets/docs_getstart_installation_index.md.BFxdhziH.lean.js
+++ b/assets/docs_getstart_installation_index.md.D6B61OuH.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a5 as p}from"./chunks/framework.BjaKWcf5.js";const u=JSON.parse('{"title":"代码结构","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/index.md","filePath":"docs/getstart/installation/index.md"}'),l={name:"docs/getstart/installation/index.md"},e=p("",12),i=[e];function c(t,o,r,d,h,g){return a(),n("div",null,i)}const b=s(l,[["render",c]]);export{u as __pageData,b as default};
+import{_ as s,c as n,o as a,a4 as p}from"./chunks/framework.Sd_qASnv.js";const u=JSON.parse('{"title":"代码结构","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/index.md","filePath":"docs/getstart/installation/index.md"}'),l={name:"docs/getstart/installation/index.md"},e=p("",12),i=[e];function c(t,o,r,d,h,g){return a(),n("div",null,i)}const b=s(l,[["render",c]]);export{u as __pageData,b as default};
diff --git a/assets/docs_getstart_installation_server.md.Tn8PMrRv.js b/assets/docs_getstart_installation_server.md.CGgOwjki.js
similarity index 91%
rename from assets/docs_getstart_installation_server.md.Tn8PMrRv.js
rename to assets/docs_getstart_installation_server.md.CGgOwjki.js
index 51384fc..f01c7fd 100644
--- a/assets/docs_getstart_installation_server.md.Tn8PMrRv.js
+++ b/assets/docs_getstart_installation_server.md.CGgOwjki.js
@@ -1 +1 @@
-import{_ as e,c as a,o as r,a5 as o}from"./chunks/framework.BjaKWcf5.js";const f=JSON.parse('{"title":"Server模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server.md","filePath":"docs/getstart/installation/server.md"}'),t={name:"docs/getstart/installation/server.md"},s=o('

Server模块安装

Go语言开发环境安装

安装Go

请去官网 https://go.dev/dl/ 下载对应系统的Go语言安装包。推荐版本:go1.20 +

如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。

配置Go Proxy

',6),n=[s];function l(i,d,c,h,_,p){return r(),a("div",null,n)}const m=e(t,[["render",l]]);export{f as __pageData,m as default}; +import{_ as e,c as a,o as r,a4 as o}from"./chunks/framework.Sd_qASnv.js";const f=JSON.parse('{"title":"Server模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server.md","filePath":"docs/getstart/installation/server.md"}'),t={name:"docs/getstart/installation/server.md"},s=o('

Server模块安装

Go语言开发环境安装

安装Go

请去官网 https://go.dev/dl/ 下载对应系统的Go语言安装包。推荐版本:go1.20 +

如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。

配置Go Proxy

',6),n=[s];function l(i,d,c,h,_,p){return r(),a("div",null,n)}const m=e(t,[["render",l]]);export{f as __pageData,m as default}; diff --git a/assets/docs_getstart_installation_server.md.Tn8PMrRv.lean.js b/assets/docs_getstart_installation_server.md.CGgOwjki.lean.js similarity index 72% rename from assets/docs_getstart_installation_server.md.Tn8PMrRv.lean.js rename to assets/docs_getstart_installation_server.md.CGgOwjki.lean.js index 34bc492..6057b6a 100644 --- a/assets/docs_getstart_installation_server.md.Tn8PMrRv.lean.js +++ b/assets/docs_getstart_installation_server.md.CGgOwjki.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as r,a5 as o}from"./chunks/framework.BjaKWcf5.js";const f=JSON.parse('{"title":"Server模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server.md","filePath":"docs/getstart/installation/server.md"}'),t={name:"docs/getstart/installation/server.md"},s=o("",6),n=[s];function l(i,d,c,h,_,p){return r(),a("div",null,n)}const m=e(t,[["render",l]]);export{f as __pageData,m as default}; +import{_ as e,c as a,o as r,a4 as o}from"./chunks/framework.Sd_qASnv.js";const f=JSON.parse('{"title":"Server模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server.md","filePath":"docs/getstart/installation/server.md"}'),t={name:"docs/getstart/installation/server.md"},s=o("",6),n=[s];function l(i,d,c,h,_,p){return r(),a("div",null,n)}const m=e(t,[["render",l]]);export{f as __pageData,m as default}; diff --git a/assets/docs_getstart_installation_server_go-mod.md.cj2VoU3f.js b/assets/docs_getstart_installation_server_go-mod.md.CzLO19SZ.js similarity index 96% rename from assets/docs_getstart_installation_server_go-mod.md.cj2VoU3f.js rename to assets/docs_getstart_installation_server_go-mod.md.CzLO19SZ.js index 4b7818e..d26159d 100644 --- a/assets/docs_getstart_installation_server_go-mod.md.cj2VoU3f.js +++ b/assets/docs_getstart_installation_server_go-mod.md.CzLO19SZ.js @@ -1,8 +1,8 @@ -import{_ as s,c as i,o as a,a5 as o,a7 as e}from"./chunks/framework.BjaKWcf5.js";const y=JSON.parse('{"title":"Go mod使用帮助","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/go-mod.md","filePath":"docs/getstart/installation/server/go-mod.md"}'),l={name:"docs/getstart/installation/server/go-mod.md"},t=o(`

Go mod使用帮助

Go mod 介绍

Go Modules 是 Go 语言官方的依赖管理系统,自 Go 1.11 版本起引入,并在 Go 1.13 版本中成为默认的依赖管理工具。其主要目标是解决项目依赖的版本管理问题,让开发者能够轻松地添加、更新和移除依赖。本文将向你介绍如何使用 Go Modules 管理你的 Go 项目。

Go mod 常用命令

  • go mod download: 下载依赖的module到本地cache
  • go mod edit: 编辑go.mod
  • go mod graph: 打印模块依赖图
  • go mod init: 在当前目录下初始化go.mod(就是会新建一个go.mod文件)
  • go mod tidy: 整理依赖关系,会添加丢失的module,删除不需要的module
  • go mod vender: 将依赖复制到vendor下
  • go mod verify: 校验依赖
  • go mod why: 解释为什么需要依赖

在新项目中使用

使用go mod并不要求你的项目源码放到$GOPATH下,所以你的新项目可以放到任意你喜欢的路径。在项目根目录下执行go mod init,会生成一个go.mod文件。然后你可以在其中增加你的依赖,如下:

go
module github.com/mlogclub/xxx
+import{_ as s,c as i,o as a,a4 as o,a6 as e}from"./chunks/framework.Sd_qASnv.js";const y=JSON.parse('{"title":"Go mod使用帮助","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/go-mod.md","filePath":"docs/getstart/installation/server/go-mod.md"}'),l={name:"docs/getstart/installation/server/go-mod.md"},t=o(`

Go mod使用帮助

Go mod 介绍

Go Modules 是 Go 语言官方的依赖管理系统,自 Go 1.11 版本起引入,并在 Go 1.13 版本中成为默认的依赖管理工具。其主要目标是解决项目依赖的版本管理问题,让开发者能够轻松地添加、更新和移除依赖。本文将向你介绍如何使用 Go Modules 管理你的 Go 项目。

Go mod 常用命令

  • go mod download: 下载依赖的module到本地cache
  • go mod edit: 编辑go.mod
  • go mod graph: 打印模块依赖图
  • go mod init: 在当前目录下初始化go.mod(就是会新建一个go.mod文件)
  • go mod tidy: 整理依赖关系,会添加丢失的module,删除不需要的module
  • go mod vender: 将依赖复制到vendor下
  • go mod verify: 校验依赖
  • go mod why: 解释为什么需要依赖

在新项目中使用

使用go mod并不要求你的项目源码放到$GOPATH下,所以你的新项目可以放到任意你喜欢的路径。在项目根目录下执行go mod init,会生成一个go.mod文件。然后你可以在其中增加你的依赖,如下:

go
module github.com/mlogclub/xxx
 
 go 1.12
 
 require (
     github.com/go-sql-driver/mysql v1.4.1
     .... 你的依赖类似这样,添加到这里,一行一条。
-)

然后执行go mod download,将依赖下载到本地。这些依赖并不是下载到你的项目目录下,而是会下载到$GOPATH/pkg/mod目录下,这样所有使用go mod的项目都可以共用。

在旧项目中使用

在旧项目中使用非常简单,只需要一下两个步骤:

  • go mod init: 在项目根目录下执行该命令,会在项目根目录下生成一个go.mod文件。
  • go mod tidy: 在项目根目录下执行该命令,go mod会自动分析你当前项目所需要的依赖,并且将他们下载下来。

如何升级依赖

运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号y是次要版本号) 运行 go get -u=patch 将会升级到最新的修订版本 运行 go get package@version 将会升级到指定的版本

Go mod proxy 配置

众所周知的原因,国内是无法稳定的访问Google的服务,所以很多依赖无法成功下载,这个时候我们就要为go mod配置代理,目前国内优质的go mod代理推荐一下两个:

这里我推荐使用goproxy.cn,他是国内最早提供goproxy代理的服务,他的服务由七牛提供支持,七牛也是目前国内使用Go语言经验比较丰富的公司,我一直在使用goproxy.cn,很稳定。

下面我们执行一下命令来设置goproxy:

shell
go env -w GOPROXY=https://goproxy.cn,direct

注意:go env -w是不支持老版本go语言sdk的,如果你在执行该命令时报错,可以通过执行以下命令来设置GOPROXY

shell
export GOPROXY=https://goproxy.cn

配置完成后,我们执行 go env 命令可以看到效果,如下图:

',24),d=[t];function n(h,p,r,c,g,k){return a(),i("div",null,d)}const u=s(l,[["render",n]]);export{y as __pageData,u as default}; +)

然后执行go mod download,将依赖下载到本地。这些依赖并不是下载到你的项目目录下,而是会下载到$GOPATH/pkg/mod目录下,这样所有使用go mod的项目都可以共用。

在旧项目中使用

在旧项目中使用非常简单,只需要一下两个步骤:

  • go mod init: 在项目根目录下执行该命令,会在项目根目录下生成一个go.mod文件。
  • go mod tidy: 在项目根目录下执行该命令,go mod会自动分析你当前项目所需要的依赖,并且将他们下载下来。

如何升级依赖

运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号y是次要版本号) 运行 go get -u=patch 将会升级到最新的修订版本 运行 go get package@version 将会升级到指定的版本

Go mod proxy 配置

众所周知的原因,国内是无法稳定的访问Google的服务,所以很多依赖无法成功下载,这个时候我们就要为go mod配置代理,目前国内优质的go mod代理推荐一下两个:

这里我推荐使用goproxy.cn,他是国内最早提供goproxy代理的服务,他的服务由七牛提供支持,七牛也是目前国内使用Go语言经验比较丰富的公司,我一直在使用goproxy.cn,很稳定。

下面我们执行一下命令来设置goproxy:

shell
go env -w GOPROXY=https://goproxy.cn,direct

注意:go env -w是不支持老版本go语言sdk的,如果你在执行该命令时报错,可以通过执行以下命令来设置GOPROXY

shell
export GOPROXY=https://goproxy.cn

配置完成后,我们执行 go env 命令可以看到效果,如下图:

',24),d=[t];function n(h,p,r,c,g,k){return a(),i("div",null,d)}const u=s(l,[["render",n]]);export{y as __pageData,u as default}; diff --git a/assets/docs_getstart_installation_server_go-mod.md.cj2VoU3f.lean.js b/assets/docs_getstart_installation_server_go-mod.md.CzLO19SZ.lean.js similarity index 73% rename from assets/docs_getstart_installation_server_go-mod.md.cj2VoU3f.lean.js rename to assets/docs_getstart_installation_server_go-mod.md.CzLO19SZ.lean.js index 6065070..299e27d 100644 --- a/assets/docs_getstart_installation_server_go-mod.md.cj2VoU3f.lean.js +++ b/assets/docs_getstart_installation_server_go-mod.md.CzLO19SZ.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a5 as o,a7 as e}from"./chunks/framework.BjaKWcf5.js";const y=JSON.parse('{"title":"Go mod使用帮助","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/go-mod.md","filePath":"docs/getstart/installation/server/go-mod.md"}'),l={name:"docs/getstart/installation/server/go-mod.md"},t=o("",24),d=[t];function n(h,p,r,c,g,k){return a(),i("div",null,d)}const u=s(l,[["render",n]]);export{y as __pageData,u as default}; +import{_ as s,c as i,o as a,a4 as o,a6 as e}from"./chunks/framework.Sd_qASnv.js";const y=JSON.parse('{"title":"Go mod使用帮助","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/go-mod.md","filePath":"docs/getstart/installation/server/go-mod.md"}'),l={name:"docs/getstart/installation/server/go-mod.md"},t=o("",24),d=[t];function n(h,p,r,c,g,k){return a(),i("div",null,d)}const u=s(l,[["render",n]]);export{y as __pageData,u as default}; diff --git a/assets/docs_getstart_installation_server_install-go.md.YK1dBgO3.js b/assets/docs_getstart_installation_server_install-go.md.Cdhrcsic.js similarity index 86% rename from assets/docs_getstart_installation_server_install-go.md.YK1dBgO3.js rename to assets/docs_getstart_installation_server_install-go.md.Cdhrcsic.js index 524600a..009a81c 100644 --- a/assets/docs_getstart_installation_server_install-go.md.YK1dBgO3.js +++ b/assets/docs_getstart_installation_server_install-go.md.Cdhrcsic.js @@ -1 +1 @@ -import{_ as o,c as a,o as s,m as e,a as t}from"./chunks/framework.BjaKWcf5.js";const v=JSON.parse('{"title":"安装Go","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install-go.md","filePath":"docs/getstart/installation/server/install-go.md"}'),r={name:"docs/getstart/installation/server/install-go.md"},l=e("h1",{id:"安装go",tabindex:"-1"},[t("安装Go "),e("a",{class:"header-anchor",href:"#安装go","aria-label":'Permalink to "安装Go"'},"​")],-1),n=e("p",null,[t("请去官网 "),e("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"https://go.dev/dl/"),t(" 下载对应系统的Go语言安装包。"),e("code",null,"推荐版本:go1.20 +")],-1),i=e("p",null,"如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。",-1),c=[l,n,i];function d(_,h,p,g,f,m){return s(),a("div",null,c)}const G=o(r,[["render",d]]);export{v as __pageData,G as default}; +import{_ as o,c as a,o as s,l as e,a as t}from"./chunks/framework.Sd_qASnv.js";const v=JSON.parse('{"title":"安装Go","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install-go.md","filePath":"docs/getstart/installation/server/install-go.md"}'),r={name:"docs/getstart/installation/server/install-go.md"},l=e("h1",{id:"安装go",tabindex:"-1"},[t("安装Go "),e("a",{class:"header-anchor",href:"#安装go","aria-label":'Permalink to "安装Go"'},"​")],-1),n=e("p",null,[t("请去官网 "),e("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"https://go.dev/dl/"),t(" 下载对应系统的Go语言安装包。"),e("code",null,"推荐版本:go1.20 +")],-1),i=e("p",null,"如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。",-1),c=[l,n,i];function d(_,h,p,g,f,m){return s(),a("div",null,c)}const G=o(r,[["render",d]]);export{v as __pageData,G as default}; diff --git a/assets/docs_getstart_installation_server_install-go.md.YK1dBgO3.lean.js b/assets/docs_getstart_installation_server_install-go.md.Cdhrcsic.lean.js similarity index 86% rename from assets/docs_getstart_installation_server_install-go.md.YK1dBgO3.lean.js rename to assets/docs_getstart_installation_server_install-go.md.Cdhrcsic.lean.js index 524600a..009a81c 100644 --- a/assets/docs_getstart_installation_server_install-go.md.YK1dBgO3.lean.js +++ b/assets/docs_getstart_installation_server_install-go.md.Cdhrcsic.lean.js @@ -1 +1 @@ -import{_ as o,c as a,o as s,m as e,a as t}from"./chunks/framework.BjaKWcf5.js";const v=JSON.parse('{"title":"安装Go","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install-go.md","filePath":"docs/getstart/installation/server/install-go.md"}'),r={name:"docs/getstart/installation/server/install-go.md"},l=e("h1",{id:"安装go",tabindex:"-1"},[t("安装Go "),e("a",{class:"header-anchor",href:"#安装go","aria-label":'Permalink to "安装Go"'},"​")],-1),n=e("p",null,[t("请去官网 "),e("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"https://go.dev/dl/"),t(" 下载对应系统的Go语言安装包。"),e("code",null,"推荐版本:go1.20 +")],-1),i=e("p",null,"如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。",-1),c=[l,n,i];function d(_,h,p,g,f,m){return s(),a("div",null,c)}const G=o(r,[["render",d]]);export{v as __pageData,G as default}; +import{_ as o,c as a,o as s,l as e,a as t}from"./chunks/framework.Sd_qASnv.js";const v=JSON.parse('{"title":"安装Go","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install-go.md","filePath":"docs/getstart/installation/server/install-go.md"}'),r={name:"docs/getstart/installation/server/install-go.md"},l=e("h1",{id:"安装go",tabindex:"-1"},[t("安装Go "),e("a",{class:"header-anchor",href:"#安装go","aria-label":'Permalink to "安装Go"'},"​")],-1),n=e("p",null,[t("请去官网 "),e("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"https://go.dev/dl/"),t(" 下载对应系统的Go语言安装包。"),e("code",null,"推荐版本:go1.20 +")],-1),i=e("p",null,"如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。",-1),c=[l,n,i];function d(_,h,p,g,f,m){return s(),a("div",null,c)}const G=o(r,[["render",d]]);export{v as __pageData,G as default}; diff --git a/assets/docs_getstart_installation_server_install.md.D7xTG-U8.js b/assets/docs_getstart_installation_server_install.md.BQ1mF7nt.js similarity index 99% rename from assets/docs_getstart_installation_server_install.md.D7xTG-U8.js rename to assets/docs_getstart_installation_server_install.md.BQ1mF7nt.js index ce76d71..b2b9b59 100644 --- a/assets/docs_getstart_installation_server_install.md.D7xTG-U8.js +++ b/assets/docs_getstart_installation_server_install.md.BQ1mF7nt.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.BjaKWcf5.js";const c=JSON.parse('{"title":"Server 模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install.md","filePath":"docs/getstart/installation/server/install.md"}'),l={name:"docs/getstart/installation/server/install.md"},h=n(`

Server 模块安装

提示

开始之前请确保正确安装Go语言开发环境,并设置已经设置好环境变量。安装教程详见:https://www.google.com

安装依赖

server模块的依赖使用go mod进行管理,进入 server 目录,执行下面命令安装依赖:

shell
go mod download -x

编译

依赖安装成功后,执行下面命令进行编译

shell
go build

编译成功后,会在当前目录生成二进制可执行文件 bbs-go (Windows系统为bbs-go.exe

这个文件是可以执行的,但我们先不着急执行,因为还没有正确配置数据库等信息,接下来我们看如何配置。

配置

系统提供了配置示例文件:bbs-go.example.yaml,将他复制一份,并命名为:bbs-go.dev.yaml,然后将bbs-go.dev.yaml中的配置修改为你自己的配置。配置示例如下:

yaml
Env: prod # 环境,线上环境:prod、测试环境:dev
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.Sd_qASnv.js";const c=JSON.parse('{"title":"Server 模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install.md","filePath":"docs/getstart/installation/server/install.md"}'),l={name:"docs/getstart/installation/server/install.md"},h=n(`

Server 模块安装

提示

开始之前请确保正确安装Go语言开发环境,并设置已经设置好环境变量。安装教程详见:https://www.google.com

安装依赖

server模块的依赖使用go mod进行管理,进入 server 目录,执行下面命令安装依赖:

shell
go mod download -x

编译

依赖安装成功后,执行下面命令进行编译

shell
go build

编译成功后,会在当前目录生成二进制可执行文件 bbs-go (Windows系统为bbs-go.exe

这个文件是可以执行的,但我们先不着急执行,因为还没有正确配置数据库等信息,接下来我们看如何配置。

配置

系统提供了配置示例文件:bbs-go.example.yaml,将他复制一份,并命名为:bbs-go.dev.yaml,然后将bbs-go.dev.yaml中的配置修改为你自己的配置。配置示例如下:

yaml
Env: prod # 环境,线上环境:prod、测试环境:dev
 BaseUrl: https://mlog.club # 网站域名
 Port: 8082 # 端口
 StaticPath: /data/www  # 根路径下的静态文件目录,可配置绝对路径
diff --git a/assets/docs_getstart_installation_server_install.md.D7xTG-U8.lean.js b/assets/docs_getstart_installation_server_install.md.BQ1mF7nt.lean.js
similarity index 73%
rename from assets/docs_getstart_installation_server_install.md.D7xTG-U8.lean.js
rename to assets/docs_getstart_installation_server_install.md.BQ1mF7nt.lean.js
index 1bdd02a..ed4c581 100644
--- a/assets/docs_getstart_installation_server_install.md.D7xTG-U8.lean.js
+++ b/assets/docs_getstart_installation_server_install.md.BQ1mF7nt.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.BjaKWcf5.js";const c=JSON.parse('{"title":"Server 模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install.md","filePath":"docs/getstart/installation/server/install.md"}'),l={name:"docs/getstart/installation/server/install.md"},h=n("",29),p=[h];function t(k,e,r,E,d,o){return a(),i("div",null,p)}const y=s(l,[["render",t]]);export{c as __pageData,y as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.Sd_qASnv.js";const c=JSON.parse('{"title":"Server 模块安装","description":"","frontmatter":{},"headers":[],"relativePath":"docs/getstart/installation/server/install.md","filePath":"docs/getstart/installation/server/install.md"}'),l={name:"docs/getstart/installation/server/install.md"},h=n("",29),p=[h];function t(k,e,r,E,d,o){return a(),i("div",null,p)}const y=s(l,[["render",t]]);export{c as __pageData,y as default};
diff --git a/assets/docs_index.md.B3W0vpF_.js b/assets/docs_index.md.B3W0vpF_.js
new file mode 100644
index 0000000..aea6646
--- /dev/null
+++ b/assets/docs_index.md.B3W0vpF_.js
@@ -0,0 +1 @@
+import{_ as e,c as a,o as t,a4 as r,a5 as o}from"./chunks/framework.Sd_qASnv.js";const p=JSON.parse('{"title":"功能介绍","description":"","frontmatter":{},"headers":[],"relativePath":"docs/index.md","filePath":"docs/index.md"}'),l={name:"docs/index.md"},i=r('

功能介绍

概要

bbs-go 是一款基于 Go 语言研发的开源前后端分离精美小巧跨平台的社区系统。初期该项目仅用过学习和交流,开源之后越来越多的小伙伴儿开始喜欢和关注他,这也是我长期升级和维护的动力。

bbs-go 为前后端分离设计,后端接口服务使用简洁的 Go 语言进行开发,前端页面使用 Vue.js 进行开发。系统由三个模块组成:

  • server:go 语言开发后端接口服务,为系统提供数据支撑
  • site:基于 Nuxt.js 开发的社区前台 UI 服务
  • admin:基于 Vue.js 开发的社区运营

功能

bbs-go功能简介

官网

技术栈

交流群/联系我

bbs-go交流群

',13),s=[i];function h(c,n,d,b,u,m){return t(),a("div",null,s)}const _=e(l,[["render",h]]);export{p as __pageData,_ as default}; diff --git a/assets/docs_index.md.DAoJYKdi.lean.js b/assets/docs_index.md.B3W0vpF_.lean.js similarity index 67% rename from assets/docs_index.md.DAoJYKdi.lean.js rename to assets/docs_index.md.B3W0vpF_.lean.js index fc6f0fa..9c11375 100644 --- a/assets/docs_index.md.DAoJYKdi.lean.js +++ b/assets/docs_index.md.B3W0vpF_.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,a5 as r,a6 as o}from"./chunks/framework.BjaKWcf5.js";const p=JSON.parse('{"title":"功能介绍","description":"","frontmatter":{},"headers":[],"relativePath":"docs/index.md","filePath":"docs/index.md"}'),l={name:"docs/index.md"},i=r("",13),s=[i];function h(c,n,d,b,u,m){return t(),a("div",null,s)}const _=e(l,[["render",h]]);export{p as __pageData,_ as default}; +import{_ as e,c as a,o as t,a4 as r,a5 as o}from"./chunks/framework.Sd_qASnv.js";const p=JSON.parse('{"title":"功能介绍","description":"","frontmatter":{},"headers":[],"relativePath":"docs/index.md","filePath":"docs/index.md"}'),l={name:"docs/index.md"},i=r("",13),s=[i];function h(c,n,d,b,u,m){return t(),a("div",null,s)}const _=e(l,[["render",h]]);export{p as __pageData,_ as default}; diff --git a/assets/docs_index.md.DAoJYKdi.js b/assets/docs_index.md.DAoJYKdi.js deleted file mode 100644 index c76b0c8..0000000 --- a/assets/docs_index.md.DAoJYKdi.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as a,o as t,a5 as r,a6 as o}from"./chunks/framework.BjaKWcf5.js";const p=JSON.parse('{"title":"功能介绍","description":"","frontmatter":{},"headers":[],"relativePath":"docs/index.md","filePath":"docs/index.md"}'),l={name:"docs/index.md"},i=r('

功能介绍

概要

bbs-go 是一款基于Go语言研发的开源前后端分离精美小巧跨平台的社区系统。初期该项目仅用过学习和交流,开源之后越来越多的小伙伴儿开始喜欢和关注他,这也是我长期升级和维护的动力。

bbs-go 为前后端分离设计,后端接口服务使用简洁的Go语言进行开发,前端页面使用Vue.js进行开发。系统由三个模块组成:

  • server:go语言开发后端接口服务,为系统提供数据支撑
  • site:基于Nuxt.js开发的社区前台UI服务
  • admin:基于Vue.js开发的社区运营

功能

bbs-go功能简介

官网

技术栈

交流群/联系我

',13),s=[i];function h(c,n,d,b,u,m){return t(),a("div",null,s)}const _=e(l,[["render",h]]);export{p as __pageData,_ as default}; diff --git a/assets/docs_internal_initsql.md.Bp82G-rl.js b/assets/docs_internal_initsql.md.BzA2xIeT.js similarity index 99% rename from assets/docs_internal_initsql.md.Bp82G-rl.js rename to assets/docs_internal_initsql.md.BzA2xIeT.js index f296c61..f757ef3 100644 --- a/assets/docs_internal_initsql.md.Bp82G-rl.js +++ b/assets/docs_internal_initsql.md.BzA2xIeT.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a5 as h}from"./chunks/framework.BjaKWcf5.js";const y=JSON.parse('{"title":"SQL初始化脚本","description":"","frontmatter":{},"headers":[],"relativePath":"docs/internal/initsql.md","filePath":"docs/internal/initsql.md"}'),k={name:"docs/internal/initsql.md"},n=h('

SQL初始化脚本

提示

初始化账号为:admin、密码为:123456

sql
USE bbsgo_db;\nSET NAMES utf8mb4;\n-- 初始化用户表\nCREATE TABLE `t_user` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `username` varchar(32) DEFAULT NULL,\n  `email` varchar(128) DEFAULT NULL,\n  `email_verified` tinyint(1) NOT NULL DEFAULT '0',\n  `nickname` varchar(16) DEFAULT NULL,\n  `avatar` text,\n  `gender` varchar(16) DEFAULT '',\n  `birthday` datetime(3) DEFAULT NULL,\n  `background_image` text,\n  `password` varchar(512) DEFAULT NULL,\n  `home_page` varchar(1024) DEFAULT NULL,\n  `description` text,\n  `score` int(11) NOT NULL,\n  `status` int(11) NOT NULL,\n  `topic_count` int(11) NOT NULL,\n  `comment_count` int(11) NOT NULL,\n  `follow_count` int(11) NOT NULL,\n  `fans_count` int(11) NOT NULL,\n  `roles` text,\n  `forbidden_end_time` bigint(20) NOT NULL DEFAULT '0',\n  `create_time` bigint(20) DEFAULT NULL,\n  `update_time` bigint(20) DEFAULT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `username` (`username`),\n  UNIQUE KEY `email` (`email`),\n  KEY `idx_user_score` (`score`),\n  KEY `idx_user_status` (`status`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n-- 初始化用户数据(用户名:admin、密码:123456)\nINSERT INTO t_user (\n    `id`,\n    `username`,\n    `nickname`,\n    `avatar`,\n    `email`,\n    `password`,\n    `status`,\n    `create_time`,\n    `update_time`,\n    `roles`,\n    `description`,\n    `topic_count`,\n    `comment_count`,\n    `score`,\n    `follow_count`,\n    `fans_count`\n  )\nSELECT 1,\n  'admin',\n  'bbsgo站长',\n  '',\n  'a@example.com',\n  '$2a$10$ofA39bAFMpYpIX/Xiz7jtOMH9JnPvYfPRlzHXqAtLPFpbE/cLdjmS',\n  0,\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000),\n  'owner',\n  '轻轻地我走了,正如我轻轻的来。',\n  0,\n  0,\n  0,\n  0,\n  0\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_user`\n    WHERE `id` = 1\n  );\n-- 初始化话题节点\nCREATE TABLE `t_topic_node` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(32) DEFAULT NULL,\n  `description` varchar(1024) DEFAULT NULL,\n  `logo` varchar(1024) DEFAULT NULL,\n  `sort_no` int(11) DEFAULT NULL,\n  `status` int(11) NOT NULL,\n  `create_time` bigint(20) DEFAULT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `name` (`name`),\n  KEY `idx_sort_no` (`sort_no`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\nINSERT INTO `t_topic_node` (\n    `id`,\n    `name`,\n    `description`,\n    `sort_no`,\n    `status`,\n    `create_time`\n  )\nSELECT 1,\n  '默认节点',\n  '',\n  0,\n  0,\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_topic_node`\n    WHERE `id` = 1\n  );\n-- 初始化系统配置表\nCREATE TABLE `t_sys_config` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `key` varchar(128) NOT NULL,\n  `value` text,\n  `name` varchar(32) NOT NULL,\n  `description` varchar(128) DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL,\n  `update_time` bigint(20) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `key` (`key`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n-- 初始化系统配置数据\nINSERT INTO t_sys_config(\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteTitle',\n  'bbs-go演示站',\n  '站点标题',\n  '站点标题',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteTitle'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteDescription',\n  'bbs-go,基于Go语言的开源社区系统',\n  '站点描述',\n  '站点描述',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteDescription'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteKeywords',\n  '["bbs-go"]',\n  '站点关键字',\n  '站点关键字',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteKeywords'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteNavs',\n  '[{\\"title\\":\\"首页\\",\\"url\\":\\"/\\"},{\\"title\\":\\"话题\\",\\"url\\":\\"/topics\\"},{\\"title\\":\\"文章\\",\\"url\\":\\"/articles\\"}]',\n  '站点导航',\n  '站点导航',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteNavs'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'defaultNodeId',\n  '1',\n  '默认节点',\n  '默认节点',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'defaultNodeId'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'tokenExpireDays',\n  '365',\n  '用户登录有效期(天)',\n  '用户登录有效期(天)',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'tokenExpireDays'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'scoreConfig',\n  '{"postTopicScore":1,"postCommentScore":1,"checkInScore":1}',\n  '积分配置',\n  '积分配置',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'scoreConfig'\n  );\n\n-- 菜单配置\nDROP TABLE IF EXISTS `t_menu`;\nCREATE TABLE `t_menu` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `parent_id` bigint(20) DEFAULT NULL,\n  `name` varchar(256) DEFAULT NULL,\n  `title` varchar(64) DEFAULT NULL,\n  `icon` varchar(1024) DEFAULT NULL,\n  `path` varchar(1024) DEFAULT NULL,\n  `sort_no` bigint(20) NOT NULL DEFAULT '0',\n  `status` bigint(20) DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  `update_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_menu` (`id`, `parent_id`, `title`, `name`, `icon`, `path`, `sort_no`, `status`, `create_time`, `update_time`) VALUES\n(1, 0, '仪表盘', 'Dashboard', 'icon-dashboard', '/dashboard', 0, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(2, 0, '用户管理', 'User', 'icon-user', '/user', 1, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(3, 0, '帖子管理', '', 'icon-file', '', 2, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(4, 3, '节点管理', 'TopicNode', '', '/topic/topic-node', 3, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(5, 3, '帖子管理', 'Topic', '', '/topic/index', 4, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(6, 0, '文章管理', 'Article', 'icon-nav', '/article', 5, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(7, 0, '违禁词', 'ForbiddenWord', 'icon-stop', '/forbidden-word', 6, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(8, 0, '友情链接', 'Link', 'icon-link', '/link', 7, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(9, 0, '系统设置', 'Settings', 'icon-settings', '/settings', 8, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(10, 0, '权限管理', '', 'icon-lock', '', 9, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(11, 10, '角色管理', 'Role', '', '/permission/role', 10, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(12, 10, '菜单管理', 'Menu', '', '/permission/menu', 11, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(13, 10, '权限分配', 'Permission', '', '/permission/index', 12, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000));\n\n\n-- 角色配置\nDROP TABLE IF EXISTS `t_role`;\nCREATE TABLE `t_role` (\n  `id` bigint NOT NULL AUTO_INCREMENT,\n  `type` bigint NOT NULL DEFAULT '1',\n  `name` varchar(64) DEFAULT NULL,\n  `code` varchar(64) DEFAULT NULL,\n  `sort_no` bigint DEFAULT NULL,\n  `remark` varchar(256) DEFAULT NULL,\n  `status` bigint DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  `update_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `code` (`code`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_role` (`id`, `type`, `name`, `code`, `sort_no`, `remark`, `status`, `create_time`, `update_time`) VALUES\n(1, 0, '超级管理员', 'owner', 0, '超级管理员', 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(2, 0, '管理员', 'admin', 1, '管理员', 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000));\n\n-- 用户角色\nDROP TABLE IF EXISTS `t_user_role`;\nCREATE TABLE `t_user_role` (\n  `id` bigint NOT NULL AUTO_INCREMENT,\n  `user_id` bigint DEFAULT NULL,\n  `role_id` bigint DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_user_role` (`user_id`,`role_id`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_user_role` (`id`, `user_id`, `role_id`, `create_time`) VALUES\n(1, 1, 1, (UNIX_TIMESTAMP(now()) * 1000));\n\n\n-- 角色菜单\nDROP TABLE IF EXISTS `t_role_menu`;\nCREATE TABLE `t_role_menu` (\n  `id` bigint NOT NULL AUTO_INCREMENT,\n  `role_id` bigint DEFAULT NULL,\n  `menu_id` bigint DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_role_menu` (`role_id`,`menu_id`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_role_menu` (`id`, `role_id`, `menu_id`, `create_time`) VALUES\n(1, 1, 1, (UNIX_TIMESTAMP(now()) * 1000)),\n(2, 1, 2, (UNIX_TIMESTAMP(now()) * 1000)),\n(3, 1, 3, (UNIX_TIMESTAMP(now()) * 1000)),\n(4, 1, 6, (UNIX_TIMESTAMP(now()) * 1000)),\n(5, 1, 7, (UNIX_TIMESTAMP(now()) * 1000)),\n(6, 1, 8, (UNIX_TIMESTAMP(now()) * 1000)),\n(7, 1, 9, (UNIX_TIMESTAMP(now()) * 1000)),\n(8, 1, 4, (UNIX_TIMESTAMP(now()) * 1000)),\n(9, 1, 5, (UNIX_TIMESTAMP(now()) * 1000)),\n(10, 1, 10, (UNIX_TIMESTAMP(now()) * 1000)),\n(11, 1, 11, (UNIX_TIMESTAMP(now()) * 1000)),\n(12, 1, 12, (UNIX_TIMESTAMP(now()) * 1000)),\n(13, 1, 13, (UNIX_TIMESTAMP(now()) * 1000)),\n(14, 2, 1, (UNIX_TIMESTAMP(now()) * 1000)),\n(15, 2, 2, (UNIX_TIMESTAMP(now()) * 1000)),\n(16, 2, 3, (UNIX_TIMESTAMP(now()) * 1000)),\n(17, 2, 6, (UNIX_TIMESTAMP(now()) * 1000)),\n(18, 2, 7, (UNIX_TIMESTAMP(now()) * 1000)),\n(19, 2, 8, (UNIX_TIMESTAMP(now()) * 1000)),\n(20, 2, 4, (UNIX_TIMESTAMP(now()) * 1000)),\n(21, 2, 5, (UNIX_TIMESTAMP(now()) * 1000)),\n(22, 2, 9, (UNIX_TIMESTAMP(now()) * 1000));
',3),l=[n];function p(t,E,e,r,F,d){return a(),i("div",null,l)}const C=s(k,[["render",p]]);export{y as __pageData,C as default}; +import{_ as s,c as i,o as a,a4 as h}from"./chunks/framework.Sd_qASnv.js";const y=JSON.parse('{"title":"SQL初始化脚本","description":"","frontmatter":{},"headers":[],"relativePath":"docs/internal/initsql.md","filePath":"docs/internal/initsql.md"}'),k={name:"docs/internal/initsql.md"},n=h('

SQL初始化脚本

提示

初始化账号为:admin、密码为:123456

sql
USE bbsgo_db;\nSET NAMES utf8mb4;\n-- 初始化用户表\nCREATE TABLE `t_user` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `username` varchar(32) DEFAULT NULL,\n  `email` varchar(128) DEFAULT NULL,\n  `email_verified` tinyint(1) NOT NULL DEFAULT '0',\n  `nickname` varchar(16) DEFAULT NULL,\n  `avatar` text,\n  `gender` varchar(16) DEFAULT '',\n  `birthday` datetime(3) DEFAULT NULL,\n  `background_image` text,\n  `password` varchar(512) DEFAULT NULL,\n  `home_page` varchar(1024) DEFAULT NULL,\n  `description` text,\n  `score` int(11) NOT NULL,\n  `status` int(11) NOT NULL,\n  `topic_count` int(11) NOT NULL,\n  `comment_count` int(11) NOT NULL,\n  `follow_count` int(11) NOT NULL,\n  `fans_count` int(11) NOT NULL,\n  `roles` text,\n  `forbidden_end_time` bigint(20) NOT NULL DEFAULT '0',\n  `create_time` bigint(20) DEFAULT NULL,\n  `update_time` bigint(20) DEFAULT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `username` (`username`),\n  UNIQUE KEY `email` (`email`),\n  KEY `idx_user_score` (`score`),\n  KEY `idx_user_status` (`status`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n-- 初始化用户数据(用户名:admin、密码:123456)\nINSERT INTO t_user (\n    `id`,\n    `username`,\n    `nickname`,\n    `avatar`,\n    `email`,\n    `password`,\n    `status`,\n    `create_time`,\n    `update_time`,\n    `roles`,\n    `description`,\n    `topic_count`,\n    `comment_count`,\n    `score`,\n    `follow_count`,\n    `fans_count`\n  )\nSELECT 1,\n  'admin',\n  'bbsgo站长',\n  '',\n  'a@example.com',\n  '$2a$10$ofA39bAFMpYpIX/Xiz7jtOMH9JnPvYfPRlzHXqAtLPFpbE/cLdjmS',\n  0,\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000),\n  'owner',\n  '轻轻地我走了,正如我轻轻的来。',\n  0,\n  0,\n  0,\n  0,\n  0\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_user`\n    WHERE `id` = 1\n  );\n-- 初始化话题节点\nCREATE TABLE `t_topic_node` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(32) DEFAULT NULL,\n  `description` varchar(1024) DEFAULT NULL,\n  `logo` varchar(1024) DEFAULT NULL,\n  `sort_no` int(11) DEFAULT NULL,\n  `status` int(11) NOT NULL,\n  `create_time` bigint(20) DEFAULT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `name` (`name`),\n  KEY `idx_sort_no` (`sort_no`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\nINSERT INTO `t_topic_node` (\n    `id`,\n    `name`,\n    `description`,\n    `sort_no`,\n    `status`,\n    `create_time`\n  )\nSELECT 1,\n  '默认节点',\n  '',\n  0,\n  0,\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_topic_node`\n    WHERE `id` = 1\n  );\n-- 初始化系统配置表\nCREATE TABLE `t_sys_config` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `key` varchar(128) NOT NULL,\n  `value` text,\n  `name` varchar(32) NOT NULL,\n  `description` varchar(128) DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL,\n  `update_time` bigint(20) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `key` (`key`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n-- 初始化系统配置数据\nINSERT INTO t_sys_config(\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteTitle',\n  'bbs-go演示站',\n  '站点标题',\n  '站点标题',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteTitle'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteDescription',\n  'bbs-go,基于Go语言的开源社区系统',\n  '站点描述',\n  '站点描述',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteDescription'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteKeywords',\n  '["bbs-go"]',\n  '站点关键字',\n  '站点关键字',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteKeywords'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'siteNavs',\n  '[{\\"title\\":\\"首页\\",\\"url\\":\\"/\\"},{\\"title\\":\\"话题\\",\\"url\\":\\"/topics\\"},{\\"title\\":\\"文章\\",\\"url\\":\\"/articles\\"}]',\n  '站点导航',\n  '站点导航',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'siteNavs'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'defaultNodeId',\n  '1',\n  '默认节点',\n  '默认节点',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'defaultNodeId'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'tokenExpireDays',\n  '365',\n  '用户登录有效期(天)',\n  '用户登录有效期(天)',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'tokenExpireDays'\n  );\nINSERT INTO t_sys_config (\n    `key`,\n    `value`,\n    `name`,\n    `description`,\n    `create_time`,\n    `update_time`\n  )\nSELECT 'scoreConfig',\n  '{"postTopicScore":1,"postCommentScore":1,"checkInScore":1}',\n  '积分配置',\n  '积分配置',\n  (UNIX_TIMESTAMP(now()) * 1000),\n  (UNIX_TIMESTAMP(now()) * 1000)\nFROM DUAL\nWHERE NOT EXISTS(\n    SELECT *\n    FROM `t_sys_config`\n    WHERE `key` = 'scoreConfig'\n  );\n\n-- 菜单配置\nDROP TABLE IF EXISTS `t_menu`;\nCREATE TABLE `t_menu` (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `parent_id` bigint(20) DEFAULT NULL,\n  `name` varchar(256) DEFAULT NULL,\n  `title` varchar(64) DEFAULT NULL,\n  `icon` varchar(1024) DEFAULT NULL,\n  `path` varchar(1024) DEFAULT NULL,\n  `sort_no` bigint(20) NOT NULL DEFAULT '0',\n  `status` bigint(20) DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  `update_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_menu` (`id`, `parent_id`, `title`, `name`, `icon`, `path`, `sort_no`, `status`, `create_time`, `update_time`) VALUES\n(1, 0, '仪表盘', 'Dashboard', 'icon-dashboard', '/dashboard', 0, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(2, 0, '用户管理', 'User', 'icon-user', '/user', 1, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(3, 0, '帖子管理', '', 'icon-file', '', 2, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(4, 3, '节点管理', 'TopicNode', '', '/topic/topic-node', 3, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(5, 3, '帖子管理', 'Topic', '', '/topic/index', 4, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(6, 0, '文章管理', 'Article', 'icon-nav', '/article', 5, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(7, 0, '违禁词', 'ForbiddenWord', 'icon-stop', '/forbidden-word', 6, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(8, 0, '友情链接', 'Link', 'icon-link', '/link', 7, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(9, 0, '系统设置', 'Settings', 'icon-settings', '/settings', 8, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(10, 0, '权限管理', '', 'icon-lock', '', 9, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(11, 10, '角色管理', 'Role', '', '/permission/role', 10, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(12, 10, '菜单管理', 'Menu', '', '/permission/menu', 11, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(13, 10, '权限分配', 'Permission', '', '/permission/index', 12, 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000));\n\n\n-- 角色配置\nDROP TABLE IF EXISTS `t_role`;\nCREATE TABLE `t_role` (\n  `id` bigint NOT NULL AUTO_INCREMENT,\n  `type` bigint NOT NULL DEFAULT '1',\n  `name` varchar(64) DEFAULT NULL,\n  `code` varchar(64) DEFAULT NULL,\n  `sort_no` bigint DEFAULT NULL,\n  `remark` varchar(256) DEFAULT NULL,\n  `status` bigint DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  `update_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `code` (`code`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_role` (`id`, `type`, `name`, `code`, `sort_no`, `remark`, `status`, `create_time`, `update_time`) VALUES\n(1, 0, '超级管理员', 'owner', 0, '超级管理员', 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000)),\n(2, 0, '管理员', 'admin', 1, '管理员', 0, (UNIX_TIMESTAMP(now()) * 1000), (UNIX_TIMESTAMP(now()) * 1000));\n\n-- 用户角色\nDROP TABLE IF EXISTS `t_user_role`;\nCREATE TABLE `t_user_role` (\n  `id` bigint NOT NULL AUTO_INCREMENT,\n  `user_id` bigint DEFAULT NULL,\n  `role_id` bigint DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_user_role` (`user_id`,`role_id`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_user_role` (`id`, `user_id`, `role_id`, `create_time`) VALUES\n(1, 1, 1, (UNIX_TIMESTAMP(now()) * 1000));\n\n\n-- 角色菜单\nDROP TABLE IF EXISTS `t_role_menu`;\nCREATE TABLE `t_role_menu` (\n  `id` bigint NOT NULL AUTO_INCREMENT,\n  `role_id` bigint DEFAULT NULL,\n  `menu_id` bigint DEFAULT NULL,\n  `create_time` bigint(20) NOT NULL DEFAULT '0',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_role_menu` (`role_id`,`menu_id`)\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;\n\nINSERT INTO `t_role_menu` (`id`, `role_id`, `menu_id`, `create_time`) VALUES\n(1, 1, 1, (UNIX_TIMESTAMP(now()) * 1000)),\n(2, 1, 2, (UNIX_TIMESTAMP(now()) * 1000)),\n(3, 1, 3, (UNIX_TIMESTAMP(now()) * 1000)),\n(4, 1, 6, (UNIX_TIMESTAMP(now()) * 1000)),\n(5, 1, 7, (UNIX_TIMESTAMP(now()) * 1000)),\n(6, 1, 8, (UNIX_TIMESTAMP(now()) * 1000)),\n(7, 1, 9, (UNIX_TIMESTAMP(now()) * 1000)),\n(8, 1, 4, (UNIX_TIMESTAMP(now()) * 1000)),\n(9, 1, 5, (UNIX_TIMESTAMP(now()) * 1000)),\n(10, 1, 10, (UNIX_TIMESTAMP(now()) * 1000)),\n(11, 1, 11, (UNIX_TIMESTAMP(now()) * 1000)),\n(12, 1, 12, (UNIX_TIMESTAMP(now()) * 1000)),\n(13, 1, 13, (UNIX_TIMESTAMP(now()) * 1000)),\n(14, 2, 1, (UNIX_TIMESTAMP(now()) * 1000)),\n(15, 2, 2, (UNIX_TIMESTAMP(now()) * 1000)),\n(16, 2, 3, (UNIX_TIMESTAMP(now()) * 1000)),\n(17, 2, 6, (UNIX_TIMESTAMP(now()) * 1000)),\n(18, 2, 7, (UNIX_TIMESTAMP(now()) * 1000)),\n(19, 2, 8, (UNIX_TIMESTAMP(now()) * 1000)),\n(20, 2, 4, (UNIX_TIMESTAMP(now()) * 1000)),\n(21, 2, 5, (UNIX_TIMESTAMP(now()) * 1000)),\n(22, 2, 9, (UNIX_TIMESTAMP(now()) * 1000));
',3),l=[n];function p(t,E,e,r,F,d){return a(),i("div",null,l)}const C=s(k,[["render",p]]);export{y as __pageData,C as default}; diff --git a/assets/docs_internal_initsql.md.Bp82G-rl.lean.js b/assets/docs_internal_initsql.md.BzA2xIeT.lean.js similarity index 69% rename from assets/docs_internal_initsql.md.Bp82G-rl.lean.js rename to assets/docs_internal_initsql.md.BzA2xIeT.lean.js index 16a878f..b04549c 100644 --- a/assets/docs_internal_initsql.md.Bp82G-rl.lean.js +++ b/assets/docs_internal_initsql.md.BzA2xIeT.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a5 as h}from"./chunks/framework.BjaKWcf5.js";const y=JSON.parse('{"title":"SQL初始化脚本","description":"","frontmatter":{},"headers":[],"relativePath":"docs/internal/initsql.md","filePath":"docs/internal/initsql.md"}'),k={name:"docs/internal/initsql.md"},n=h("",3),l=[n];function p(t,E,e,r,F,d){return a(),i("div",null,l)}const C=s(k,[["render",p]]);export{y as __pageData,C as default}; +import{_ as s,c as i,o as a,a4 as h}from"./chunks/framework.Sd_qASnv.js";const y=JSON.parse('{"title":"SQL初始化脚本","description":"","frontmatter":{},"headers":[],"relativePath":"docs/internal/initsql.md","filePath":"docs/internal/initsql.md"}'),k={name:"docs/internal/initsql.md"},n=h("",3),l=[n];function p(t,E,e,r,F,d){return a(),i("div",null,l)}const C=s(k,[["render",p]]);export{y as __pageData,C as default}; diff --git a/assets/docs_qa.md.N6JL2oIG.js b/assets/docs_qa.md.N6JL2oIG.js new file mode 100644 index 0000000..518c158 --- /dev/null +++ b/assets/docs_qa.md.N6JL2oIG.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as e,a4 as o,a5 as s}from"./chunks/framework.Sd_qASnv.js";const b=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"docs/qa.md","filePath":"docs/qa.md"}'),c={name:"docs/qa.md"},r=o('

常见问题

TIP

欢迎各位同学来这篇文档进行补充你遇到的问题,以及解决方案

数据库如何初始化

扫码加群获取数据库初始化 SQL 脚本

bbs-go交流群

初始化 SQL 脚本只包含必要的表和配置(例如用户表、初始化默认账号、初始化默认配置),其他的表会在系统启动时自动创建(前提是你已经正确配置了数据库连接)

初始化账号密码

如果是使用官方提供的 SQL 脚本初始化的数据库,初始化帐号密码为:admin/123456

TODO

',8),i=[r];function l(d,n,_,h,p,m){return e(),t("div",null,i)}const f=a(c,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/docs_qa.md.N6JL2oIG.lean.js b/assets/docs_qa.md.N6JL2oIG.lean.js new file mode 100644 index 0000000..c9d2bdd --- /dev/null +++ b/assets/docs_qa.md.N6JL2oIG.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as e,a4 as o,a5 as s}from"./chunks/framework.Sd_qASnv.js";const b=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"docs/qa.md","filePath":"docs/qa.md"}'),c={name:"docs/qa.md"},r=o("",8),i=[r];function l(d,n,_,h,p,m){return e(),t("div",null,i)}const f=a(c,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/index.md.Dkf2VCNa.js b/assets/index.md.BrdKfpbv.js similarity index 94% rename from assets/index.md.Dkf2VCNa.js rename to assets/index.md.BrdKfpbv.js index 8f7c236..be964fd 100644 --- a/assets/index.md.Dkf2VCNa.js +++ b/assets/index.md.BrdKfpbv.js @@ -1 +1 @@ -import{_ as t,c as e,o as a,a5 as i,a6 as o}from"./chunks/framework.BjaKWcf5.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"BBS-GO","text":"简洁对话,高效互动,社区新体验!","tagline":"基于 Go 语言的社区系统","image":{"src":"/images/logo.png","alt":"BBS-GO"},"actions":[{"theme":"brand","text":"快速开始","link":"/docs/getstart/"},{"theme":"alt","text":"交流社区","link":"https://mlog.club"}]},"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),s={name:"index.md"},l=i('

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

',3),r=[l];function n(d,_,c,h,m,p){return a(),e("div",null,r)}const f=t(s,[["render",n]]);export{x as __pageData,f as default}; +import{_ as t,c as e,o as a,a4 as i,a5 as o}from"./chunks/framework.Sd_qASnv.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"BBS-GO","text":"简洁对话,高效互动,社区新体验!","tagline":"基于 Go 语言的社区系统","image":{"src":"/images/logo.png","alt":"BBS-GO"},"actions":[{"theme":"brand","text":"快速开始","link":"/docs/getstart/"},{"theme":"alt","text":"交流社区","link":"https://mlog.club"}]},"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),s={name:"index.md"},l=i('

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

',3),r=[l];function n(d,_,c,h,m,p){return a(),e("div",null,r)}const f=t(s,[["render",n]]);export{x as __pageData,f as default}; diff --git a/assets/index.md.Dkf2VCNa.lean.js b/assets/index.md.BrdKfpbv.lean.js similarity index 93% rename from assets/index.md.Dkf2VCNa.lean.js rename to assets/index.md.BrdKfpbv.lean.js index b2e79af..1734ac1 100644 --- a/assets/index.md.Dkf2VCNa.lean.js +++ b/assets/index.md.BrdKfpbv.lean.js @@ -1 +1 @@ -import{_ as t,c as e,o as a,a5 as i,a6 as o}from"./chunks/framework.BjaKWcf5.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"BBS-GO","text":"简洁对话,高效互动,社区新体验!","tagline":"基于 Go 语言的社区系统","image":{"src":"/images/logo.png","alt":"BBS-GO"},"actions":[{"theme":"brand","text":"快速开始","link":"/docs/getstart/"},{"theme":"alt","text":"交流社区","link":"https://mlog.club"}]},"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),s={name:"index.md"},l=i("",3),r=[l];function n(d,_,c,h,m,p){return a(),e("div",null,r)}const f=t(s,[["render",n]]);export{x as __pageData,f as default}; +import{_ as t,c as e,o as a,a4 as i,a5 as o}from"./chunks/framework.Sd_qASnv.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"BBS-GO","text":"简洁对话,高效互动,社区新体验!","tagline":"基于 Go 语言的社区系统","image":{"src":"/images/logo.png","alt":"BBS-GO"},"actions":[{"theme":"brand","text":"快速开始","link":"/docs/getstart/"},{"theme":"alt","text":"交流社区","link":"https://mlog.club"}]},"features":[{"title":"简洁至上","details":"bbs-go 的设计理念是简洁至上,注重去除冗余和不必要的复杂性,以提供清晰直观的用户界面和流畅的操作体验。"},{"title":"高度可定制","details":"提供清晰的代码结构和模块化的设计,使得用户可以轻松进行二次开发和定制,以满足不同用户群体的需求。"},{"title":"安全性设计","details":"采用先进的加密技术和安全最佳实践来保护用户数据和隐私。定期更新以应对最的网络安全威胁,确保社区的安全稳定。"},{"title":"Go语言驱动","details":"使用Go语言开发,充分发挥Go语言高效的并发模型、简单易读的语法以及快速的编译速度,从而提供高性能、稳定的系统。"},{"title":"响应式布局","details":"采用响应式设计,确保用户无论在桌面、平板还是手机等设备上访问,都能获得一致且友好的界面展示,提高用户跨平台的可访问性。"},{"title":"社区驱动发展","details":"鼓励开源社区参与,社区驱动模式促进了软件的快速迭代和改进,也为用户提供了一个分享经验、求助和贡献的平台,增强了项目的活力和多样性。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),s={name:"index.md"},l=i("",3),r=[l];function n(d,_,c,h,m,p){return a(),e("div",null,r)}const f=t(s,[["render",n]]);export{x as __pageData,f as default}; diff --git a/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 b/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 deleted file mode 100644 index 2a68729..0000000 Binary files a/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 and /dev/null differ diff --git a/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 b/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 new file mode 100644 index 0000000..b6b603d Binary files /dev/null and b/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 differ diff --git a/assets/inter-italic-cyrillic.By2_1cv3.woff2 b/assets/inter-italic-cyrillic.By2_1cv3.woff2 new file mode 100644 index 0000000..def40a4 Binary files /dev/null and b/assets/inter-italic-cyrillic.By2_1cv3.woff2 differ diff --git a/assets/inter-italic-cyrillic.D6csxwjC.woff2 b/assets/inter-italic-cyrillic.D6csxwjC.woff2 deleted file mode 100644 index f640351..0000000 Binary files a/assets/inter-italic-cyrillic.D6csxwjC.woff2 and /dev/null differ diff --git a/assets/inter-italic-greek-ext.1u6EdAuj.woff2 b/assets/inter-italic-greek-ext.1u6EdAuj.woff2 new file mode 100644 index 0000000..e070c3d Binary files /dev/null and b/assets/inter-italic-greek-ext.1u6EdAuj.woff2 differ diff --git a/assets/inter-italic-greek-ext.CHOfFY1k.woff2 b/assets/inter-italic-greek-ext.CHOfFY1k.woff2 deleted file mode 100644 index 0021896..0000000 Binary files a/assets/inter-italic-greek-ext.CHOfFY1k.woff2 and /dev/null differ diff --git a/assets/inter-italic-greek.9J96vYpw.woff2 b/assets/inter-italic-greek.9J96vYpw.woff2 deleted file mode 100644 index 71c265f..0000000 Binary files a/assets/inter-italic-greek.9J96vYpw.woff2 and /dev/null differ diff --git a/assets/inter-italic-greek.DJ8dCoTZ.woff2 b/assets/inter-italic-greek.DJ8dCoTZ.woff2 new file mode 100644 index 0000000..a3c16ca Binary files /dev/null and b/assets/inter-italic-greek.DJ8dCoTZ.woff2 differ diff --git a/assets/inter-italic-latin-ext.BGcWXLrn.woff2 b/assets/inter-italic-latin-ext.BGcWXLrn.woff2 deleted file mode 100644 index 9c1b944..0000000 Binary files a/assets/inter-italic-latin-ext.BGcWXLrn.woff2 and /dev/null differ diff --git a/assets/inter-italic-latin-ext.CN1xVJS-.woff2 b/assets/inter-italic-latin-ext.CN1xVJS-.woff2 new file mode 100644 index 0000000..2210a89 Binary files /dev/null and b/assets/inter-italic-latin-ext.CN1xVJS-.woff2 differ diff --git a/assets/inter-italic-latin.C2AdPX0b.woff2 b/assets/inter-italic-latin.C2AdPX0b.woff2 new file mode 100644 index 0000000..790d62d Binary files /dev/null and b/assets/inter-italic-latin.C2AdPX0b.woff2 differ diff --git a/assets/inter-italic-latin.DbsTr1gm.woff2 b/assets/inter-italic-latin.DbsTr1gm.woff2 deleted file mode 100644 index 01fcf20..0000000 Binary files a/assets/inter-italic-latin.DbsTr1gm.woff2 and /dev/null differ diff --git a/assets/inter-italic-vietnamese.BSbpV94h.woff2 b/assets/inter-italic-vietnamese.BSbpV94h.woff2 new file mode 100644 index 0000000..1eec077 Binary files /dev/null and b/assets/inter-italic-vietnamese.BSbpV94h.woff2 differ diff --git a/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 b/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 deleted file mode 100644 index e4f788e..0000000 Binary files a/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 and /dev/null differ diff --git a/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 b/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 new file mode 100644 index 0000000..2cfe615 Binary files /dev/null and b/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 differ diff --git a/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 b/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 deleted file mode 100644 index 28593cc..0000000 Binary files a/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 and /dev/null differ diff --git a/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 b/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 new file mode 100644 index 0000000..e3886dd Binary files /dev/null and b/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 differ diff --git a/assets/inter-roman-cyrillic.CMhn1ESj.woff2 b/assets/inter-roman-cyrillic.CMhn1ESj.woff2 deleted file mode 100644 index a20adc1..0000000 Binary files a/assets/inter-roman-cyrillic.CMhn1ESj.woff2 and /dev/null differ diff --git a/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 b/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 new file mode 100644 index 0000000..36d6748 Binary files /dev/null and b/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 differ diff --git a/assets/inter-roman-greek-ext.D0mI3NpI.woff2 b/assets/inter-roman-greek-ext.D0mI3NpI.woff2 deleted file mode 100644 index e3b0be7..0000000 Binary files a/assets/inter-roman-greek-ext.D0mI3NpI.woff2 and /dev/null differ diff --git a/assets/inter-roman-greek.BBVDIX6e.woff2 b/assets/inter-roman-greek.BBVDIX6e.woff2 new file mode 100644 index 0000000..2bed1e8 Binary files /dev/null and b/assets/inter-roman-greek.BBVDIX6e.woff2 differ diff --git a/assets/inter-roman-greek.JvnBZ4YD.woff2 b/assets/inter-roman-greek.JvnBZ4YD.woff2 deleted file mode 100644 index f790e04..0000000 Binary files a/assets/inter-roman-greek.JvnBZ4YD.woff2 and /dev/null differ diff --git a/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 b/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 new file mode 100644 index 0000000..9a8d1e2 Binary files /dev/null and b/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 differ diff --git a/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 b/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 deleted file mode 100644 index 715bd90..0000000 Binary files a/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 and /dev/null differ diff --git a/assets/inter-roman-latin.Bu8hRsVA.woff2 b/assets/inter-roman-latin.Bu8hRsVA.woff2 deleted file mode 100644 index a540b7a..0000000 Binary files a/assets/inter-roman-latin.Bu8hRsVA.woff2 and /dev/null differ diff --git a/assets/inter-roman-latin.Di8DUHzh.woff2 b/assets/inter-roman-latin.Di8DUHzh.woff2 new file mode 100644 index 0000000..07d3c53 Binary files /dev/null and b/assets/inter-roman-latin.Di8DUHzh.woff2 differ diff --git a/assets/inter-roman-vietnamese.BjW4sHH5.woff2 b/assets/inter-roman-vietnamese.BjW4sHH5.woff2 new file mode 100644 index 0000000..57bdc22 Binary files /dev/null and b/assets/inter-roman-vietnamese.BjW4sHH5.woff2 differ diff --git a/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 b/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 deleted file mode 100644 index 5a9f9cb..0000000 Binary files a/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 and /dev/null differ diff --git a/assets/style.BHavRw_1.css b/assets/style.BHavRw_1.css new file mode 100644 index 0000000..647216f --- /dev/null +++ b/assets/style.BHavRw_1.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:lang(zh){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "DengXian", "Microsoft YaHei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-d0f0b7bf]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-d0f0b7bf],.VPBackdrop.fade-leave-to[data-v-d0f0b7bf]{opacity:0}.VPBackdrop.fade-leave-active[data-v-d0f0b7bf]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-d0f0b7bf]{display:none}}.NotFound[data-v-bd215ada]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-bd215ada]{padding:96px 32px 168px}}.code[data-v-bd215ada]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-bd215ada]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-bd215ada]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-bd215ada]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-bd215ada]{padding-top:20px}.link[data-v-bd215ada]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-bd215ada]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-1f1d19a1]{position:relative;z-index:1}.nested[data-v-1f1d19a1]{padding-right:16px;padding-left:16px}.outline-link[data-v-1f1d19a1]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-1f1d19a1]:hover,.outline-link.active[data-v-1f1d19a1]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-1f1d19a1]{padding-left:13px}.VPDocAsideOutline[data-v-1477322d]{display:none}.VPDocAsideOutline.has-outline[data-v-1477322d]{display:block}.content[data-v-1477322d]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-1477322d]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-1477322d]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-d97c4728]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-d97c4728]{flex-grow:1}.VPDocAside[data-v-d97c4728] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-d97c4728] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-d97c4728] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-f04c864c]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-f04c864c]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-f33cb82b]{margin-top:64px}.edit-info[data-v-f33cb82b]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-f33cb82b]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-f33cb82b]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-f33cb82b]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-f33cb82b]{margin-right:8px}.prev-next[data-v-f33cb82b]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-f33cb82b]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-f33cb82b]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-f33cb82b]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-f33cb82b]{margin-left:auto;text-align:right}.desc[data-v-f33cb82b]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-f33cb82b]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-7c3f7db6]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-7c3f7db6]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-7c3f7db6]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-7c3f7db6]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-7c3f7db6]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-7c3f7db6]{display:flex;justify-content:center}.VPDoc .aside[data-v-7c3f7db6]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-7c3f7db6]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-7c3f7db6]{max-width:1104px}}.container[data-v-7c3f7db6]{margin:0 auto;width:100%}.aside[data-v-7c3f7db6]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-7c3f7db6]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-7c3f7db6]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-7c3f7db6]::-webkit-scrollbar{display:none}.aside-curtain[data-v-7c3f7db6]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-7c3f7db6]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-7c3f7db6]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-7c3f7db6]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-7c3f7db6]{order:1;margin:0;min-width:640px}}.content-container[data-v-7c3f7db6]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-7c3f7db6]{max-width:688px}.VPButton[data-v-745014e7]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-745014e7]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-745014e7]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-745014e7]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-745014e7]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-745014e7]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-745014e7]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-745014e7]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-745014e7]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-745014e7]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-745014e7]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-745014e7]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-745014e7]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-851a5ca0]{display:none}.dark .VPImage.light[data-v-851a5ca0]{display:none}.VPHero[data-v-1fdd7803]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-1fdd7803]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-1fdd7803]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-1fdd7803]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-1fdd7803]{flex-direction:row}}.main[data-v-1fdd7803]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-1fdd7803]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-1fdd7803]{text-align:left}}@media (min-width: 960px){.main[data-v-1fdd7803]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-1fdd7803]{max-width:592px}}.name[data-v-1fdd7803],.text[data-v-1fdd7803]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-1fdd7803],.VPHero.has-image .text[data-v-1fdd7803]{margin:0 auto}.name[data-v-1fdd7803]{color:var(--vp-home-hero-name-color)}.clip[data-v-1fdd7803]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-1fdd7803],.text[data-v-1fdd7803]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-1fdd7803],.text[data-v-1fdd7803]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-1fdd7803],.VPHero.has-image .text[data-v-1fdd7803]{margin:0}}.tagline[data-v-1fdd7803]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-1fdd7803]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-1fdd7803]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-1fdd7803]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-1fdd7803]{margin:0}}.actions[data-v-1fdd7803]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-1fdd7803]{justify-content:center}@media (min-width: 640px){.actions[data-v-1fdd7803]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-1fdd7803]{justify-content:flex-start}}.action[data-v-1fdd7803]{flex-shrink:0;padding:6px}.image[data-v-1fdd7803]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-1fdd7803]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-1fdd7803]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-1fdd7803]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-1fdd7803]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-1fdd7803]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-1fdd7803]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-1fdd7803]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-1fdd7803]{width:320px;height:320px}}[data-v-1fdd7803] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-1fdd7803] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-1fdd7803] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-72f75201]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-72f75201]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-72f75201]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-72f75201]>.VPImage{margin-bottom:20px}.icon[data-v-72f75201]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-72f75201]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-72f75201]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-72f75201]{padding-top:8px}.link-text-value[data-v-72f75201]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-72f75201]{margin-left:6px}.VPFeatures[data-v-53f0525c]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-53f0525c]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-53f0525c]{padding:0 64px}}.container[data-v-53f0525c]{margin:0 auto;max-width:1152px}.items[data-v-53f0525c]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-53f0525c]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-53f0525c],.item.grid-4[data-v-53f0525c],.item.grid-6[data-v-53f0525c]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-53f0525c],.item.grid-4[data-v-53f0525c]{width:50%}.item.grid-3[data-v-53f0525c],.item.grid-6[data-v-53f0525c]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-53f0525c]{width:25%}}.container[data-v-48dc9160]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-48dc9160]{padding:0 48px}}@media (min-width: 960px){.container[data-v-48dc9160]{width:100%;padding:0 64px}}.vp-doc[data-v-48dc9160] .VPHomeSponsors,.vp-doc[data-v-48dc9160] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-48dc9160] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-48dc9160] .VPHomeSponsors a,.vp-doc[data-v-48dc9160] .VPTeamPage a{text-decoration:none}.VPHome[data-v-fc53ba9a]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-fc53ba9a]{margin-bottom:128px}}.VPContent[data-v-a80d3fe3]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-a80d3fe3]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-a80d3fe3]{margin:0}@media (min-width: 960px){.VPContent[data-v-a80d3fe3]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-a80d3fe3]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-a80d3fe3]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-255080e8]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-255080e8]{display:none}.VPFooter[data-v-255080e8] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-255080e8] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-255080e8]{padding:32px}}.container[data-v-255080e8]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-255080e8],.copyright[data-v-255080e8]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-d51406c7]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-d51406c7]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-d51406c7]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-d51406c7]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-d51406c7]{color:var(--vp-c-text-1)}.icon[data-v-d51406c7]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-d51406c7]{font-size:14px}.icon[data-v-d51406c7]{font-size:16px}}.open>.icon[data-v-d51406c7]{transform:rotate(90deg)}.items[data-v-d51406c7]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-d51406c7]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-d51406c7]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-d51406c7]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-d51406c7]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-d51406c7]{transition:all .2s ease-out}.flyout-leave-active[data-v-d51406c7]{transition:all .15s ease-in}.flyout-enter-from[data-v-d51406c7],.flyout-leave-to[data-v-d51406c7]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-5fc672a4]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-5fc672a4]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-5fc672a4]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-5fc672a4]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-5fc672a4]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-5fc672a4]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-5fc672a4]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-5fc672a4]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-5fc672a4]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-5fc672a4]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-5fc672a4]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-5fc672a4]{display:none}}.menu-icon[data-v-5fc672a4]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-5fc672a4]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-5fc672a4]{padding:12px 32px 11px}}.VPSwitch[data-v-357b8e18]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-357b8e18]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-357b8e18]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-357b8e18]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-357b8e18] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-357b8e18] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-00741d11]{opacity:1}.moon[data-v-00741d11],.dark .sun[data-v-00741d11]{opacity:0}.dark .moon[data-v-00741d11]{opacity:1}.dark .VPSwitchAppearance[data-v-00741d11] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-9f3a4c0d]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-9f3a4c0d]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-6c61af75]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-6c61af75]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-6c61af75]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-6c61af75]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-7025aff2]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-7025aff2]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-7025aff2]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-7025aff2]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-225e4b88]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-225e4b88] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-225e4b88] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-225e4b88] .group:last-child{padding-bottom:0}.VPMenu[data-v-225e4b88] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-225e4b88] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-225e4b88] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-225e4b88] .action{padding-left:24px}.VPFlyout[data-v-2884bb43]{position:relative}.VPFlyout[data-v-2884bb43]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-2884bb43]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-2884bb43]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-2884bb43]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-2884bb43]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-2884bb43],.button[aria-expanded=true]+.menu[data-v-2884bb43]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-2884bb43]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-2884bb43]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-2884bb43]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-2884bb43]{margin-right:0;font-size:16px}.text-icon[data-v-2884bb43]{margin-left:4px;font-size:14px}.icon[data-v-2884bb43]{font-size:20px;transition:fill .25s}.menu[data-v-2884bb43]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-c196e7ad]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-c196e7ad]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-c196e7ad]>svg,.VPSocialLink[data-v-c196e7ad]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-c799bddc]{display:flex;justify-content:center}.VPNavBarExtra[data-v-a17f532e]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-a17f532e]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-a17f532e]{display:none}}.trans-title[data-v-a17f532e]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-a17f532e],.item.social-links[data-v-a17f532e]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-a17f532e]{min-width:176px}.appearance-action[data-v-a17f532e]{margin-right:-2px}.social-links-list[data-v-a17f532e]{margin:-4px -8px}.VPNavBarHamburger[data-v-58bb3b44]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-58bb3b44]{display:none}}.container[data-v-58bb3b44]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-58bb3b44]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-58bb3b44]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-58bb3b44]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-58bb3b44]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-58bb3b44]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-58bb3b44]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-58bb3b44],.VPNavBarHamburger.active:hover .middle[data-v-58bb3b44],.VPNavBarHamburger.active:hover .bottom[data-v-58bb3b44]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-58bb3b44],.middle[data-v-58bb3b44],.bottom[data-v-58bb3b44]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-58bb3b44]{top:0;left:0;transform:translate(0)}.middle[data-v-58bb3b44]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-58bb3b44]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-41872247]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-41872247],.VPNavBarMenuLink[data-v-41872247]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-38d8cb89]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-38d8cb89]{display:flex}}/*! @docsearch/css 3.6.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-3bc7614e]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-3bc7614e]{display:flex;align-items:center}}.title[data-v-60a7be81]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-60a7be81]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-60a7be81]{border-bottom-color:var(--vp-c-divider)}}[data-v-60a7be81] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-215ca990]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-215ca990]{display:flex;align-items:center}}.title[data-v-215ca990]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-b4581e97]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-b4581e97]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-b4581e97]:not(.home){background-color:transparent}.VPNavBar[data-v-b4581e97]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-b4581e97]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-b4581e97]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-b4581e97]{padding:0}}.container[data-v-b4581e97]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-b4581e97],.container>.content[data-v-b4581e97]{pointer-events:none}.container[data-v-b4581e97] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-b4581e97]{max-width:100%}}.title[data-v-b4581e97]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-b4581e97]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-b4581e97]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-b4581e97]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-b4581e97]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-b4581e97]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-b4581e97]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-b4581e97]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-b4581e97]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-b4581e97]{column-gap:.5rem}}.menu+.translations[data-v-b4581e97]:before,.menu+.appearance[data-v-b4581e97]:before,.menu+.social-links[data-v-b4581e97]:before,.translations+.appearance[data-v-b4581e97]:before,.appearance+.social-links[data-v-b4581e97]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-b4581e97]:before,.translations+.appearance[data-v-b4581e97]:before{margin-right:16px}.appearance+.social-links[data-v-b4581e97]:before{margin-left:16px}.social-links[data-v-b4581e97]{margin-right:-8px}.divider[data-v-b4581e97]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-b4581e97]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-b4581e97]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-b4581e97]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-b4581e97]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-b4581e97]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-b4581e97]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-ec935913]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-ec935913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-aa8b7d98]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-aa8b7d98]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-1d1589b2]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-1d1589b2]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-3e1760fe]{display:block}.title[data-v-3e1760fe]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-00b481d7]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-00b481d7]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-00b481d7]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-00b481d7]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-00b481d7]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-00b481d7]{transform:rotate(45deg)}.button[data-v-00b481d7]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-00b481d7]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-00b481d7]{transition:transform .25s}.group[data-v-00b481d7]:first-child{padding-top:0}.group+.group[data-v-00b481d7],.group+.item[data-v-00b481d7]{padding-top:4px}.VPNavScreenTranslations[data-v-1e601d02]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-1e601d02]{height:auto}.title[data-v-1e601d02]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-1e601d02]{font-size:16px}.icon.lang[data-v-1e601d02]{margin-right:8px}.icon.chevron[data-v-1e601d02]{margin-left:4px}.list[data-v-1e601d02]{padding:4px 0 0 24px}.link[data-v-1e601d02]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-41e805c2]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-41e805c2],.VPNavScreen.fade-leave-active[data-v-41e805c2]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-41e805c2],.VPNavScreen.fade-leave-active .container[data-v-41e805c2]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-41e805c2],.VPNavScreen.fade-leave-to[data-v-41e805c2]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-41e805c2],.VPNavScreen.fade-leave-to .container[data-v-41e805c2]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-41e805c2]{display:none}}.container[data-v-41e805c2]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-41e805c2],.menu+.appearance[data-v-41e805c2],.translations+.appearance[data-v-41e805c2]{margin-top:24px}.menu+.social-links[data-v-41e805c2]{margin-top:16px}.appearance+.social-links[data-v-41e805c2]{margin-top:16px}.VPNav[data-v-62a73b24]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-62a73b24]{position:fixed}}.VPSidebarItem.level-0[data-v-f67490ad]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-f67490ad]{padding-bottom:10px}.item[data-v-f67490ad]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-f67490ad]{cursor:pointer}.indicator[data-v-f67490ad]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-f67490ad],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-f67490ad],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-f67490ad],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-f67490ad]{background-color:var(--vp-c-brand-1)}.link[data-v-f67490ad]{display:flex;align-items:center;flex-grow:1}.text[data-v-f67490ad]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-f67490ad]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-f67490ad],.VPSidebarItem.level-2 .text[data-v-f67490ad],.VPSidebarItem.level-3 .text[data-v-f67490ad],.VPSidebarItem.level-4 .text[data-v-f67490ad],.VPSidebarItem.level-5 .text[data-v-f67490ad]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-f67490ad],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-f67490ad],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-f67490ad],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-f67490ad],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-f67490ad],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-f67490ad]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-f67490ad],.VPSidebarItem.level-1.has-active>.item>.text[data-v-f67490ad],.VPSidebarItem.level-2.has-active>.item>.text[data-v-f67490ad],.VPSidebarItem.level-3.has-active>.item>.text[data-v-f67490ad],.VPSidebarItem.level-4.has-active>.item>.text[data-v-f67490ad],.VPSidebarItem.level-5.has-active>.item>.text[data-v-f67490ad],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-f67490ad],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-f67490ad],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-f67490ad],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-f67490ad],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-f67490ad],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-f67490ad]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-f67490ad],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-f67490ad],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-f67490ad],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-f67490ad],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-f67490ad],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-f67490ad]{color:var(--vp-c-brand-1)}.caret[data-v-f67490ad]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-f67490ad]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-f67490ad]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-f67490ad]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-f67490ad]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-f67490ad],.VPSidebarItem.level-2 .items[data-v-f67490ad],.VPSidebarItem.level-3 .items[data-v-f67490ad],.VPSidebarItem.level-4 .items[data-v-f67490ad],.VPSidebarItem.level-5 .items[data-v-f67490ad]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-f67490ad]{display:none}.VPSidebar[data-v-d892c825]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-d892c825]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-d892c825]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-d892c825]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-d892c825]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-d892c825]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-d892c825]{outline:0}.group+.group[data-v-d892c825]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-d892c825]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-c56160db]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c56160db]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c56160db]{top:14px;left:16px}}.Layout[data-v-785f28dc]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-9a8ad3c5]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-9a8ad3c5]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-9a8ad3c5]{margin:128px 0}}.VPHomeSponsors[data-v-9a8ad3c5]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-9a8ad3c5]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-9a8ad3c5]{padding:0 64px}}.container[data-v-9a8ad3c5]{margin:0 auto;max-width:1152px}.love[data-v-9a8ad3c5]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-9a8ad3c5]{display:inline-block}.message[data-v-9a8ad3c5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-9a8ad3c5]{padding-top:32px}.action[data-v-9a8ad3c5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-280c8a21]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-280c8a21]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-280c8a21-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-280c8a21-s],.VPTeamMembers+.VPTeamPageSection[data-v-280c8a21-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-280c8a21-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-280c8a21-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-280c8a21-s],.VPTeamMembers+.VPTeamPageSection[data-v-280c8a21-s]{margin-top:96px}}.VPTeamMembers[data-v-280c8a21-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-280c8a21-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-280c8a21-s]{padding:0 64px}}.VPTeamPageTitle[data-v-eafa9f0e]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-eafa9f0e]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-eafa9f0e]{padding:80px 64px 48px}}.title[data-v-eafa9f0e]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-eafa9f0e]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-eafa9f0e]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-eafa9f0e]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-026ce6fb]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-026ce6fb]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-026ce6fb]{padding:0 64px}}.title[data-v-026ce6fb]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-026ce6fb]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-026ce6fb]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-026ce6fb]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-026ce6fb]{padding-top:40px}.VPTeamMembersItem[data-v-f6766667]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f6766667]{padding:32px}.VPTeamMembersItem.small .data[data-v-f6766667]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f6766667]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f6766667]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f6766667]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f6766667]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f6766667]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f6766667]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f6766667]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f6766667]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f6766667]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f6766667]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f6766667]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f6766667]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f6766667]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f6766667]{text-align:center}.avatar[data-v-f6766667]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f6766667]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f6766667]{margin:0;font-weight:600}.affiliation[data-v-f6766667]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f6766667]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f6766667]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f6766667]{margin:0 auto}.desc[data-v-f6766667] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f6766667]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f6766667]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-f6766667]:hover,.sp .sp-link.link[data-v-f6766667]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f6766667]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-709e47d8]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-709e47d8]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-709e47d8]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-709e47d8]{max-width:876px}.VPTeamMembers.medium .container[data-v-709e47d8]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-709e47d8]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-709e47d8]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-709e47d8]{max-width:760px}.container[data-v-709e47d8]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #bd34fe 30%, #41d1ff );--vp-home-hero-image-background-image: linear-gradient( -45deg, #bd34fe 50%, #47caff 50% );--vp-home-hero-image-filter: blur(44px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}:root{--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-brand-soft);--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand-1) !important}.VPLocalSearchBox[data-v-e823e352]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-e823e352]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-e823e352]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-e823e352]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-e823e352]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-e823e352]{padding:0 8px}}.search-bar[data-v-e823e352]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-e823e352]{display:block;font-size:18px}.navigate-icon[data-v-e823e352]{display:block;font-size:14px}.search-icon[data-v-e823e352]{margin:8px}@media (max-width: 767px){.search-icon[data-v-e823e352]{display:none}}.search-input[data-v-e823e352]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-e823e352]{padding:6px 4px}}.search-actions[data-v-e823e352]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-e823e352]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-e823e352]{display:none}}.search-actions button[data-v-e823e352]{padding:8px}.search-actions button[data-v-e823e352]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-e823e352]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-e823e352]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-e823e352]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-e823e352]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-e823e352]{display:none}}.search-keyboard-shortcuts kbd[data-v-e823e352]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-e823e352]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-e823e352]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-e823e352]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-e823e352]{margin:8px}}.titles[data-v-e823e352]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-e823e352]{display:flex;align-items:center;gap:4px}.title.main[data-v-e823e352]{font-weight:500}.title-icon[data-v-e823e352]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-e823e352]{opacity:.5}.result.selected[data-v-e823e352]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-e823e352]{position:relative}.excerpt[data-v-e823e352]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-e823e352]{opacity:1}.excerpt[data-v-e823e352] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-e823e352] mark,.excerpt[data-v-e823e352] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-e823e352] .vp-code-group .tabs{display:none}.excerpt[data-v-e823e352] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-e823e352]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-e823e352]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-e823e352],.result.selected .title-icon[data-v-e823e352]{color:var(--vp-c-brand-1)!important}.no-results[data-v-e823e352]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-e823e352]{flex:none} diff --git a/assets/style.CL5JvU1e.css b/assets/style.CL5JvU1e.css deleted file mode 100644 index e863b4e..0000000 --- a/assets/style.CL5JvU1e.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.CMhn1ESj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.JvnBZ4YD.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.D0mI3NpI.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.Bu8hRsVA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.ZlYT4o7i.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.ClpjcLMQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.D6csxwjC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.9J96vYpw.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.CHOfFY1k.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.DbsTr1gm.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.BGcWXLrn.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.DHNAd7Wr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-8169aaa8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-8169aaa8],.VPBackdrop.fade-leave-to[data-v-8169aaa8]{opacity:0}.VPBackdrop.fade-leave-active[data-v-8169aaa8]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-8169aaa8]{display:none}}.NotFound[data-v-691c81f7]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-691c81f7]{padding:96px 32px 168px}}.code[data-v-691c81f7]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-691c81f7]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-691c81f7]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-691c81f7]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-691c81f7]{padding-top:20px}.link[data-v-691c81f7]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-691c81f7]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-c98c4919]{position:relative;z-index:1}.nested[data-v-c98c4919]{padding-right:16px;padding-left:16px}.outline-link[data-v-c98c4919]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-c98c4919]:hover,.outline-link.active[data-v-c98c4919]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-c98c4919]{padding-left:13px}.VPDocAsideOutline[data-v-e6bb35c5]{display:none}.VPDocAsideOutline.has-outline[data-v-e6bb35c5]{display:block}.content[data-v-e6bb35c5]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-e6bb35c5]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-e6bb35c5]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3e8aba0e]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3e8aba0e]{flex-grow:1}.VPDocAside[data-v-3e8aba0e] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3e8aba0e] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3e8aba0e] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-06bc3f84]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-06bc3f84]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-303e5403]{margin-top:64px}.edit-info[data-v-303e5403]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-303e5403]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-303e5403]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-303e5403]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-303e5403]{margin-right:8px}.prev-next[data-v-303e5403]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-303e5403]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-303e5403]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-303e5403]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-303e5403]{margin-left:auto;text-align:right}.desc[data-v-303e5403]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-303e5403]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-532ee90d]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-532ee90d]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-532ee90d]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-532ee90d]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-532ee90d]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-532ee90d]{display:flex;justify-content:center}.VPDoc .aside[data-v-532ee90d]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-532ee90d]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-532ee90d]{max-width:1104px}}.container[data-v-532ee90d]{margin:0 auto;width:100%}.aside[data-v-532ee90d]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-532ee90d]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-532ee90d]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-532ee90d]::-webkit-scrollbar{display:none}.aside-curtain[data-v-532ee90d]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-532ee90d]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-532ee90d]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-532ee90d]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-532ee90d]{order:1;margin:0;min-width:640px}}.content-container[data-v-532ee90d]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-532ee90d]{max-width:688px}.VPButton[data-v-7ad72123]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-7ad72123]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-7ad72123]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-7ad72123]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-7ad72123]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-7ad72123]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-7ad72123]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-7ad72123]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-7ad72123]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-7ad72123]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-7ad72123]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-7ad72123]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-7ad72123]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-3c8ddd5c]{display:none}.dark .VPImage.light[data-v-3c8ddd5c]{display:none}.VPHero[data-v-a7eb9db3]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-a7eb9db3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-a7eb9db3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-a7eb9db3]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-a7eb9db3]{flex-direction:row}}.main[data-v-a7eb9db3]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-a7eb9db3]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-a7eb9db3]{text-align:left}}@media (min-width: 960px){.main[data-v-a7eb9db3]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-a7eb9db3]{max-width:592px}}.name[data-v-a7eb9db3],.text[data-v-a7eb9db3]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-a7eb9db3],.VPHero.has-image .text[data-v-a7eb9db3]{margin:0 auto}.name[data-v-a7eb9db3]{color:var(--vp-home-hero-name-color)}.clip[data-v-a7eb9db3]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-a7eb9db3],.text[data-v-a7eb9db3]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-a7eb9db3],.text[data-v-a7eb9db3]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-a7eb9db3],.VPHero.has-image .text[data-v-a7eb9db3]{margin:0}}.tagline[data-v-a7eb9db3]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-a7eb9db3]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-a7eb9db3]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-a7eb9db3]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-a7eb9db3]{margin:0}}.actions[data-v-a7eb9db3]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-a7eb9db3]{justify-content:center}@media (min-width: 640px){.actions[data-v-a7eb9db3]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-a7eb9db3]{justify-content:flex-start}}.action[data-v-a7eb9db3]{flex-shrink:0;padding:6px}.image[data-v-a7eb9db3]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-a7eb9db3]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-a7eb9db3]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-a7eb9db3]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-a7eb9db3]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-a7eb9db3]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-a7eb9db3]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-a7eb9db3]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-a7eb9db3]{width:320px;height:320px}}[data-v-a7eb9db3] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-a7eb9db3] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-a7eb9db3] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-e81cbb22]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-e81cbb22]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-e81cbb22]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-e81cbb22]>.VPImage{margin-bottom:20px}.icon[data-v-e81cbb22]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-e81cbb22]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-e81cbb22]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-e81cbb22]{padding-top:8px}.link-text-value[data-v-e81cbb22]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-e81cbb22]{margin-left:6px}.VPFeatures[data-v-793554e1]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-793554e1]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-793554e1]{padding:0 64px}}.container[data-v-793554e1]{margin:0 auto;max-width:1152px}.items[data-v-793554e1]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-793554e1]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-793554e1],.item.grid-4[data-v-793554e1],.item.grid-6[data-v-793554e1]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-793554e1],.item.grid-4[data-v-793554e1]{width:50%}.item.grid-3[data-v-793554e1],.item.grid-6[data-v-793554e1]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-793554e1]{width:25%}}.container[data-v-db194ff4]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-db194ff4]{padding:0 48px}}@media (min-width: 960px){.container[data-v-db194ff4]{width:100%;padding:0 64px}}.vp-doc[data-v-db194ff4] .VPHomeSponsors,.vp-doc[data-v-db194ff4] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-db194ff4] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-db194ff4] .VPHomeSponsors a,.vp-doc[data-v-db194ff4] .VPTeamPage a{text-decoration:none}.VPHome[data-v-e3a3ce57]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-e3a3ce57]{margin-bottom:128px}}.VPContent[data-v-97a14150]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-97a14150]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-97a14150]{margin:0}@media (min-width: 960px){.VPContent[data-v-97a14150]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-97a14150]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-97a14150]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-8177390d]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-8177390d]{display:none}.VPFooter[data-v-8177390d] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-8177390d] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-8177390d]{padding:32px}}.container[data-v-8177390d]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-8177390d],.copyright[data-v-8177390d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-0e80814c]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-0e80814c]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-0e80814c]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-0e80814c]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-0e80814c]{color:var(--vp-c-text-1)}.icon[data-v-0e80814c]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-0e80814c]{font-size:14px}.icon[data-v-0e80814c]{font-size:16px}}.open>.icon[data-v-0e80814c]{transform:rotate(90deg)}.items[data-v-0e80814c]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-0e80814c]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-0e80814c]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-0e80814c]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-0e80814c]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-0e80814c]{transition:all .2s ease-out}.flyout-leave-active[data-v-0e80814c]{transition:all .15s ease-in}.flyout-enter-from[data-v-0e80814c],.flyout-leave-to[data-v-0e80814c]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-71c9795f]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-71c9795f]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-71c9795f]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-71c9795f]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-71c9795f]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-71c9795f]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-71c9795f]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-71c9795f]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-71c9795f]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-71c9795f]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-71c9795f]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-71c9795f]{display:none}}.menu-icon[data-v-71c9795f]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-71c9795f]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-71c9795f]{padding:12px 32px 11px}}.VPSwitch[data-v-01a73279]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-01a73279]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-01a73279]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-01a73279]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-01a73279] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-01a73279] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-73aa4517]{opacity:1}.moon[data-v-73aa4517],.dark .sun[data-v-73aa4517]{opacity:0}.dark .moon[data-v-73aa4517]{opacity:1}.dark .VPSwitchAppearance[data-v-73aa4517] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-3e006368]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-3e006368]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-ee903820]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-ee903820]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-ee903820]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-ee903820]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-40f63299]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-40f63299]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-40f63299]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-40f63299]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-ffbcfee8]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-ffbcfee8] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-ffbcfee8] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-ffbcfee8] .group:last-child{padding-bottom:0}.VPMenu[data-v-ffbcfee8] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-ffbcfee8] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-ffbcfee8] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-ffbcfee8] .action{padding-left:24px}.VPFlyout[data-v-0b4f1ce4]{position:relative}.VPFlyout[data-v-0b4f1ce4]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-0b4f1ce4]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-0b4f1ce4]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-0b4f1ce4]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-0b4f1ce4]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-0b4f1ce4],.button[aria-expanded=true]+.menu[data-v-0b4f1ce4]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-0b4f1ce4]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-0b4f1ce4]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-0b4f1ce4]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-0b4f1ce4]{margin-right:0;font-size:16px}.text-icon[data-v-0b4f1ce4]{margin-left:4px;font-size:14px}.icon[data-v-0b4f1ce4]{font-size:20px;transition:fill .25s}.menu[data-v-0b4f1ce4]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-16775064]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-16775064]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-16775064]>svg,.VPSocialLink[data-v-16775064]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-2df58448]{display:flex;justify-content:center}.VPNavBarExtra[data-v-c2ef99ff]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-c2ef99ff]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-c2ef99ff]{display:none}}.trans-title[data-v-c2ef99ff]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-c2ef99ff],.item.social-links[data-v-c2ef99ff]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-c2ef99ff]{min-width:176px}.appearance-action[data-v-c2ef99ff]{margin-right:-2px}.social-links-list[data-v-c2ef99ff]{margin:-4px -8px}.VPNavBarHamburger[data-v-083282e1]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-083282e1]{display:none}}.container[data-v-083282e1]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-083282e1]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-083282e1]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-083282e1]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-083282e1]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-083282e1]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-083282e1]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-083282e1],.VPNavBarHamburger.active:hover .middle[data-v-083282e1],.VPNavBarHamburger.active:hover .bottom[data-v-083282e1]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-083282e1],.middle[data-v-083282e1],.bottom[data-v-083282e1]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-083282e1]{top:0;left:0;transform:translate(0)}.middle[data-v-083282e1]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-083282e1]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-145010f5]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-145010f5],.VPNavBarMenuLink[data-v-145010f5]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-e668ad5e]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-e668ad5e]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-faebd6c0]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-faebd6c0]{display:flex;align-items:center}}.title[data-v-0aa328a5]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-0aa328a5]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-0aa328a5]{border-bottom-color:var(--vp-c-divider)}}[data-v-0aa328a5] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-4daa7ff0]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-4daa7ff0]{display:flex;align-items:center}}.title[data-v-4daa7ff0]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-5117da3f]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-5117da3f]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-5117da3f]{background-color:transparent}.VPNavBar[data-v-5117da3f]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-5117da3f]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-5117da3f]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-5117da3f]{padding:0}}.container[data-v-5117da3f]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-5117da3f],.container>.content[data-v-5117da3f]{pointer-events:none}.container[data-v-5117da3f] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-5117da3f]{max-width:100%}}.title[data-v-5117da3f]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-5117da3f]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-5117da3f]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-5117da3f]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-5117da3f]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-5117da3f]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-5117da3f]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-5117da3f]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-5117da3f]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-5117da3f]{column-gap:.5rem}}.menu+.translations[data-v-5117da3f]:before,.menu+.appearance[data-v-5117da3f]:before,.menu+.social-links[data-v-5117da3f]:before,.translations+.appearance[data-v-5117da3f]:before,.appearance+.social-links[data-v-5117da3f]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-5117da3f]:before,.translations+.appearance[data-v-5117da3f]:before{margin-right:16px}.appearance+.social-links[data-v-5117da3f]:before{margin-left:16px}.social-links[data-v-5117da3f]{margin-right:-8px}.divider[data-v-5117da3f]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-5117da3f]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-5117da3f]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-5117da3f]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-5117da3f]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-5117da3f]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-5117da3f]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-56e5c411]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-56e5c411]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-4fb775eb]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-4fb775eb]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-bfe75966]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-bfe75966]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-22878b61]{display:block}.title[data-v-22878b61]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-d1c52add]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-d1c52add]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-d1c52add]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-d1c52add]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-d1c52add]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-d1c52add]{transform:rotate(45deg)}.button[data-v-d1c52add]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-d1c52add]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-d1c52add]{transition:transform .25s}.group[data-v-d1c52add]:first-child{padding-top:0}.group+.group[data-v-d1c52add],.group+.item[data-v-d1c52add]{padding-top:4px}.VPNavScreenTranslations[data-v-c5becc9d]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-c5becc9d]{height:auto}.title[data-v-c5becc9d]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-c5becc9d]{font-size:16px}.icon.lang[data-v-c5becc9d]{margin-right:8px}.icon.chevron[data-v-c5becc9d]{margin-left:4px}.list[data-v-c5becc9d]{padding:4px 0 0 24px}.link[data-v-c5becc9d]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-73ae24e7]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-73ae24e7],.VPNavScreen.fade-leave-active[data-v-73ae24e7]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-73ae24e7],.VPNavScreen.fade-leave-active .container[data-v-73ae24e7]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-73ae24e7],.VPNavScreen.fade-leave-to[data-v-73ae24e7]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-73ae24e7],.VPNavScreen.fade-leave-to .container[data-v-73ae24e7]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-73ae24e7]{display:none}}.container[data-v-73ae24e7]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-73ae24e7],.menu+.appearance[data-v-73ae24e7],.translations+.appearance[data-v-73ae24e7]{margin-top:24px}.menu+.social-links[data-v-73ae24e7]{margin-top:16px}.appearance+.social-links[data-v-73ae24e7]{margin-top:16px}.VPNav[data-v-f2d5ab49]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-f2d5ab49]{position:fixed}}.VPSidebarItem.level-0[data-v-27ae58b8]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-27ae58b8]{padding-bottom:10px}.item[data-v-27ae58b8]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-27ae58b8]{cursor:pointer}.indicator[data-v-27ae58b8]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-27ae58b8],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-27ae58b8],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-27ae58b8],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-27ae58b8]{background-color:var(--vp-c-brand-1)}.link[data-v-27ae58b8]{display:flex;align-items:center;flex-grow:1}.text[data-v-27ae58b8]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-27ae58b8]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-27ae58b8],.VPSidebarItem.level-2 .text[data-v-27ae58b8],.VPSidebarItem.level-3 .text[data-v-27ae58b8],.VPSidebarItem.level-4 .text[data-v-27ae58b8],.VPSidebarItem.level-5 .text[data-v-27ae58b8]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-27ae58b8],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-27ae58b8],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-27ae58b8],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-27ae58b8],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-27ae58b8],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-27ae58b8]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-27ae58b8],.VPSidebarItem.level-1.has-active>.item>.text[data-v-27ae58b8],.VPSidebarItem.level-2.has-active>.item>.text[data-v-27ae58b8],.VPSidebarItem.level-3.has-active>.item>.text[data-v-27ae58b8],.VPSidebarItem.level-4.has-active>.item>.text[data-v-27ae58b8],.VPSidebarItem.level-5.has-active>.item>.text[data-v-27ae58b8],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-27ae58b8],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-27ae58b8],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-27ae58b8],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-27ae58b8],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-27ae58b8],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-27ae58b8]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-27ae58b8],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-27ae58b8],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-27ae58b8],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-27ae58b8],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-27ae58b8],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-27ae58b8]{color:var(--vp-c-brand-1)}.caret[data-v-27ae58b8]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-27ae58b8]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-27ae58b8]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-27ae58b8]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-27ae58b8]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-27ae58b8],.VPSidebarItem.level-2 .items[data-v-27ae58b8],.VPSidebarItem.level-3 .items[data-v-27ae58b8],.VPSidebarItem.level-4 .items[data-v-27ae58b8],.VPSidebarItem.level-5 .items[data-v-27ae58b8]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-27ae58b8]{display:none}.VPSidebar[data-v-50a598ae]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-50a598ae]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-50a598ae]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-50a598ae]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-50a598ae]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-50a598ae]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-50a598ae]{outline:0}.group+.group[data-v-50a598ae]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-50a598ae]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-f8e4fa18]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-f8e4fa18]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-f8e4fa18]{top:14px;left:16px}}.Layout[data-v-730d874e]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-5d2f6e45]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-5d2f6e45]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-5d2f6e45]{margin:128px 0}}.VPHomeSponsors[data-v-5d2f6e45]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-5d2f6e45]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-5d2f6e45]{padding:0 64px}}.container[data-v-5d2f6e45]{margin:0 auto;max-width:1152px}.love[data-v-5d2f6e45]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-5d2f6e45]{display:inline-block}.message[data-v-5d2f6e45]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-5d2f6e45]{padding-top:32px}.action[data-v-5d2f6e45]{padding-top:40px;text-align:center}.VPTeamPage[data-v-4fc70eac]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-4fc70eac]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-4fc70eac-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-4fc70eac-s],.VPTeamMembers+.VPTeamPageSection[data-v-4fc70eac-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-4fc70eac-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-4fc70eac-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-4fc70eac-s],.VPTeamMembers+.VPTeamPageSection[data-v-4fc70eac-s]{margin-top:96px}}.VPTeamMembers[data-v-4fc70eac-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-4fc70eac-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-4fc70eac-s]{padding:0 64px}}.VPTeamPageTitle[data-v-32132624]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-32132624]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-32132624]{padding:80px 64px 48px}}.title[data-v-32132624]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-32132624]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-32132624]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-32132624]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-ed97ba20]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-ed97ba20]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-ed97ba20]{padding:0 64px}}.title[data-v-ed97ba20]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-ed97ba20]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-ed97ba20]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-ed97ba20]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-ed97ba20]{padding-top:40px}.VPTeamMembersItem[data-v-1366d817]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-1366d817]{padding:32px}.VPTeamMembersItem.small .data[data-v-1366d817]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-1366d817]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-1366d817]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-1366d817]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-1366d817]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-1366d817]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-1366d817]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-1366d817]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-1366d817]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-1366d817]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-1366d817]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-1366d817]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-1366d817]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-1366d817]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-1366d817]{text-align:center}.avatar[data-v-1366d817]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-1366d817]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-1366d817]{margin:0;font-weight:600}.affiliation[data-v-1366d817]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-1366d817]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-1366d817]:hover{color:var(--vp-c-brand-1)}.desc[data-v-1366d817]{margin:0 auto}.desc[data-v-1366d817] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-1366d817]{display:flex;justify-content:center;height:56px}.sp-link[data-v-1366d817]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-1366d817]:hover,.sp .sp-link.link[data-v-1366d817]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-1366d817]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-ef90f7df]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-ef90f7df]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-ef90f7df]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-ef90f7df]{max-width:876px}.VPTeamMembers.medium .container[data-v-ef90f7df]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-ef90f7df]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-ef90f7df]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-ef90f7df]{max-width:760px}.container[data-v-ef90f7df]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #bd34fe 30%, #41d1ff );--vp-home-hero-image-background-image: linear-gradient( -45deg, #bd34fe 50%, #47caff 50% );--vp-home-hero-image-filter: blur(44px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}:root{--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-brand-soft);--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand-1) !important}.VPLocalSearchBox[data-v-f2bf605d]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-f2bf605d]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-f2bf605d]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-f2bf605d]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-f2bf605d]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-f2bf605d]{padding:0 8px}}.search-bar[data-v-f2bf605d]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-f2bf605d]{display:block;font-size:18px}.navigate-icon[data-v-f2bf605d]{display:block;font-size:14px}.search-icon[data-v-f2bf605d]{margin:8px}@media (max-width: 767px){.search-icon[data-v-f2bf605d]{display:none}}.search-input[data-v-f2bf605d]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-f2bf605d]{padding:6px 4px}}.search-actions[data-v-f2bf605d]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-f2bf605d]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-f2bf605d]{display:none}}.search-actions button[data-v-f2bf605d]{padding:8px}.search-actions button[data-v-f2bf605d]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-f2bf605d]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-f2bf605d]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-f2bf605d]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-f2bf605d]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-f2bf605d]{display:none}}.search-keyboard-shortcuts kbd[data-v-f2bf605d]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-f2bf605d]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-f2bf605d]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-f2bf605d]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-f2bf605d]{margin:8px}}.titles[data-v-f2bf605d]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-f2bf605d]{display:flex;align-items:center;gap:4px}.title.main[data-v-f2bf605d]{font-weight:500}.title-icon[data-v-f2bf605d]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-f2bf605d]{opacity:.5}.result.selected[data-v-f2bf605d]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-f2bf605d]{position:relative}.excerpt[data-v-f2bf605d]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-f2bf605d]{opacity:1}.excerpt[data-v-f2bf605d] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-f2bf605d] mark,.excerpt[data-v-f2bf605d] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-f2bf605d] .vp-code-group .tabs{display:none}.excerpt[data-v-f2bf605d] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-f2bf605d]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-f2bf605d]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-f2bf605d],.result.selected .title-icon[data-v-f2bf605d]{color:var(--vp-c-brand-1)!important}.no-results[data-v-f2bf605d]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-f2bf605d]{flex:none} diff --git a/docs/changelog.html b/docs/changelog.html index 9d5b49c..33711cc 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -5,20 +5,20 @@ 更新日志 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

更新日志

v4.0.0 (2024-02-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v4.0.0

  1. 系统重构:对整个系统进行了全面的重构,以提高性能、可维护性和扩展性。
  2. Vue3/Nuxt3 升级: 将前端框架升级到最新的 Vue.js 3 版本,享受新版本带来的性能提升、新特性和改进。
  3. 提供全新的管理后台
  4. 简化安装流程,提供完整的 docker 镜像

v3.5.5 (2022-12-02)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.5

  • 【新增】违禁词模块,违禁词支持词组和正则表达式
  • 【新增】发帖、发文章、评论进行违禁词筛选
  • 【新增】发帖审核功能
  • 【新增】邮箱认证白名单功能
  • 【优化】优化管理后台功能细节
  • 【优化】优化 docker 镜像构建脚本(感谢长亭科技)
  • 【漏洞修复】修复外链跳转 XSS 问题(感谢长亭科技)
  • 【漏洞修复】修复一个越权查看他人邮箱信息的漏洞(感谢长亭科技)

v3.5.4 (2022-11-14)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.4

  • 【新增】新增默认头像支持
  • 【新增】新增举报功能
  • 【新增】文章封面图支持
  • 【新增】系统支持配置开启或关闭功能模块(帖子、动态、文章)
  • 【优化】优化文章模块功能,优化文章页面样式
  • 【优化】优化文章审核流程
  • 【BUGFIX】修复二级回复消息查看跳转错误
  • 【优化】升级第三方依赖、多出细节和功能优化

v3.5.3 (2022-09-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.3

  • 支持 docker 快速启动
  • 修复 dark 模式下多处样式细节问题
  • 代码高亮改用 PrismJS 实现
  • 用户资料新增性别、生日
  • 多处细节优化和 BUG 修复

v3.5.2 (2022-08-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.2

  • dark mode 样式优化
  • 优化后台帖子管理功能
  • 优化后台文章管理功能
  • 优化后台评论管理功能
  • 去掉对 iconfont 的依赖
  • 多处细节优化

v3.5.1 (2022-04-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.1

  • 支持隐藏内容回复后查看
  • 支持帖子置顶功能

v3.5.0 (2022-04-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.0

  • 升级 Go1.18
  • 重构底层框架代码

v3.4.3 (2022-03-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.3

  • 优化管理后台功能
  • 优化邮箱验证流程
  • 安全问题修复
  • 优化话题详情页 UI

v3.4.2 (2022-01-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.2

  • 新增:适配黑夜(dark)模式
  • 优化文章页面展示样式
  • BUGFIX:修复二级评论无消息通知的 BUG
  • 重构:重构事件处理框架,优化代码结构

v3.4.1 (2022-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.1

  • 新增:评论盖楼模式、优化评论组件
  • 新增:记录发帖、评论用户的 UA、IP
  • 修复:关闭密码登录后,管理后台无法登录的问题
  • 修复:搜索框显示问题,调整搜索框样式
  • 修复:头像修改失败的问题
  • 修复:修复后台几个 BUG
  • 优化:个人资料编辑页面
  • 优化:用户注册、登录页面样式
  • 优化:go.mod 依赖
  • 优化:界面样式细节

v3.4.0 (2021-11-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.0

  • 新增:粉丝关注功能
  • 优化:搜索功能优化
  • 优化:简化接口用户信息渲染,减少数据交互
  • 优化:优化个人中心展示样式
  • 优化:简化对 element-ui 的依赖,优化应用体积和加载速度
  • BUGFIX: 修复一个 XSS 攻击漏洞

v3.3.2 (2021-09-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/3.3.2

  • 全新的前后端分离后台管理系统
  • 系统重构构建和启动速度大大提升

v3.3.1 (2021-08-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.1

  • 全新的手机版、Pad 版页面样式
  • 全新的个人中心样式
  • 依赖软件版本升级
  • 多出交互细节优化

v3.3.0 (2021-06-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.0

  • 优化多项界面体验细节
  • 话题节点支持后台自定义图标
  • 修复阿里云图片上传后缀错误问题
  • 优化内部链接跳转页面刷新体验
  • 优化代码高亮组件
  • 优化列表“加载更多”功能
  • 实现 Nuxt.js 组件自动导入
  • 评论框支持上传图片
  • 集成新的 markdown 编辑器 vue-markdown-editor

v3.2.6 (2021-05-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.6

  • 支持开源中国一键登录
  • 反作弊系统
    • 发表内容验证码开关
    • 邮箱验证开关
    • 发表频率控制
    • 新用户观察期
    • 用户禁言
    • ...
  • 集成 nuxt-vite
  • 修复积分记录展示错误问题
  • 永久禁言用户积分清零

v3.2.5 (2021-04-16)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.5

  • Feature:全新的签到、排行榜样式,感谢Alice Re-Code贡献代码
  • Bugfix:修复注册链接跳转失效的问题
  • Bugfix:修复帖子管理菜单权限控制错误的问题
  • Bugfix:修复头像展示变形的问题
  • Bugfix:修复 Windows 平台中上传图片路径错误的问题
  • 代码结构重构

v3.2.4 (2021-03-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.4

  • Feature:后台支持配置登录方式,根据需要选择登录方式
  • Feature:调整 sitemap 生成策略
  • Feature:增强前台页面的管理能力,在前台页面增加多出话题、用户管理入口
  • Feature:支持永久禁言的同时清理被禁言用户的话题和文章
  • Feature:使用 dart-sass 替换 node-sass,再也不用忍受 node-sass 安装时的痛苦了
  • Bugfix:修复动态发表时上传多张图片被覆盖的问题

v3.2.3 (2021-01-26)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.3

  • 全新的话题 UI 交互
  • 全新动态功能
  • 优化话题详情页 UI
  • 修复评论数量显示错误的问题
  • 优化后台话题管理功能
  • 前台界面提供话题的推荐功能
  • 优化头像显示组件
  • 其他多处细节调整和 BUG 修复

v3.2.2 (2021-01-13)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.2

  • Feature:帖子、动态功能合并,动态功能更加完善
  • Feature:全新的帖子信息流展示样式
  • Feature:记录帖子最后回复人、最后回复时间
  • Feature:新增签到排行榜
  • Feature:帖子详情页支持推荐功能
  • Enhancement:优化头像的存储和加载方式
  • More:多处细节和功能优化

v3.2.1 (2020-12-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.1

  • Feature: 个人主页新增我的动态
  • Enhancement:优化帖子详情页样式
  • Enhancement:优化消息页面,新增点赞通知、收藏通知、推荐通知
  • Enhancement:优化登录页面样式
  • Enhancement:优化邮箱验证逻辑
  • Enhancement:优化页面体积
  • Bugfix:修复 QQ 登录异常的问题
  • 多处细节调整...

v3.2.0 (2020-11-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.0

  • 新功能:支持基于elasticsearch的帖子搜索功能
  • 优化:SEO 优化,支持神马搜索链接推送
  • 优化:完善数据库初始化脚本
  • 优化:优化日志输出逻辑,日志输出到文件时同时支持输出到控制台
  • 优化:更新markdown语法帮助文档
  • 优化:优化站内消息发送逻辑
  • 优化:优化markdown编辑器编辑模式
  • 优化:优化代码高亮库highlight.js的加载逻辑,提升网站加载速度
  • 优化:优化导航栏消息入口显示逻辑
  • 优化:优化缓存数据不存在时的处理逻辑

v3.1.9 (2020-10-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.9

  • 支持自定义个人中心背景主题
  • 优化帖子点赞收藏展示逻辑
  • 修复升级gorm2后造成的点赞失败问题
  • 新增签到功能入口
  • 修复一个 ssrf漏洞
  • 修复gorm日志不打印问题

v3.1.8 (2020-09-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.8

本次主要更新gorm 2.0gorm 是Go语言界orm产品的扛把子,在gorm2.0发布后,bbs-go也第一时间跟进并升级了gorm2.0,本次升级的gorm2.0 从零开始,深度优化性能、重构代码。

改进点如下:

  • 性能改进
  • 代码模块化
  • Context,批量插入,预编译模式,DryRun 模式,Join 预加载,Find To Map,Create From Map,FindInBatches
  • 支持嵌套事务,SavePoint,Rollback To SavePoint
  • SQL 生成器,命名参数,分组条件,Upsert,锁, 支持 Optimizer/Index/Comment Hint,子查询改进,使用SQL表达式、Context Valuer 进行 CRUD
  • 支持完整的自引用,改进 Join Table,批量数据的关联模式
  • 允许多个字段用于追踪 create、update 时间 ,支持 UNIX (毫/纳)秒
  • 支持字段权限:只读、只写、只创建、只更新、忽略
  • 新的插件系统,为多个数据库提供了官方插件,读写分离,prometheus 集成…
  • 全新的 Hook API:带插件的统一接口
  • 全新的 Migrator:允许为关系创建数据库外键,更智能的 AutoMigrate,支持约束、检查器,增强索引支持
  • 全新的 Logger:支持 context、改进可扩展性
  • 统一命名策略:表名、字段名、连接表名、外键、检查器、索引名称规则
  • 更好的自定义类型支持(例如: JSON)

v3.1.7 (2020-09-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.7

  • 【新特性】签到功能,签到获积分
  • 【BUGFIX】修复用户中心侧边栏管理菜单显示错误的问题
  • 【新特性】修改个人主页布局
  • 【功能增强】升级 vditor 编辑器
  • 【新特性】支持后台配置用户登录有效期

v3.1.6 (2020-08-31)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.6

  • 【新特性】支持 Docker 快速启动
  • 【改进】新用户观察期支持更小粒度的配置(之前只能配置到小时)

v3.1.5 (2020-07-10)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.5

  • 【新功能】支持多管理员功能
  • 【新功能】管理员可在前台界面删除、修改话题和文章
  • 【新功能】支持邮箱验证(发送验证邮件进行验证)
  • 【新功能】支持用户禁言功能(可设置禁言时长,禁言原因)
  • 【新功能】支持新用户观察期功能(新用户注册后观察期内无法发表内容,观察期时长可后台设置,也可关闭观察期)
  • 【新功能】支持记录操作日志
  • 【优化】优化后台文章、评论的查询性能

v3.1.4 (2020-06-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.4

  • 支持版主功能,可邀请版主一起管理社区
  • 新增操作日志功能,记录管理员、版主的管理记录
  • 整理和优化后台管理菜单
  • 优化后台文章、评论列表数据加载逻辑,解决大数据量时加载性能问题
  • 优化文章详情页近期文章展示逻辑
  • 整理和优化代码,提升性能

v3.1.3 (2020-05-04)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.3

  • feature: Go SDK 升级到 1.14
  • feature: 支持文章审核功能 PR-48 @zzy624
  • feature: 新增最新动态挂件
  • feature: 实现话题收藏功能
  • feature: 优化文章页布局
  • feature: 后台新增动态管理功能
  • feature: 后台新增标签管理功能
  • bugfix: 修复评论功能的一个 XSS 漏洞
  • bugfix: 修复后台用户角色修改失败的问题
  • bugfix: 修复后台用户头像显示错误问题
  • bugfix: 修复友情链接跳转问题
  • bugfix: 修复标签文章列表排序不正确问题
  • enhance: 优化管理后台样式

v3.1.2 (2020-04-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.2

  • 新特性:支持“动态”功能
  • 新特性:支持阿里云 OSS 图片配置缩图规则
  • 增强:重构回复功能,同时支持markdown存文本回复
  • 增强:重构 Go 语言接口部分代码

v3.1.1 (2020-03-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.1

  • 新特性:支持推文功能,快捷发表推文,沟通更顺畅(推文图片支持粘贴板上传、拖拽上传)
  • 新特性:支持图片LazyLoad功能,按需加载、快速省带宽
  • 新特性:支持配置默认发帖节点
  • 新特性:文件支持上传到服务器(之前仅支持上传到阿里云 OSS)
  • 新特性:首页导航栏添加快速发帖入口
  • 增强:调整多处样式细节,做一个追求完美的人
  • Bugfix:修复后台修改用户密码和角色的 BUG
  • Bugfix:修复后台友情链接 LOGO 显示问题
  • Bugfix:修复编辑内容为空的话题时,读取内容错误的问题
  • Bugfix:修复话题修改页面 Title 错误的问题

v3.1.0 (2020-02-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.0

  • 优化帖子列表、详情在手机屏幕上的展示
  • 去掉第三方图片的依赖
  • 优化积分中心展示样式
  • 修复 Markdown 编辑器功能错误
  • 优化项目体积

v3.0.9 (2020-02-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.9

  • 新增用户积分功能
  • 完善社区公告功能
  • 完善帖子详情页用户点赞功能
  • 升级后台管理,简化后台部署,不需要在单独部署
  • 修复帖子被回复相关系统消息发送逻辑错误的问题
  • 修复其他若干 bug

v3.0.8 (2020-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.8

  • 新增论坛公告功能
  • 用户注册时支持图片验证码
  • 用户登录时支持图片验证码
  • 后台登录支持图片验证码
  • 新增后台手动退出功能

v3.0.5 (2019-12-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.5

v3.0.4 (2019-11-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.4

  • 优化文章列表加载性能,将加载方式修改为上拉加载更多,这种方式在加载列表时不需要count列表总数量,当数据量大时count很耗时。
  • 修改网站样式和配色,新的样式和配色更加好看。
  • 重构前端页面组件,将公用部分抽象成可复用组件。
  • 重构代码完全遵循eslint配置的规则,让eslint没有警告 ⚠️。
  • 新增配置项站外链接跳转,开启后站外链接需要用户确认后才能进行跳转。

v3.0.3 (2019-11-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.3 功能建议收集:https://mlog.club/topic/609

v3.0.2 (2019-10-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.2 功能建议收集:https://mlog.club/topic/609

  • QQ 登录
  • 密码注册
  • 设置邮箱
  • 设置密码

v3.0.1 (2019-09-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.1

  • 新增话题跟帖数量
  • 新增话题点赞功能
  • 优化界面样式

v3.0.0 (2019-09-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.0

  • 修改页面样式配色
  • 新增标签下的发帖引导
  • 后台支持多标签
  • 使用Vditor编辑器

v2.0.0 (2019-09-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v2.0.0

  • 新增内容专栏功能
  • 新增好博客导航功能
  • 后台支持多 Tab 页签,操作更方便
  • 完善后台功能
  • 修复各种 BUG

v1.0.5 (2019-08-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.5

  • 重构项目使用nuxt.js来渲染前端界面,GoLang只提供数据支撑

v1.0.1 (2019-07-01)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.1

  • 修复两个数据越权访问的bug;
  • 自己发布的主题帖支持修改;
  • 优化页面布局;
  • 完善后台帖子管理功能;
  • 完善和重构代码;

Released under the GPL License.

- +
Skip to content

更新日志

v4.0.0 (2024-02-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v4.0.0

  1. 系统重构:对整个系统进行了全面的重构,以提高性能、可维护性和扩展性。
  2. Vue3/Nuxt3 升级: 将前端框架升级到最新的 Vue.js 3 版本,享受新版本带来的性能提升、新特性和改进。
  3. 提供全新的管理后台
  4. 简化安装流程,提供完整的 docker 镜像

v3.5.5 (2022-12-02)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.5

  • 【新增】违禁词模块,违禁词支持词组和正则表达式
  • 【新增】发帖、发文章、评论进行违禁词筛选
  • 【新增】发帖审核功能
  • 【新增】邮箱认证白名单功能
  • 【优化】优化管理后台功能细节
  • 【优化】优化 docker 镜像构建脚本(感谢长亭科技)
  • 【漏洞修复】修复外链跳转 XSS 问题(感谢长亭科技)
  • 【漏洞修复】修复一个越权查看他人邮箱信息的漏洞(感谢长亭科技)

v3.5.4 (2022-11-14)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.4

  • 【新增】新增默认头像支持
  • 【新增】新增举报功能
  • 【新增】文章封面图支持
  • 【新增】系统支持配置开启或关闭功能模块(帖子、动态、文章)
  • 【优化】优化文章模块功能,优化文章页面样式
  • 【优化】优化文章审核流程
  • 【BUGFIX】修复二级回复消息查看跳转错误
  • 【优化】升级第三方依赖、多出细节和功能优化

v3.5.3 (2022-09-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.3

  • 支持 docker 快速启动
  • 修复 dark 模式下多处样式细节问题
  • 代码高亮改用 PrismJS 实现
  • 用户资料新增性别、生日
  • 多处细节优化和 BUG 修复

v3.5.2 (2022-08-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.2

  • dark mode 样式优化
  • 优化后台帖子管理功能
  • 优化后台文章管理功能
  • 优化后台评论管理功能
  • 去掉对 iconfont 的依赖
  • 多处细节优化

v3.5.1 (2022-04-27)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.1

  • 支持隐藏内容回复后查看
  • 支持帖子置顶功能

v3.5.0 (2022-04-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.5.0

  • 升级 Go1.18
  • 重构底层框架代码

v3.4.3 (2022-03-21)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.3

  • 优化管理后台功能
  • 优化邮箱验证流程
  • 安全问题修复
  • 优化话题详情页 UI

v3.4.2 (2022-01-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.2

  • 新增:适配黑夜(dark)模式
  • 优化文章页面展示样式
  • BUGFIX:修复二级评论无消息通知的 BUG
  • 重构:重构事件处理框架,优化代码结构

v3.4.1 (2022-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.1

  • 新增:评论盖楼模式、优化评论组件
  • 新增:记录发帖、评论用户的 UA、IP
  • 修复:关闭密码登录后,管理后台无法登录的问题
  • 修复:搜索框显示问题,调整搜索框样式
  • 修复:头像修改失败的问题
  • 修复:修复后台几个 BUG
  • 优化:个人资料编辑页面
  • 优化:用户注册、登录页面样式
  • 优化:go.mod 依赖
  • 优化:界面样式细节

v3.4.0 (2021-11-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.4.0

  • 新增:粉丝关注功能
  • 优化:搜索功能优化
  • 优化:简化接口用户信息渲染,减少数据交互
  • 优化:优化个人中心展示样式
  • 优化:简化对 element-ui 的依赖,优化应用体积和加载速度
  • BUGFIX: 修复一个 XSS 攻击漏洞

v3.3.2 (2021-09-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/3.3.2

  • 全新的前后端分离后台管理系统
  • 系统重构构建和启动速度大大提升

v3.3.1 (2021-08-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.1

  • 全新的手机版、Pad 版页面样式
  • 全新的个人中心样式
  • 依赖软件版本升级
  • 多出交互细节优化

v3.3.0 (2021-06-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.3.0

  • 优化多项界面体验细节
  • 话题节点支持后台自定义图标
  • 修复阿里云图片上传后缀错误问题
  • 优化内部链接跳转页面刷新体验
  • 优化代码高亮组件
  • 优化列表“加载更多”功能
  • 实现 Nuxt.js 组件自动导入
  • 评论框支持上传图片
  • 集成新的 markdown 编辑器 vue-markdown-editor

v3.2.6 (2021-05-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.6

  • 支持开源中国一键登录
  • 反作弊系统
    • 发表内容验证码开关
    • 邮箱验证开关
    • 发表频率控制
    • 新用户观察期
    • 用户禁言
    • ...
  • 集成 nuxt-vite
  • 修复积分记录展示错误问题
  • 永久禁言用户积分清零

v3.2.5 (2021-04-16)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.5

  • Feature:全新的签到、排行榜样式,感谢Alice Re-Code贡献代码
  • Bugfix:修复注册链接跳转失效的问题
  • Bugfix:修复帖子管理菜单权限控制错误的问题
  • Bugfix:修复头像展示变形的问题
  • Bugfix:修复 Windows 平台中上传图片路径错误的问题
  • 代码结构重构

v3.2.4 (2021-03-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.4

  • Feature:后台支持配置登录方式,根据需要选择登录方式
  • Feature:调整 sitemap 生成策略
  • Feature:增强前台页面的管理能力,在前台页面增加多出话题、用户管理入口
  • Feature:支持永久禁言的同时清理被禁言用户的话题和文章
  • Feature:使用 dart-sass 替换 node-sass,再也不用忍受 node-sass 安装时的痛苦了
  • Bugfix:修复动态发表时上传多张图片被覆盖的问题

v3.2.3 (2021-01-26)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.3

  • 全新的话题 UI 交互
  • 全新动态功能
  • 优化话题详情页 UI
  • 修复评论数量显示错误的问题
  • 优化后台话题管理功能
  • 前台界面提供话题的推荐功能
  • 优化头像显示组件
  • 其他多处细节调整和 BUG 修复

v3.2.2 (2021-01-13)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.2

  • Feature:帖子、动态功能合并,动态功能更加完善
  • Feature:全新的帖子信息流展示样式
  • Feature:记录帖子最后回复人、最后回复时间
  • Feature:新增签到排行榜
  • Feature:帖子详情页支持推荐功能
  • Enhancement:优化头像的存储和加载方式
  • More:多处细节和功能优化

v3.2.1 (2020-12-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.1

  • Feature: 个人主页新增我的动态
  • Enhancement:优化帖子详情页样式
  • Enhancement:优化消息页面,新增点赞通知、收藏通知、推荐通知
  • Enhancement:优化登录页面样式
  • Enhancement:优化邮箱验证逻辑
  • Enhancement:优化页面体积
  • Bugfix:修复 QQ 登录异常的问题
  • 多处细节调整...

v3.2.0 (2020-11-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.2.0

  • 新功能:支持基于elasticsearch的帖子搜索功能
  • 优化:SEO 优化,支持神马搜索链接推送
  • 优化:完善数据库初始化脚本
  • 优化:优化日志输出逻辑,日志输出到文件时同时支持输出到控制台
  • 优化:更新markdown语法帮助文档
  • 优化:优化站内消息发送逻辑
  • 优化:优化markdown编辑器编辑模式
  • 优化:优化代码高亮库highlight.js的加载逻辑,提升网站加载速度
  • 优化:优化导航栏消息入口显示逻辑
  • 优化:优化缓存数据不存在时的处理逻辑

v3.1.9 (2020-10-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.9

  • 支持自定义个人中心背景主题
  • 优化帖子点赞收藏展示逻辑
  • 修复升级gorm2后造成的点赞失败问题
  • 新增签到功能入口
  • 修复一个 ssrf漏洞
  • 修复gorm日志不打印问题

v3.1.8 (2020-09-25)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.8

本次主要更新gorm 2.0gorm 是Go语言界orm产品的扛把子,在gorm2.0发布后,bbs-go也第一时间跟进并升级了gorm2.0,本次升级的gorm2.0 从零开始,深度优化性能、重构代码。

改进点如下:

  • 性能改进
  • 代码模块化
  • Context,批量插入,预编译模式,DryRun 模式,Join 预加载,Find To Map,Create From Map,FindInBatches
  • 支持嵌套事务,SavePoint,Rollback To SavePoint
  • SQL 生成器,命名参数,分组条件,Upsert,锁, 支持 Optimizer/Index/Comment Hint,子查询改进,使用SQL表达式、Context Valuer 进行 CRUD
  • 支持完整的自引用,改进 Join Table,批量数据的关联模式
  • 允许多个字段用于追踪 create、update 时间 ,支持 UNIX (毫/纳)秒
  • 支持字段权限:只读、只写、只创建、只更新、忽略
  • 新的插件系统,为多个数据库提供了官方插件,读写分离,prometheus 集成…
  • 全新的 Hook API:带插件的统一接口
  • 全新的 Migrator:允许为关系创建数据库外键,更智能的 AutoMigrate,支持约束、检查器,增强索引支持
  • 全新的 Logger:支持 context、改进可扩展性
  • 统一命名策略:表名、字段名、连接表名、外键、检查器、索引名称规则
  • 更好的自定义类型支持(例如: JSON)

v3.1.7 (2020-09-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.7

  • 【新特性】签到功能,签到获积分
  • 【BUGFIX】修复用户中心侧边栏管理菜单显示错误的问题
  • 【新特性】修改个人主页布局
  • 【功能增强】升级 vditor 编辑器
  • 【新特性】支持后台配置用户登录有效期

v3.1.6 (2020-08-31)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.6

  • 【新特性】支持 Docker 快速启动
  • 【改进】新用户观察期支持更小粒度的配置(之前只能配置到小时)

v3.1.5 (2020-07-10)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.5

  • 【新功能】支持多管理员功能
  • 【新功能】管理员可在前台界面删除、修改话题和文章
  • 【新功能】支持邮箱验证(发送验证邮件进行验证)
  • 【新功能】支持用户禁言功能(可设置禁言时长,禁言原因)
  • 【新功能】支持新用户观察期功能(新用户注册后观察期内无法发表内容,观察期时长可后台设置,也可关闭观察期)
  • 【新功能】支持记录操作日志
  • 【优化】优化后台文章、评论的查询性能

v3.1.4 (2020-06-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.4

  • 支持版主功能,可邀请版主一起管理社区
  • 新增操作日志功能,记录管理员、版主的管理记录
  • 整理和优化后台管理菜单
  • 优化后台文章、评论列表数据加载逻辑,解决大数据量时加载性能问题
  • 优化文章详情页近期文章展示逻辑
  • 整理和优化代码,提升性能

v3.1.3 (2020-05-04)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.3

  • feature: Go SDK 升级到 1.14
  • feature: 支持文章审核功能 PR-48 @zzy624
  • feature: 新增最新动态挂件
  • feature: 实现话题收藏功能
  • feature: 优化文章页布局
  • feature: 后台新增动态管理功能
  • feature: 后台新增标签管理功能
  • bugfix: 修复评论功能的一个 XSS 漏洞
  • bugfix: 修复后台用户角色修改失败的问题
  • bugfix: 修复后台用户头像显示错误问题
  • bugfix: 修复友情链接跳转问题
  • bugfix: 修复标签文章列表排序不正确问题
  • enhance: 优化管理后台样式

v3.1.2 (2020-04-22)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.2

  • 新特性:支持“动态”功能
  • 新特性:支持阿里云 OSS 图片配置缩图规则
  • 增强:重构回复功能,同时支持markdown存文本回复
  • 增强:重构 Go 语言接口部分代码

v3.1.1 (2020-03-30)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.1

  • 新特性:支持推文功能,快捷发表推文,沟通更顺畅(推文图片支持粘贴板上传、拖拽上传)
  • 新特性:支持图片LazyLoad功能,按需加载、快速省带宽
  • 新特性:支持配置默认发帖节点
  • 新特性:文件支持上传到服务器(之前仅支持上传到阿里云 OSS)
  • 新特性:首页导航栏添加快速发帖入口
  • 增强:调整多处样式细节,做一个追求完美的人
  • Bugfix:修复后台修改用户密码和角色的 BUG
  • Bugfix:修复后台友情链接 LOGO 显示问题
  • Bugfix:修复编辑内容为空的话题时,读取内容错误的问题
  • Bugfix:修复话题修改页面 Title 错误的问题

v3.1.0 (2020-02-28)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.1.0

  • 优化帖子列表、详情在手机屏幕上的展示
  • 去掉第三方图片的依赖
  • 优化积分中心展示样式
  • 修复 Markdown 编辑器功能错误
  • 优化项目体积

v3.0.9 (2020-02-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.9

  • 新增用户积分功能
  • 完善社区公告功能
  • 完善帖子详情页用户点赞功能
  • 升级后台管理,简化后台部署,不需要在单独部署
  • 修复帖子被回复相关系统消息发送逻辑错误的问题
  • 修复其他若干 bug

v3.0.8 (2020-01-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.8

  • 新增论坛公告功能
  • 用户注册时支持图片验证码
  • 用户登录时支持图片验证码
  • 后台登录支持图片验证码
  • 新增后台手动退出功能

v3.0.5 (2019-12-05)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.5

v3.0.4 (2019-11-18)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.4

  • 优化文章列表加载性能,将加载方式修改为上拉加载更多,这种方式在加载列表时不需要count列表总数量,当数据量大时count很耗时。
  • 修改网站样式和配色,新的样式和配色更加好看。
  • 重构前端页面组件,将公用部分抽象成可复用组件。
  • 重构代码完全遵循eslint配置的规则,让eslint没有警告 ⚠️。
  • 新增配置项站外链接跳转,开启后站外链接需要用户确认后才能进行跳转。

v3.0.3 (2019-11-11)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.3 功能建议收集:https://mlog.club/topic/609

v3.0.2 (2019-10-29)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.2 功能建议收集:https://mlog.club/topic/609

  • QQ 登录
  • 密码注册
  • 设置邮箱
  • 设置密码

v3.0.1 (2019-09-12)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.1

  • 新增话题跟帖数量
  • 新增话题点赞功能
  • 优化界面样式

v3.0.0 (2019-09-09)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v3.0.0

  • 修改页面样式配色
  • 新增标签下的发帖引导
  • 后台支持多标签
  • 使用Vditor编辑器

v2.0.0 (2019-09-03)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v2.0.0

  • 新增内容专栏功能
  • 新增好博客导航功能
  • 后台支持多 Tab 页签,操作更方便
  • 完善后台功能
  • 修复各种 BUG

v1.0.5 (2019-08-07)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.5

  • 重构项目使用nuxt.js来渲染前端界面,GoLang只提供数据支撑

v1.0.1 (2019-07-01)

发布地址: https://github.com/mlogclub/bbs-go/releases/tag/v1.0.1

  • 修复两个数据越权访问的bug;
  • 自己发布的主题帖支持修改;
  • 优化页面布局;
  • 完善后台帖子管理功能;
  • 完善和重构代码;

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/getstart/docker.html b/docs/getstart/docker.html index 7b14ac5..640a1d8 100644 --- a/docs/getstart/docker.html +++ b/docs/getstart/docker.html @@ -5,19 +5,19 @@ 安装流程 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

安装流程

提示

本安装流程介绍的是如何使用Docker快速安装bbs-go,在安装之前请确保您已经正确安装并启动Docker服务

安装步骤如下:

  1. 在你的电脑上创建目录,创建目录 bbs-go-docker,并进入该目录
  2. 准备SQL初始化脚本 在bbs-go-docker目录中创建文件:.docker-compose/mysql/docker-entrypoint-initdb.d/init.sql,该文件为SQL初始化脚本。SQL脚本内容请加QQ群获取:

  1. 创建docker-compose.yml文件
yml
version: '3.8'
+    
Skip to content

安装流程

提示

本安装流程介绍的是如何使用Docker快速安装bbs-go,在安装之前请确保您已经正确安装并启动Docker服务

安装步骤如下:

  1. 在你的电脑上创建目录,创建目录 bbs-go-docker,并进入该目录
  2. 准备SQL初始化脚本 在bbs-go-docker目录中创建文件:.docker-compose/mysql/docker-entrypoint-initdb.d/init.sql,该文件为SQL初始化脚本。SQL脚本内容请加QQ群获取:

  1. 创建docker-compose.yml文件
yml
version: '3.8'
 
 services:
   mysql:
@@ -80,8 +80,8 @@
     build:
       dockerfile: Dockerfile
       context: ./admin
-    restart: on-failure
  1. 使用docker-compose up命令启动启动服务

如果你没有权限执行docker-compose命令,你可能需要用到sudo

此命令将下载所需的Docker镜像(如果本地不存在),并启动容器。

  1. 服务启动成功,可通过浏览器访问服务,服务地址如下:

Released under the GPL License.

- + restart: on-failure
  1. 使用docker-compose up命令启动启动服务

如果你没有权限执行docker-compose命令,你可能需要用到sudo

此命令将下载所需的Docker镜像(如果本地不存在),并启动容器。

  1. 服务启动成功,可通过浏览器访问服务,服务地址如下:

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/getstart/installation/index.html b/docs/getstart/installation/index.html index a6aa221..f1fcc0f 100644 --- a/docs/getstart/installation/index.html +++ b/docs/getstart/installation/index.html @@ -5,19 +5,19 @@ 代码结构 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

代码结构

模块划分

bbs-go采用前后端分离设计,一共分为三个模块:

  • server 使用go语言开发的服务端接口服务
  • site 使用node + nuxt开发的前台页面服务
  • admin 使用vue + arco 开发的后台管理系统

获取最新源码

TIP

请先确保会使用Git,Git使用教程:https://www.google.com

GitHub和Gitee上都有最新版本的源码,项目地址分别为:

以GitHub为例,执行下面命令将代码Clone到本地

shell
git clone git@github.com:mlogclub/bbs-go.git

目录结构

plain
.
+    
Skip to content

代码结构

模块划分

bbs-go采用前后端分离设计,一共分为三个模块:

  • server 使用go语言开发的服务端接口服务
  • site 使用node + nuxt开发的前台页面服务
  • admin 使用vue + arco 开发的后台管理系统

获取最新源码

TIP

请先确保会使用Git,Git使用教程:https://www.google.com

GitHub和Gitee上都有最新版本的源码,项目地址分别为:

以GitHub为例,执行下面命令将代码Clone到本地

shell
git clone git@github.com:mlogclub/bbs-go.git

目录结构

plain
.
 ├── LICENSE
 ├── README.md
 ├── docker-compose.yml
@@ -100,8 +100,8 @@
 │   │   ├── types
 │   │   ├── utils
 │   │   └── views
-└── └── tsconfig.json

Released under the GPL License.

- +└── └── tsconfig.json

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/getstart/installation/server.html b/docs/getstart/installation/server.html index 99baacc..c9e5022 100644 --- a/docs/getstart/installation/server.html +++ b/docs/getstart/installation/server.html @@ -5,20 +5,20 @@ Server模块安装 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

Server模块安装

Go语言开发环境安装

安装Go

请去官网 https://go.dev/dl/ 下载对应系统的Go语言安装包。推荐版本:go1.20 +

如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。

配置Go Proxy

Released under the GPL License.

- +
Skip to content

Server模块安装

Go语言开发环境安装

安装Go

请去官网 https://go.dev/dl/ 下载对应系统的Go语言安装包。推荐版本:go1.20 +

如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。

配置Go Proxy

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/getstart/installation/server/go-mod.html b/docs/getstart/installation/server/go-mod.html index 24003dc..91468f4 100644 --- a/docs/getstart/installation/server/go-mod.html +++ b/docs/getstart/installation/server/go-mod.html @@ -5,27 +5,27 @@ Go mod使用帮助 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

Go mod使用帮助

Go mod 介绍

Go Modules 是 Go 语言官方的依赖管理系统,自 Go 1.11 版本起引入,并在 Go 1.13 版本中成为默认的依赖管理工具。其主要目标是解决项目依赖的版本管理问题,让开发者能够轻松地添加、更新和移除依赖。本文将向你介绍如何使用 Go Modules 管理你的 Go 项目。

Go mod 常用命令

  • go mod download: 下载依赖的module到本地cache
  • go mod edit: 编辑go.mod
  • go mod graph: 打印模块依赖图
  • go mod init: 在当前目录下初始化go.mod(就是会新建一个go.mod文件)
  • go mod tidy: 整理依赖关系,会添加丢失的module,删除不需要的module
  • go mod vender: 将依赖复制到vendor下
  • go mod verify: 校验依赖
  • go mod why: 解释为什么需要依赖

在新项目中使用

使用go mod并不要求你的项目源码放到$GOPATH下,所以你的新项目可以放到任意你喜欢的路径。在项目根目录下执行go mod init,会生成一个go.mod文件。然后你可以在其中增加你的依赖,如下:

go
module github.com/mlogclub/xxx
+    
Skip to content

Go mod使用帮助

Go mod 介绍

Go Modules 是 Go 语言官方的依赖管理系统,自 Go 1.11 版本起引入,并在 Go 1.13 版本中成为默认的依赖管理工具。其主要目标是解决项目依赖的版本管理问题,让开发者能够轻松地添加、更新和移除依赖。本文将向你介绍如何使用 Go Modules 管理你的 Go 项目。

Go mod 常用命令

  • go mod download: 下载依赖的module到本地cache
  • go mod edit: 编辑go.mod
  • go mod graph: 打印模块依赖图
  • go mod init: 在当前目录下初始化go.mod(就是会新建一个go.mod文件)
  • go mod tidy: 整理依赖关系,会添加丢失的module,删除不需要的module
  • go mod vender: 将依赖复制到vendor下
  • go mod verify: 校验依赖
  • go mod why: 解释为什么需要依赖

在新项目中使用

使用go mod并不要求你的项目源码放到$GOPATH下,所以你的新项目可以放到任意你喜欢的路径。在项目根目录下执行go mod init,会生成一个go.mod文件。然后你可以在其中增加你的依赖,如下:

go
module github.com/mlogclub/xxx
 
 go 1.12
 
 require (
     github.com/go-sql-driver/mysql v1.4.1
     .... 你的依赖类似这样,添加到这里,一行一条。
-)

然后执行go mod download,将依赖下载到本地。这些依赖并不是下载到你的项目目录下,而是会下载到$GOPATH/pkg/mod目录下,这样所有使用go mod的项目都可以共用。

在旧项目中使用

在旧项目中使用非常简单,只需要一下两个步骤:

  • go mod init: 在项目根目录下执行该命令,会在项目根目录下生成一个go.mod文件。
  • go mod tidy: 在项目根目录下执行该命令,go mod会自动分析你当前项目所需要的依赖,并且将他们下载下来。

如何升级依赖

运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号y是次要版本号) 运行 go get -u=patch 将会升级到最新的修订版本 运行 go get package@version 将会升级到指定的版本

Go mod proxy 配置

众所周知的原因,国内是无法稳定的访问Google的服务,所以很多依赖无法成功下载,这个时候我们就要为go mod配置代理,目前国内优质的go mod代理推荐一下两个:

这里我推荐使用goproxy.cn,他是国内最早提供goproxy代理的服务,他的服务由七牛提供支持,七牛也是目前国内使用Go语言经验比较丰富的公司,我一直在使用goproxy.cn,很稳定。

下面我们执行一下命令来设置goproxy:

shell
go env -w GOPROXY=https://goproxy.cn,direct

注意:go env -w是不支持老版本go语言sdk的,如果你在执行该命令时报错,可以通过执行以下命令来设置GOPROXY

shell
export GOPROXY=https://goproxy.cn

配置完成后,我们执行 go env 命令可以看到效果,如下图:

Released under the GPL License.

- +)

然后执行go mod download,将依赖下载到本地。这些依赖并不是下载到你的项目目录下,而是会下载到$GOPATH/pkg/mod目录下,这样所有使用go mod的项目都可以共用。

在旧项目中使用

在旧项目中使用非常简单,只需要一下两个步骤:

  • go mod init: 在项目根目录下执行该命令,会在项目根目录下生成一个go.mod文件。
  • go mod tidy: 在项目根目录下执行该命令,go mod会自动分析你当前项目所需要的依赖,并且将他们下载下来。

如何升级依赖

运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号y是次要版本号) 运行 go get -u=patch 将会升级到最新的修订版本 运行 go get package@version 将会升级到指定的版本

Go mod proxy 配置

众所周知的原因,国内是无法稳定的访问Google的服务,所以很多依赖无法成功下载,这个时候我们就要为go mod配置代理,目前国内优质的go mod代理推荐一下两个:

这里我推荐使用goproxy.cn,他是国内最早提供goproxy代理的服务,他的服务由七牛提供支持,七牛也是目前国内使用Go语言经验比较丰富的公司,我一直在使用goproxy.cn,很稳定。

下面我们执行一下命令来设置goproxy:

shell
go env -w GOPROXY=https://goproxy.cn,direct

注意:go env -w是不支持老版本go语言sdk的,如果你在执行该命令时报错,可以通过执行以下命令来设置GOPROXY

shell
export GOPROXY=https://goproxy.cn

配置完成后,我们执行 go env 命令可以看到效果,如下图:

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/getstart/installation/server/install-go.html b/docs/getstart/installation/server/install-go.html index fe35c4c..b82edb7 100644 --- a/docs/getstart/installation/server/install-go.html +++ b/docs/getstart/installation/server/install-go.html @@ -5,20 +5,20 @@ 安装Go | BBS-GO - - + + - - - - - + + + + + -
Skip to content

安装Go

请去官网 https://go.dev/dl/ 下载对应系统的Go语言安装包。推荐版本:go1.20 +

如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。

Released under the GPL License.

- +
Skip to content

安装Go

请去官网 https://go.dev/dl/ 下载对应系统的Go语言安装包。推荐版本:go1.20 +

如何安装Go语言开发包、设置环境变量等,请自行Google,这里就不对赘述了。

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/getstart/installation/server/install.html b/docs/getstart/installation/server/install.html index 455c588..ec33fa9 100644 --- a/docs/getstart/installation/server/install.html +++ b/docs/getstart/installation/server/install.html @@ -5,19 +5,19 @@ Server 模块安装 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

Server 模块安装

提示

开始之前请确保正确安装Go语言开发环境,并设置已经设置好环境变量。安装教程详见:https://www.google.com

安装依赖

server模块的依赖使用go mod进行管理,进入 server 目录,执行下面命令安装依赖:

shell
go mod download -x

编译

依赖安装成功后,执行下面命令进行编译

shell
go build

编译成功后,会在当前目录生成二进制可执行文件 bbs-go (Windows系统为bbs-go.exe

这个文件是可以执行的,但我们先不着急执行,因为还没有正确配置数据库等信息,接下来我们看如何配置。

配置

系统提供了配置示例文件:bbs-go.example.yaml,将他复制一份,并命名为:bbs-go.dev.yaml,然后将bbs-go.dev.yaml中的配置修改为你自己的配置。配置示例如下:

yaml
Env: prod # 环境,线上环境:prod、测试环境:dev
+    
Skip to content

Server 模块安装

提示

开始之前请确保正确安装Go语言开发环境,并设置已经设置好环境变量。安装教程详见:https://www.google.com

安装依赖

server模块的依赖使用go mod进行管理,进入 server 目录,执行下面命令安装依赖:

shell
go mod download -x

编译

依赖安装成功后,执行下面命令进行编译

shell
go build

编译成功后,会在当前目录生成二进制可执行文件 bbs-go (Windows系统为bbs-go.exe

这个文件是可以执行的,但我们先不着急执行,因为还没有正确配置数据库等信息,接下来我们看如何配置。

配置

系统提供了配置示例文件:bbs-go.example.yaml,将他复制一份,并命名为:bbs-go.dev.yaml,然后将bbs-go.dev.yaml中的配置修改为你自己的配置。配置示例如下:

yaml
Env: prod # 环境,线上环境:prod、测试环境:dev
 BaseUrl: https://mlog.club # 网站域名
 Port: 8082 # 端口
 StaticPath: /data/www  # 根路径下的静态文件目录,可配置绝对路径
@@ -84,8 +84,8 @@
 # es 配置
 Es:
   Url: http://127.0.0.1:9200
-  Index: bbsgo_topic_1

基本配置

TODO

日志配置

TODO

数据库配置

TODO

上传配置

TODO

ElasticSearch配置

TODO

SMTP邮箱服务配置

TODO

百度SEO配置

TODO

神马搜索SEO配置

TODO

Released under the GPL License.

- + Index: bbsgo_topic_1

基本配置

TODO

日志配置

TODO

数据库配置

TODO

上传配置

TODO

ElasticSearch配置

TODO

SMTP邮箱服务配置

TODO

百度SEO配置

TODO

神马搜索SEO配置

TODO

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 0dc110e..016843d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,20 +5,20 @@ 功能介绍 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

功能介绍

概要

bbs-go 是一款基于Go语言研发的开源前后端分离精美小巧跨平台的社区系统。初期该项目仅用过学习和交流,开源之后越来越多的小伙伴儿开始喜欢和关注他,这也是我长期升级和维护的动力。

bbs-go 为前后端分离设计,后端接口服务使用简洁的Go语言进行开发,前端页面使用Vue.js进行开发。系统由三个模块组成:

  • server:go语言开发后端接口服务,为系统提供数据支撑
  • site:基于Nuxt.js开发的社区前台UI服务
  • admin:基于Vue.js开发的社区运营

功能

bbs-go功能简介

官网

技术栈

交流群/联系我

Released under the GPL License.

- +
Skip to content

功能介绍

概要

bbs-go 是一款基于 Go 语言研发的开源前后端分离精美小巧跨平台的社区系统。初期该项目仅用过学习和交流,开源之后越来越多的小伙伴儿开始喜欢和关注他,这也是我长期升级和维护的动力。

bbs-go 为前后端分离设计,后端接口服务使用简洁的 Go 语言进行开发,前端页面使用 Vue.js 进行开发。系统由三个模块组成:

  • server:go 语言开发后端接口服务,为系统提供数据支撑
  • site:基于 Nuxt.js 开发的社区前台 UI 服务
  • admin:基于 Vue.js 开发的社区运营

功能

bbs-go功能简介

官网

技术栈

交流群/联系我

bbs-go交流群

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/internal/initsql.html b/docs/internal/initsql.html index 644cc64..91a7020 100644 --- a/docs/internal/initsql.html +++ b/docs/internal/initsql.html @@ -5,19 +5,19 @@ SQL初始化脚本 | BBS-GO - - + + - - - - - + + + + + -
Skip to content

SQL初始化脚本

提示

初始化账号为:admin、密码为:123456

sql
USE bbsgo_db;
+    
Skip to content

SQL初始化脚本

提示

初始化账号为:admin、密码为:123456

sql
USE bbsgo_db;
 SET NAMES utf8mb4;
 -- 初始化用户表
 CREATE TABLE `t_user` (
@@ -377,8 +377,8 @@
 (19, 2, 8, (UNIX_TIMESTAMP(now()) * 1000)),
 (20, 2, 4, (UNIX_TIMESTAMP(now()) * 1000)),
 (21, 2, 5, (UNIX_TIMESTAMP(now()) * 1000)),
-(22, 2, 9, (UNIX_TIMESTAMP(now()) * 1000));

Released under the GPL License.

- +(22, 2, 9, (UNIX_TIMESTAMP(now()) * 1000));

Released under the GPL License.

+ \ No newline at end of file diff --git a/docs/qa.html b/docs/qa.html new file mode 100644 index 0000000..bf90e94 --- /dev/null +++ b/docs/qa.html @@ -0,0 +1,24 @@ + + + + + + 常见问题 | BBS-GO + + + + + + + + + + + + + +
Skip to content

常见问题

TIP

欢迎各位同学来这篇文档进行补充你遇到的问题,以及解决方案

数据库如何初始化

扫码加群获取数据库初始化 SQL 脚本

bbs-go交流群

初始化 SQL 脚本只包含必要的表和配置(例如用户表、初始化默认账号、初始化默认配置),其他的表会在系统启动时自动创建(前提是你已经正确配置了数据库连接)

初始化账号密码

如果是使用官方提供的 SQL 脚本初始化的数据库,初始化帐号密码为:admin/123456

TODO

Released under the GPL License.

+ + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index b52c9c1..ed2322d 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"docs_getstart_installation_server_go-mod.md":"cj2VoU3f","docs_changelog.md":"CohtX37C","docs_getstart_installation_server.md":"Tn8PMrRv","index.md":"Dkf2VCNa","readme.md":"-Y1-uMSl","docs_getstart_installation_server_install-go.md":"YK1dBgO3","docs_index.md":"DAoJYKdi","docs_getstart_installation_index.md":"BFxdhziH","docs_getstart_installation_server_install.md":"D7xTG-U8","docs_getstart_docker.md":"DGv0x3JT","docs_internal_initsql.md":"Bp82G-rl"} +{"readme.md":"BX_zWQ7A","index.md":"BrdKfpbv","docs_qa.md":"N6JL2oIG","docs_getstart_installation_index.md":"D6B61OuH","docs_getstart_installation_server_install-go.md":"Cdhrcsic","docs_getstart_installation_server.md":"CGgOwjki","docs_getstart_docker.md":"CV5Q9pIW","docs_index.md":"B3W0vpF_","docs_changelog.md":"CWnvxak_","docs_getstart_installation_server_install.md":"BQ1mF7nt","docs_internal_initsql.md":"BzA2xIeT","docs_getstart_installation_server_go-mod.md":"CzLO19SZ"} diff --git a/index.html b/index.html index 720017d..5faec04 100644 --- a/index.html +++ b/index.html @@ -5,20 +5,20 @@ BBS-GO - - + + - - - - - + + + + + -
Skip to content

BBS-GO

简洁对话,高效互动,社区新体验!

基于 Go 语言的社区系统

BBS-GO

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

Released under the GPL License.

- +
Skip to content

BBS-GO

简洁对话,高效互动,社区新体验!

基于 Go 语言的社区系统

BBS-GO

🎉🎉🎉 2024,从心出发,共筑简洁社区新时代!

联系我

Released under the GPL License.

+ \ No newline at end of file