diff --git a/404.html b/404.html index aac7bb37..fa2d962c 100644 --- a/404.html +++ b/404.html @@ -5,10 +5,10 @@ 404 | Arch Linux Guide - - + + - + @@ -16,8 +16,8 @@ -
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.

Made by D3SOX with ❤️

- +
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.

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/assets/app.5cgyIUCz.js b/assets/app.5cgyIUCz.js deleted file mode 100644 index c029c711..00000000 --- a/assets/app.5cgyIUCz.js +++ /dev/null @@ -1,7 +0,0 @@ -import{j as o,a4 as p,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as A,ad as g,Y as v,d as P,u as y,l as C,z as w,ae as _,af as b,ag as E,ah as R}from"./chunks/framework.HmH449Dw.js";import{t as D}from"./chunks/theme.m-TXCiQU.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(D),j=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&_(),b(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function L(){const e=S(),a=O();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 O(){return h(j)}function S(){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&&L().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{L 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.NHQSrhnX.js b/assets/app.NHQSrhnX.js new file mode 100644 index 00000000..2397c840 --- /dev/null +++ b/assets/app.NHQSrhnX.js @@ -0,0 +1,7 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +import{j as o,a5 as p,a6 as u,a7 as l,a8 as c,a9 as f,aa as d,ab as m,ac as h,ad as g,ae as A,Y as P,d as _,u as v,l as y,z as C,af as E,ag as b,ah as w,ai as R}from"./chunks/framework.xR9aiOhR.js";import{t as S}from"./chunks/theme.PCuizgpJ.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(S),T=_({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&E(),b(),w(),s.setup&&s.setup(),()=>R(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=L(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,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 j(){return h(T)}function L(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/assets/chunks/VPAlgoliaSearchBox._erLWNLi.js b/assets/chunks/VPAlgoliaSearchBox.4HE5Jf3K.js similarity index 99% rename from assets/chunks/VPAlgoliaSearchBox._erLWNLi.js rename to assets/chunks/VPAlgoliaSearchBox.4HE5Jf3K.js index fa68d474..75a90ad6 100644 --- a/assets/chunks/VPAlgoliaSearchBox._erLWNLi.js +++ b/assets/chunks/VPAlgoliaSearchBox.4HE5Jf3K.js @@ -1,4 +1,4 @@ -import{d as so,ai as fo,M as mo,l as po,y as vo,S as ho,o as yo,c as go}from"./framework.HmH449Dw.js";import{u as bo}from"./theme.m-TXCiQU.js";/*! @docsearch/js 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function ur(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function I(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function se(t,e){return function(r){if(Array.isArray(r))return r}(t)||function(r,n){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var i,a,c=[],u=!0,s=!1;try{for(o=o.call(r);!(u=(i=o.next()).done)&&(c.push(i.value),!n||c.length!==n);u=!0);}catch(l){s=!0,a=l}finally{try{u||o.return==null||o.return()}finally{if(s)throw a}}return c}}(t,e)||yn(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +import{d as so,aj as fo,M as mo,l as po,y as vo,U as ho,o as yo,c as go}from"./framework.xR9aiOhR.js";import{u as bo}from"./theme.PCuizgpJ.js";/*! @docsearch/js 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function ur(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function I(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function se(t,e){return function(r){if(Array.isArray(r))return r}(t)||function(r,n){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var i,a,c=[],u=!0,s=!1;try{for(o=o.call(r);!(u=(i=o.next()).done)&&(c.push(i.value),!n||c.length!==n);u=!0);}catch(l){s=!0,a=l}finally{try{u||o.return==null||o.return()}finally{if(s)throw a}}return c}}(t,e)||yn(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ft(t){return function(e){if(Array.isArray(e))return Lt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||yn(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function yn(t,e){if(t){if(typeof t=="string")return Lt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Lt(t,e):void 0}}function Lt(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r3)for(r=[r],i=3;i0?Ie(v.type,v.props,v.key,null,v.__v):v)!=null){if(v.__=r,v.__b=r.__b+1,(p=b[l])===null||p&&v.key==p.key&&v.type===p.type)b[l]=void 0;else for(m=0;m<_;m++){if((p=b[m])&&v.key==p.key&&v.type===p.type){b[m]=void 0;break}p=null}Yt(t,v,p=p||mt,o,i,a,c,u,s),d=v.__e,(m=v.ref)&&p.ref!=m&&(y||(y=[]),p.ref&&y.push(p.ref,null,v),y.push(m,v.__c||d,v)),d!=null?(h==null&&(h=d),typeof v.type=="function"&&v.__k!=null&&v.__k===p.__k?v.__d=u=wn(v,u,t):u=jn(t,v,p,b,d,u),s||r.type!=="option"?typeof r.type=="function"&&(r.__d=u):t.value=""):u&&p.__e==u&&u.parentNode!=t&&(u=We(p))}for(r.__e=h,l=_;l--;)b[l]!=null&&(typeof r.type=="function"&&b[l].__e!=null&&b[l].__e==r.__d&&(r.__d=We(n,l+1)),In(b[l],b[l]));if(y)for(l=0;l3)for(r=[r],i=3;i=r.__.length&&r.__.push({}),r.__[t]}function kn(t){return pe=1,An(xn,t)}function An(t,e,r){var n=Je(de++,2);return n.t=t,n.__c||(n.__=[r?r(e):xn(void 0,e),function(o){var i=n.t(n.__[0],o);n.__[0]!==i&&(n.__=[i,n.__[1]],n.__c.setState({}))}],n.__c=q),n.__}function Cn(t,e){var r=Je(de++,3);!w.__s&&Gt(r.__H,e)&&(r.__=t,r.__H=e,q.__H.__h.push(r))}function gr(t,e){var r=Je(de++,4);!w.__s&&Gt(r.__H,e)&&(r.__=t,r.__H=e,q.__h.push(r))}function Pt(t,e){var r=Je(de++,7);return Gt(r.__H,e)&&(r.__=t(),r.__H=e,r.__h=t),r.__}function Po(){Ht.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(ut),t.__H.__h.forEach(Ut),t.__H.__h=[]}catch(e){t.__H.__h=[],w.__e(e,t.__v)}}),Ht=[]}w.__b=function(t){q=null,pr&&pr(t)},w.__r=function(t){vr&&vr(t),de=0;var e=(q=t.__c).__H;e&&(e.__h.forEach(ut),e.__h.forEach(Ut),e.__h=[])},w.diffed=function(t){dr&&dr(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(Ht.push(e)!==1&&mr===w.requestAnimationFrame||((mr=w.requestAnimationFrame)||function(r){var n,o=function(){clearTimeout(i),br&&cancelAnimationFrame(n),setTimeout(r)},i=setTimeout(o,100);br&&(n=requestAnimationFrame(o))})(Po)),q=void 0},w.__c=function(t,e){e.some(function(r){try{r.__h.forEach(ut),r.__h=r.__h.filter(function(n){return!n.__||Ut(n)})}catch(n){e.some(function(o){o.__h&&(o.__h=[])}),e=[],w.__e(n,r.__v)}}),hr&&hr(t,e)},w.unmount=function(t){yr&&yr(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(ut)}catch(r){w.__e(r,e.__v)}};var br=typeof requestAnimationFrame=="function";function ut(t){var e=q;typeof t.__c=="function"&&t.__c(),q=e}function Ut(t){var e=q;t.__c=t.__(),q=e}function Gt(t,e){return!t||t.length!==e.length||e.some(function(r,n){return r!==t[n]})}function xn(t,e){return typeof e=="function"?e(t):e}function Nn(t,e){for(var r in e)t[r]=e[r];return t}function Ft(t,e){for(var r in t)if(r!=="__source"&&!(r in e))return!0;for(var n in e)if(n!=="__source"&&t[n]!==e[n])return!0;return!1}function Bt(t){this.props=t}(Bt.prototype=new K).isPureReactComponent=!0,Bt.prototype.shouldComponentUpdate=function(t,e){return Ft(this.props,t)||Ft(this.state,e)};var _r=w.__b;w.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),_r&&_r(t)};var Io=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Or=function(t,e){return t==null?null:$($(t).map(e))},Do={map:Or,forEach:Or,count:function(t){return t?$(t).length:0},only:function(t){var e=$(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:$},ko=w.__e;function ct(){this.__u=0,this.t=null,this.__b=null}function Tn(t){var e=t.__.__c;return e&&e.__e&&e.__e(t)}function je(){this.u=null,this.o=null}w.__e=function(t,e,r){if(t.then){for(var n,o=e;o=o.__;)if((n=o.__c)&&n.__c)return e.__e==null&&(e.__e=r.__e,e.__k=r.__k),n.__c(t,e)}ko(t,e,r)},(ct.prototype=new K).__c=function(t,e){var r=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var o=Tn(n.__v),i=!1,a=function(){i||(i=!0,r.componentWillUnmount=r.__c,o?o(c):c())};r.__c=r.componentWillUnmount,r.componentWillUnmount=function(){a(),r.__c&&r.__c()};var c=function(){if(!--n.__u){if(n.state.__e){var s=n.state.__e;n.__v.__k[0]=function m(p,v,d){return p&&(p.__v=null,p.__k=p.__k&&p.__k.map(function(h){return m(h,v,d)}),p.__c&&p.__c.__P===v&&(p.__e&&d.insertBefore(p.__e,p.__d),p.__c.__e=!0,p.__c.__P=d)),p}(s,s.__c.__P,s.__c.__O)}var l;for(n.setState({__e:n.__b=null});l=n.t.pop();)l.forceUpdate()}},u=e.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),t.then(a,a)},ct.prototype.componentWillUnmount=function(){this.t=[]},ct.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function i(a,c,u){return a&&(a.__c&&a.__c.__H&&(a.__c.__H.__.forEach(function(s){typeof s.__c=="function"&&s.__c()}),a.__c.__H=null),(a=Nn({},a)).__c!=null&&(a.__c.__P===u&&(a.__c.__P=c),a.__c=null),a.__k=a.__k&&a.__k.map(function(s){return i(s,c,u)})),a}(this.__b,r,n.__O=n.__P)}this.__b=null}var o=e.__e&&W(X,null,t.fallback);return o&&(o.__h=null),[W(X,null,e.__e?null:t.children),o]};var Sr=function(t,e,r){if(++r[1]===r[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(r=t.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),e.i.removeChild(n)}}),Ke(W(Ao,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function Rn(t,e){return W(Co,{__v:t,i:e})}(je.prototype=new K).__e=function(t){var e=this,r=Tn(e.__v),n=e.o.get(t);return n[0]++,function(o){var i=function(){e.props.revealOrder?(n.push(o),Sr(e,t,n)):o()};r?r(i):i()}},je.prototype.render=function(t){this.u=null,this.o=new Map;var e=$(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var r=e.length;r--;)this.o.set(e[r],this.u=[1,0,this.u]);return t.children},je.prototype.componentDidUpdate=je.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,r){Sr(t,r,e)})};var qn=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,xo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,No=function(t){return(typeof Symbol<"u"&&Ve(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};function Ln(t,e,r){return e.__k==null&&(e.textContent=""),Ke(t,e),typeof r=="function"&&r(),t?t.__c:null}K.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(K.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var wr=w.event;function To(){}function Ro(){return this.cancelBubble}function qo(){return this.defaultPrevented}w.event=function(t){return wr&&(t=wr(t)),t.persist=To,t.isPropagationStopped=Ro,t.isDefaultPrevented=qo,t.nativeEvent=t};var Mn,jr={configurable:!0,get:function(){return this.class}},Er=w.vnode;w.vnode=function(t){var e=t.type,r=t.props,n=r;if(typeof e=="string"){for(var o in n={},r){var i=r[o];o==="value"&&"defaultValue"in r&&i==null||(o==="defaultValue"&&"value"in r&&r.value==null?o="value":o==="download"&&i===!0?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+e)&&!No(r.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():xo.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():i===null&&(i=void 0),n[o]=i)}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=$(r.children).forEach(function(a){a.props.selected=n.value.indexOf(a.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=$(r.children).forEach(function(a){a.props.selected=n.multiple?n.defaultValue.indexOf(a.props.value)!=-1:n.defaultValue==a.props.value})),t.props=n}e&&r.class!=r.className&&(jr.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",jr)),t.$$typeof=qn,Er&&Er(t)};var Pr=w.__r;w.__r=function(t){Pr&&Pr(t),Mn=t.__c};var Lo={ReactCurrentDispatcher:{current:{readContext:function(t){return Mn.__n[t.__c].props.value}}}};(typeof performance>"u"?"undefined":Ve(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function Ir(t){return!!t&&t.$$typeof===qn}var f={useState:kn,useReducer:An,useEffect:Cn,useLayoutEffect:gr,useRef:function(t){return pe=5,Pt(function(){return{current:t}},[])},useImperativeHandle:function(t,e,r){pe=6,gr(function(){typeof t=="function"?t(e()):t&&(t.current=e())},r==null?r:r.concat(t))},useMemo:Pt,useCallback:function(t,e){return pe=8,Pt(function(){return t},e)},useContext:function(t){var e=q.context[t.__c],r=Je(de++,9);return r.__c=t,e?(r.__==null&&(r.__=!0,e.sub(q)),e.props.value):t.__},useDebugValue:function(t,e){w.useDebugValue&&w.useDebugValue(e?e(t):t)},version:"16.8.0",Children:Do,render:Ln,hydrate:function(t,e,r){return Dn(t,e),typeof r=="function"&&r(),t?t.__c:null},unmountComponentAtNode:function(t){return!!t.__k&&(Ke(null,t),!0)},createPortal:Rn,createElement:W,createContext:function(t,e){var r={__c:e="__cC"+bn++,__:t,Consumer:function(n,o){return n.children(o)},Provider:function(n){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&o.some(Mt)},this.sub=function(a){o.push(a);var c=a.componentWillUnmount;a.componentWillUnmount=function(){o.splice(o.indexOf(a),1),c&&c.call(a)}}),n.children}};return r.Provider.__=r.Consumer.contextType=r},createFactory:function(t){return W.bind(null,t)},cloneElement:function(t){return Ir(t)?Eo.apply(null,arguments):t},createRef:function(){return{current:null}},Fragment:X,isValidElement:Ir,findDOMNode:function(t){return t&&(t.base||t.nodeType===1&&t)||null},Component:K,PureComponent:Bt,memo:function(t,e){function r(o){var i=this.props.ref,a=i==o.ref;return!a&&i&&(i.call?i(null):i.current=null),e?!e(this.props,o)||!a:Ft(this.props,o)}function n(o){return this.shouldComponentUpdate=r,W(t,o)}return n.displayName="Memo("+(t.displayName||t.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n},forwardRef:function(t){function e(r,n){var o=Nn({},r);return delete o.ref,t(o,(n=r.ref||n)&&(Ve(n)!="object"||"current"in n)?n:null)}return e.$$typeof=Io,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e},unstable_batchedUpdates:function(t,e){return t(e)},StrictMode:X,Suspense:ct,SuspenseList:je,lazy:function(t){var e,r,n;function o(i){if(e||(e=t()).then(function(a){r=a.default||a},function(a){n=a}),n)throw n;if(!r)throw e;return W(r,i)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Lo};function Mo(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function Hn(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ho=["translations"];function Vt(){return Vt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var Bo=f.forwardRef(function(t,e){var r=t.translations,n=r===void 0?{}:r,o=Fo(t,Ho),i=n.buttonText,a=i===void 0?"Search":i,c=n.buttonAriaLabel,u=c===void 0?"Search":c,s=Uo(kn(null),2),l=s[0],m=s[1];return Cn(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?m("⌘"):m("Ctrl"))},[]),f.createElement("button",Vt({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:e}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(Hn,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},a)),f.createElement("span",{className:"DocSearch-Button-Keys"},l!==null&&f.createElement(f.Fragment,null,f.createElement("kbd",{className:"DocSearch-Button-Key"},l==="Ctrl"?f.createElement(Mo,null):l),f.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))});function Un(t,e){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;in.has(s.toLowerCase()):s=>n.has(s)}const te={},mt=[],xe=()=>{},ci=()=>!1,Ut=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),_s=e=>e.startsWith("onUpdate:"),ie=Object.assign,vs=(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,yt=e=>Cn(e)==="[object Map]",Hr=e=>Cn(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",St=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",jr=e=>(Z(e)||K(e))&&K(e.then)&&K(e.catch),Vr=Object.prototype.toString,Cn=e=>Vr.call(e),ui=e=>Cn(e).slice(8,-1),Dr=e=>Cn(e)==="[object Object]",bs=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_t=ys(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},fi=/-(\w)/g,Me=xn(e=>e.replace(fi,(t,n)=>n?n.toUpperCase():"")),di=/\B([A-Z])/g,at=xn(e=>e.replace(di,"-$1").toLowerCase()),Sn=xn(e=>e.charAt(0).toUpperCase()+e.slice(1)),an=xn(e=>e?`on${Sn(e)}`:""),Qe=(e,t)=>!Object.is(e,t),Bn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},hi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},pi=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Ks;const Br=()=>Ks||(Ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ws(e){if(B(e)){const t={};for(let n=0;n{if(n){const s=n.split(mi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Es(e){let t="";if(se(e))t=e;else if(B(e))for(let n=0;nse(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===Vr||!K(e.toString))?JSON.stringify(e,kr,2):String(e),kr=(e,t)=>t&&t.__v_isRef?kr(e,t.value):yt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Un(s,o)+" =>"]=r,n),{})}:Hr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Un(n))}:St(t)?Un(t):Z(t)&&!B(t)&&!Dr(t)?String(t):t,Un=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ve;class wi{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,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ft()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ge,n=it;try{return Ge=!0,it=this,this._runnings++,Ws(this),this.fn()}finally{qs(this),this._runnings--,it=n,Ge=t}}stop(){var t;this.active&&(Ws(this),qs(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function xi(e){return e.value}function Ws(e){e._trackId++,e._depsLength=0}function qs(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},pn=new WeakMap,lt=Symbol(""),is=Symbol("");function ye(e,t,n){if(Ge&&it){let s=pn.get(e);s||pn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Xr(()=>s.delete(n))),Gr(it,r)}}function $e(e,t,n,s,r,o){const i=pn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&B(e)){const c=Number(s);i.forEach((u,f)=>{(f==="length"||!St(f)&&f>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":B(e)?bs(n)&&l.push(i.get("length")):(l.push(i.get(lt)),yt(e)&&l.push(i.get(is)));break;case"delete":B(e)||(l.push(i.get(lt)),yt(e)&&l.push(i.get(is)));break;case"set":yt(e)&&l.push(i.get(lt));break}xs();for(const c of l)c&&zr(c,4);Ss()}function Si(e,t){var n;return(n=pn.get(e))==null?void 0:n.get(t)}const Ti=ys("__proto__,__v_isRef,__isVue"),Yr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St)),Gs=Ai();function Ai(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){ut(),xs();const s=J(this)[t].apply(this,n);return Ss(),ft(),s}}),e}function Ri(e){const t=J(this);return ye(t,"has",e),t.hasOwnProperty(e)}class Jr{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Bi:to:o?eo:Zr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=B(t);if(!r){if(i&&Y(Gs,n))return Reflect.get(Gs,n,s);if(n==="hasOwnProperty")return Ri}const l=Reflect.get(t,n,s);return(St(n)?Yr.has(n):Ti(n))||(r||ye(t,"get",n),o)?l:he(l)?i&&bs(n)?l:l.value:Z(l)?r?Rn(l):An(l):l}}class Qr extends Jr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const c=Ct(o);if(!gn(s)&&!Ct(s)&&(o=J(o),s=J(s)),!B(t)&&he(o)&&!he(s))return c?!1:(o.value=s,!0)}const i=B(t)&&bs(n)?Number(n)e,Tn=e=>Reflect.getPrototypeOf(e);function Xt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),o=J(t);n||(Qe(t,o)&&ye(r,"get",t),ye(r,"get",o));const{has:i}=Tn(r),l=s?Ts:n?Os:Ht;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Yt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(Qe(e,r)&&ye(s,"has",e),ye(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Jt(e,t=!1){return e=e.__v_raw,!t&&ye(J(e),"iterate",lt),Reflect.get(e,"size",e)}function zs(e){e=J(e);const t=J(this);return Tn(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function Xs(e,t){t=J(t);const n=J(this),{has:s,get:r}=Tn(n);let o=s.call(n,e);o||(e=J(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Qe(t,i)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function Ys(e){const t=J(this),{has:n,get:s}=Tn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&$e(t,"delete",e,void 0),o}function Js(){const e=J(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function Qt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=J(i),c=t?Ts:e?Os:Ht;return!e&&ye(l,"iterate",lt),i.forEach((u,f)=>s.call(r,c(u),c(f),o))}}function Zt(e,t,n){return function(...s){const r=this.__v_raw,o=J(r),i=yt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=r[e](...s),f=n?Ts:t?Os:Ht;return!t&&ye(o,"iterate",c?is:lt),{next(){const{value:h,done:p}=u.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Mi(){const e={get(o){return Xt(this,o)},get size(){return Jt(this)},has:Yt,add:zs,set:Xs,delete:Ys,clear:Js,forEach:Qt(!1,!1)},t={get(o){return Xt(this,o,!1,!0)},get size(){return Jt(this)},has:Yt,add:zs,set:Xs,delete:Ys,clear:Js,forEach:Qt(!1,!0)},n={get(o){return Xt(this,o,!0)},get size(){return Jt(this,!0)},has(o){return Yt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!1)},s={get(o){return Xt(this,o,!0,!0)},get size(){return Jt(this,!0)},has(o){return Yt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Zt(o,!1,!1),n[o]=Zt(o,!0,!1),t[o]=Zt(o,!1,!0),s[o]=Zt(o,!0,!0)}),[e,n,t,s]}const[Ni,Fi,$i,Hi]=Mi();function As(e,t){const n=t?e?Hi:$i:e?Fi:Ni;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,o)}const ji={get:As(!1,!1)},Vi={get:As(!1,!0)},Di={get:As(!0,!1)},Zr=new WeakMap,eo=new WeakMap,to=new WeakMap,Bi=new WeakMap;function Ui(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ki(e){return e.__v_skip||!Object.isExtensible(e)?0:Ui(ui(e))}function An(e){return Ct(e)?e:Rs(e,!1,Li,ji,Zr)}function Ki(e){return Rs(e,!1,Pi,Vi,eo)}function Rn(e){return Rs(e,!0,Ii,Di,to)}function Rs(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=ki(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function vt(e){return Ct(e)?vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ct(e){return!!(e&&e.__v_isReadonly)}function gn(e){return!!(e&&e.__v_isShallow)}function no(e){return vt(e)||Ct(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function Lt(e){return Object.isExtensible(e)&&hn(e,"__v_skip",!0),e}const Ht=e=>Z(e)?An(e):e,Os=e=>Z(e)?Rn(e):e;class so{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Cs(()=>t(this._value),()=>It(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Qe(t._value,t._value=t.effect.run())&&It(t,4),Ls(t),t.effect._dirtyLevel>=2&&It(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Wi(e,t,n=!1){let s,r;const o=K(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new so(s,r,o||!r,n)}function Ls(e){var t;Ge&&it&&(e=J(e),Gr(it,(t=e.dep)!=null?t:e.dep=Xr(()=>e.dep=void 0,e instanceof so?e:void 0)))}function It(e,t=4,n){e=J(e);const s=e.dep;s&&zr(s,t)}function he(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return oo(e,!1)}function ro(e){return oo(e,!0)}function oo(e,t){return he(e)?e:new qi(e,t)}class qi{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 Ls(this),this._value}set value(t){const n=this.__v_isShallow||gn(t)||Ct(t);t=n?t:J(t),Qe(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),It(this,4))}}function io(e){return he(e)?e.value:e}const Gi={get:(e,t,n)=>io(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function lo(e){return vt(e)?e:new Proxy(e,Gi)}class zi{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ls(this),()=>It(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Xi(e){return new zi(e)}class Yi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,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 Si(J(this._object),this._key)}}class Ji{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Qi(e,t,n){return he(e)?e:K(e)?new Ji(e):Z(e)&&arguments.length>1?Zi(e,t,n):ue(e)}function Zi(e,t,n){const s=e[t];return he(s)?s:new Yi(e,t,n)}/** -* @vue/runtime-core v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function ze(e,t,n,s){try{return s?e(...s):e()}catch(r){kt(r,t,n)}}function Se(e,t,n,s){if(K(e)){const o=ze(e,t,n,s);return o&&jr(o)&&o.catch(i=>{kt(i,t,n)}),o}const r=[];for(let o=0;o>>1,r=fe[s],o=Vt(r);oPe&&fe.splice(t,1)}function sl(e){B(e)?bt.push(...e):(!ke||!ke.includes(e,e.allowRecurse?rt+1:rt))&&bt.push(e),ao()}function Qs(e,t,n=jt?Pe+1:0){for(;nVt(n)-Vt(s));if(bt.length=0,ke){ke.push(...t);return}for(ke=t,rt=0;rte.id==null?1/0:e.id,rl=(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 uo(e){ls=!1,jt=!0,fe.sort(rl);try{for(Pe=0;Pese(y)?y.trim():y)),h&&(r=n.map(hi))}let l,c=s[l=an(t)]||s[l=an(Me(t))];!c&&o&&(c=s[l=an(at(t))]),c&&Se(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(u,e,6,r)}}function fo(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!K(e)){const c=u=>{const f=fo(u,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)&&s.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):ie(i,o),Z(e)&&s.set(e,i),i)}function In(e,t){return!e||!Ut(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,at(t))||Y(e,t))}let de=null,Pn=null;function yn(e){const t=de;return de=e,Pn=e&&e.type.__scopeId||null,t}function ja(e){Pn=e}function Va(){Pn=null}function il(e,t=de,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&ur(-1);const o=yn(t);let i;try{i=e(...r)}finally{yn(o),s._d&&ur(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function kn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:u,render:f,renderCache:h,data:p,setupState:y,ctx:E,inheritAttrs:N}=e;let F,W;const U=yn(e);try{if(n.shapeFlag&4){const _=r||s,M=_;F=Ae(f.call(M,_,h,o,y,p,E)),W=c}else{const _=t;F=Ae(_.length>1?_(o,{attrs:c,slots:l,emit:u}):_(o,null)),W=t.props?c:ll(c)}}catch(_){Ft.length=0,kt(_,e,1),F=ne(be)}let m=F;if(W&&N!==!1){const _=Object.keys(W),{shapeFlag:M}=m;_.length&&M&7&&(i&&_.some(_s)&&(W=cl(W,i)),m=Ze(m,W))}return n.dirs&&(m=Ze(m),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),F=m,yn(U),F}const ll=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ut(n))&&((t||(t={}))[n]=e[n]);return t},cl=(e,t)=>{const n={};for(const s in e)(!_s(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function al(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Zs(s,i,u):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function go(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):sl(e)}const dl=Symbol.for("v-scx"),hl=()=>Et(dl);function mo(e,t){return Mn(e,null,t)}function Ua(e,t){return Mn(e,null,{flush:"post"})}const en={};function Xe(e,t,n){return Mn(e,t,n)}function Mn(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:l}=te){if(t&&o){const I=t;t=(...D)=>{I(...D),M()}}const c=ce,u=I=>s===!0?I:pt(I,s===!1?1:void 0);let f,h=!1,p=!1;if(he(e)?(f=()=>e.value,h=gn(e)):vt(e)?(f=()=>u(e),h=!0):B(e)?(p=!0,h=e.some(I=>vt(I)||gn(I)),f=()=>e.map(I=>{if(he(I))return I.value;if(vt(I))return u(I);if(K(I))return ze(I,c,2)})):K(e)?t?f=()=>ze(e,c,2):f=()=>(y&&y(),Se(e,c,3,[E])):f=xe,t&&s){const I=f;f=()=>pt(I())}let y,E=I=>{y=m.onStop=()=>{ze(I,c,4),y=m.onStop=void 0}},N;if(qt)if(E=xe,t?n&&Se(t,c,3,[f(),p?[]:void 0,E]):f(),r==="sync"){const I=hl();N=I.__watcherHandles||(I.__watcherHandles=[])}else return xe;let F=p?new Array(e.length).fill(en):en;const W=()=>{if(!(!m.active||!m.dirty))if(t){const I=m.run();(s||h||(p?I.some((D,O)=>Qe(D,F[O])):Qe(I,F)))&&(y&&y(),Se(t,c,3,[I,F===en?void 0:p&&F[0]===en?[]:F,E]),F=I)}else m.run()};W.allowRecurse=!!t;let U;r==="sync"?U=W:r==="post"?U=()=>ge(W,c&&c.suspense):(W.pre=!0,c&&(W.id=c.uid),U=()=>Ln(W));const m=new Cs(f,xe,U),_=Kr(),M=()=>{m.stop(),_&&vs(_.effects,m)};return t?n?W():F=m.run():r==="post"?ge(m.run.bind(m),c&&c.suspense):m.run(),N&&N.push(M),M}function pl(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?yo(s,e):()=>s[e]:e.bind(s,s);let o;K(t)?o=t:(o=t.handler,n=t);const i=Wt(this),l=Mn(r,o.bind(s),n);return i(),l}function yo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),he(e))pt(e.value,t,n,s);else if(B(e))for(let r=0;r{pt(r,t,n,s)});else if(Dr(e))for(const r in e)pt(e[r],t,n,s);return e}function Ie(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i{e.isMounted=!0}),Eo(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],_o={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},ml={name:"BaseTransition",props:_o,setup(e,{slots:t}){const n=Hn(),s=gl();return()=>{const r=t.default&&bo(t.default(),!0);if(!r||!r.length)return;let o=r[0];if(r.length>1){for(const p of r)if(p.type!==be){o=p;break}}const i=J(e),{mode:l}=i;if(s.isLeaving)return Kn(o);const c=tr(o);if(!c)return Kn(o);const u=cs(c,i,s,n);as(c,u);const f=n.subTree,h=f&&tr(f);if(h&&h.type!==be&&!ot(c,h)){const p=cs(h,i,s,n);if(as(h,p),l==="out-in")return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Kn(o);l==="in-out"&&c.type!==be&&(p.delayLeave=(y,E,N)=>{const F=vo(s,h);F[String(h.key)]=h,y[Ke]=()=>{E(),y[Ke]=void 0,delete u.delayedLeave},u.delayedLeave=N})}return o}}},yl=ml;function vo(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function cs(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:E,onBeforeAppear:N,onAppear:F,onAfterAppear:W,onAppearCancelled:U}=t,m=String(e.key),_=vo(n,e),M=(O,T)=>{O&&Se(O,s,9,T)},I=(O,T)=>{const A=T[1];M(O,T),B(O)?O.every(q=>q.length<=1)&&A():O.length<=1&&A()},D={mode:o,persisted:i,beforeEnter(O){let T=l;if(!n.isMounted)if(r)T=N||l;else return;O[Ke]&&O[Ke](!0);const A=_[m];A&&ot(e,A)&&A.el[Ke]&&A.el[Ke](),M(T,[O])},enter(O){let T=c,A=u,q=f;if(!n.isMounted)if(r)T=F||c,A=W||u,q=U||f;else return;let L=!1;const G=O[tn]=oe=>{L||(L=!0,oe?M(q,[O]):M(A,[O]),D.delayedLeave&&D.delayedLeave(),O[tn]=void 0)};T?I(T,[O,G]):G()},leave(O,T){const A=String(e.key);if(O[tn]&&O[tn](!0),n.isUnmounting)return T();M(h,[O]);let q=!1;const L=O[Ke]=G=>{q||(q=!0,T(),G?M(E,[O]):M(y,[O]),O[Ke]=void 0,_[A]===e&&delete _[A])};_[A]=e,p?I(p,[O,L]):L()},clone(O){return cs(O,t,n,s)}};return D}function Kn(e){if(Kt(e))return e=Ze(e),e.children=null,e}function tr(e){return Kt(e)?e.children?e.children[0]:void 0:e}function as(e,t){e.shapeFlag&6&&e.component?as(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 bo(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;oie({name:e.name},t,{setup:e}))():e}const wt=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function ka(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,u,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(E=>{if(E=E instanceof Error?E:new Error(String(E)),l)return new Promise((N,F)=>{l(E,()=>N(h()),()=>F(E),f+1)});throw E}).then(E=>y!==c&&c?c:(E&&(E.__esModule||E[Symbol.toStringTag]==="Module")&&(E=E.default),u=E,E)))};return Ms({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const y=ce;if(u)return()=>Wn(u,y);const E=U=>{c=null,kt(U,y,13,!s)};if(i&&y.suspense||qt)return p().then(U=>()=>Wn(U,y)).catch(U=>(E(U),()=>s?ne(s,{error:U}):null));const N=ue(!1),F=ue(),W=ue(!!r);return r&&setTimeout(()=>{W.value=!1},r),o!=null&&setTimeout(()=>{if(!N.value&&!F.value){const U=new Error(`Async component timed out after ${o}ms.`);E(U),F.value=U}},o),p().then(()=>{N.value=!0,y.parent&&Kt(y.parent.vnode)&&(y.parent.effect.dirty=!0,Ln(y.parent.update))}).catch(U=>{E(U),F.value=U}),()=>{if(N.value&&u)return Wn(u,y);if(F.value&&s)return ne(s,{error:F.value});if(n&&!W.value)return ne(n)}}})}function Wn(e,t){const{ref:n,props:s,children:r,ce:o}=t.vnode,i=ne(e,s,r);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Kt=e=>e.type.__isKeepAlive;function _l(e,t){wo(e,"a",t)}function vl(e,t){wo(e,"da",t)}function wo(e,t,n=ce){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Nn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Kt(r.parent.vnode)&&bl(s,t,n,r),r=r.parent}}function bl(e,t,n,s){const r=Nn(t,e,s,!0);Fn(()=>{vs(s[t],r)},n)}function Nn(e,t,n=ce,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;ut();const l=Wt(n),c=Se(t,n,e,i);return l(),ft(),c});return s?r.unshift(o):r.push(o),o}}const je=e=>(t,n=ce)=>(!qt||e==="sp")&&Nn(e,(...s)=>t(...s),n),wl=je("bm"),Tt=je("m"),El=je("bu"),Cl=je("u"),Eo=je("bum"),Fn=je("um"),xl=je("sp"),Sl=je("rtg"),Tl=je("rtc");function Al(e,t=ce){Nn("ec",e,t)}function Ka(e,t,n,s){let r;const o=n&&n[s];if(B(e)||se(e)){r=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);r=new Array(i.length);for(let l=0,c=i.length;lbn(t)?!(t.type===be||t.type===me&&!Co(t.children)):!0)?e:null}function qa(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:an(s)]=e[s];return n}const us=e=>e?Do(e)?Hs(e)||e.proxy:us(e.parent):null,Pt=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=>us(e.parent),$root:e=>us(e.root),$emit:e=>e.emit,$options:e=>Ns(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Ln(e.update)}),$nextTick:e=>e.n||(e.n=On.bind(e.proxy)),$watch:e=>pl.bind(e)}),qn=(e,t)=>e!==te&&!e.__isScriptSetup&&Y(e,t),Rl={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(qn(s,t))return i[t]=1,s[t];if(r!==te&&Y(r,t))return i[t]=2,r[t];if((u=e.propsOptions[0])&&Y(u,t))return i[t]=3,o[t];if(n!==te&&Y(n,t))return i[t]=4,n[t];fs&&(i[t]=0)}}const f=Pt[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!==te&&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:s,setupState:r,ctx:o}=e;return qn(r,t)?(r[t]=n,!0):s!==te&&Y(s,t)?(s[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:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==te&&Y(e,i)||qn(t,i)||(l=o[0])&&Y(l,i)||Y(s,i)||Y(Pt,i)||Y(r.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 Ga(){return Ol().slots}function Ol(){const e=Hn();return e.setupContext||(e.setupContext=Uo(e))}function nr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let fs=!0;function Ll(e){const t=Ns(e),n=e.proxy,s=e.ctx;fs=!1,t.beforeCreate&&sr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:u,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:E,activated:N,deactivated:F,beforeDestroy:W,beforeUnmount:U,destroyed:m,unmounted:_,render:M,renderTracked:I,renderTriggered:D,errorCaptured:O,serverPrefetch:T,expose:A,inheritAttrs:q,components:L,directives:G,filters:oe}=t;if(u&&Il(u,s,null),i)for(const X in i){const H=i[X];K(H)&&(s[X]=H.bind(n))}if(r){const X=r.call(n,n);Z(X)&&(e.data=An(X))}if(fs=!0,o)for(const X in o){const H=o[X],Ne=K(H)?H.bind(n,n):K(H.get)?H.get.bind(n,n):xe,Gt=!K(H)&&K(H.set)?H.set.bind(n):xe,et=re({get:Ne,set:Gt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>et.value,set:Oe=>et.value=Oe})}if(l)for(const X in l)xo(l[X],s,n,X);if(c){const X=K(c)?c.call(n):c;Reflect.ownKeys(X).forEach(H=>{Hl(H,X[H])})}f&&sr(f,e,"c");function j(X,H){B(H)?H.forEach(Ne=>X(Ne.bind(n))):H&&X(H.bind(n))}if(j(wl,h),j(Tt,p),j(El,y),j(Cl,E),j(_l,N),j(vl,F),j(Al,O),j(Tl,I),j(Sl,D),j(Eo,U),j(Fn,_),j(xl,T),B(A))if(A.length){const X=e.exposed||(e.exposed={});A.forEach(H=>{Object.defineProperty(X,H,{get:()=>n[H],set:Ne=>n[H]=Ne})})}else e.exposed||(e.exposed={});M&&e.render===xe&&(e.render=M),q!=null&&(e.inheritAttrs=q),L&&(e.components=L),G&&(e.directives=G)}function Il(e,t,n=xe){B(e)&&(e=ds(e));for(const s in e){const r=e[s];let o;Z(r)?"default"in r?o=Et(r.from||s,r.default,!0):o=Et(r.from||s):o=Et(r),he(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function sr(e,t,n){Se(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function xo(e,t,n,s){const r=s.includes(".")?yo(n,s):()=>n[s];if(se(e)){const o=t[e];K(o)&&Xe(r,o)}else if(K(e))Xe(r,e.bind(n));else if(Z(e))if(B(e))e.forEach(o=>xo(o,t,n,s));else{const o=K(e.handler)?e.handler.bind(n):t[e.handler];K(o)&&Xe(r,o,e)}}function Ns(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>_n(c,u,i,!0)),_n(c,t,i)),Z(t)&&o.set(t,c),c}function _n(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&_n(e,o,n,!0),r&&r.forEach(i=>_n(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Pl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Pl={data:rr,props:or,emits:or,methods:Ot,computed:Ot,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:Ot,directives:Ot,watch:Nl,provide:rr,inject:Ml};function rr(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 Ml(e,t){return Ot(ds(e),ds(t))}function ds(e){if(B(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(s&&s.proxy):t}}function jl(e,t,n,s=!1){const r={},o={};hn(o,$n,1),e.propsDefaults=Object.create(null),To(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Ki(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function Vl(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=J(r),[c]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,y]=Ao(h,t,!0);ie(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)&&s.set(e,mt),mt;if(B(o))for(let f=0;f-1,y[1]=N<0||E-1||Y(y,"default"))&&l.push(h)}}}const u=[i,l];return Z(e)&&s.set(e,u),u}function ir(e){return e[0]!=="$"&&!_t(e)}function lr(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function cr(e,t){return lr(e)===lr(t)}function ar(e,t){return B(t)?t.findIndex(n=>cr(n,e)):K(t)&&cr(t,e)?0:-1}const Ro=e=>e[0]==="_"||e==="$stable",Fs=e=>B(e)?e.map(Ae):[Ae(e)],Dl=(e,t,n)=>{if(t._n)return t;const s=il((...r)=>Fs(t(...r)),n);return s._c=!1,s},Oo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ro(r))continue;const o=e[r];if(K(o))t[r]=Dl(r,o,s);else if(o!=null){const i=Fs(o);t[r]=()=>i}}},Lo=(e,t)=>{const n=Fs(t);e.slots.default=()=>n},Bl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),hn(t,"_",n)):Oo(t,e.slots={})}else e.slots={},t&&Lo(e,t);hn(e.slots,$n,1)},Ul=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ie(r,t),!n&&l===1&&delete r._):(o=!t.$stable,Oo(t,r)),i=t}else t&&(Lo(e,t),i={default:1});if(o)for(const l in r)!Ro(l)&&i[l]==null&&delete r[l]};function vn(e,t,n,s,r=!1){if(B(e)){e.forEach((p,y)=>vn(p,t&&(B(t)?t[y]:t),n,s,r));return}if(wt(s)&&!r)return;const o=s.shapeFlag&4?Hs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,u=t&&t.r,f=l.refs===te?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(se(u)?(f[u]=null,Y(h,u)&&(h[u]=null)):he(u)&&(u.value=null)),K(c))ze(c,l,12,[i,f]);else{const p=se(c),y=he(c);if(p||y){const E=()=>{if(e.f){const N=p?Y(h,c)?h[c]:f[c]:c.value;r?B(N)&&vs(N,o):B(N)?N.includes(o)||N.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?(E.id=-1,ge(E,n)):E()}}}let De=!1;const kl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Kl=e=>e.namespaceURI.includes("MathML"),nn=e=>{if(kl(e))return"svg";if(Kl(e))return"mathml"},sn=e=>e.nodeType===8;function Wl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:u}}=e,f=(m,_)=>{if(!_.hasChildNodes()){n(null,m,_),mn(),_._vnode=m;return}De=!1,h(_.firstChild,m,null,null,null),mn(),_._vnode=m,De&&console.error("Hydration completed but contains mismatches.")},h=(m,_,M,I,D,O=!1)=>{const T=sn(m)&&m.data==="[",A=()=>N(m,_,M,I,D,T),{type:q,ref:L,shapeFlag:G,patchFlag:oe}=_;let ae=m.nodeType;_.el=m,oe===-2&&(O=!1,_.dynamicChildren=null);let j=null;switch(q){case xt:ae!==3?_.children===""?(c(_.el=r(""),i(m),m),j=m):j=A():(m.data!==_.children&&(De=!0,m.data=_.children),j=o(m));break;case be:U(m)?(j=o(m),W(_.el=m.content.firstChild,m,M)):ae!==8||T?j=A():j=o(m);break;case Nt:if(T&&(m=o(m),ae=m.nodeType),ae===1||ae===3){j=m;const X=!_.children.length;for(let H=0;H<_.staticCount;H++)X&&(_.children+=j.nodeType===1?j.outerHTML:j.data),H===_.staticCount-1&&(_.anchor=j),j=o(j);return T?o(j):j}else A();break;case me:T?j=E(m,_,M,I,D,O):j=A();break;default:if(G&1)(ae!==1||_.type.toLowerCase()!==m.tagName.toLowerCase())&&!U(m)?j=A():j=p(m,_,M,I,D,O);else if(G&6){_.slotScopeIds=D;const X=i(m);if(T?j=F(m):sn(m)&&m.data==="teleport start"?j=F(m,m.data,"teleport end"):j=o(m),t(_,X,null,M,I,nn(X),O),wt(_)){let H;T?(H=ne(me),H.anchor=j?j.previousSibling:X.lastChild):H=m.nodeType===3?Vo(""):ne("div"),H.el=m,_.component.subTree=H}}else G&64?ae!==8?j=A():j=_.type.hydrate(m,_,M,I,D,O,e,y):G&128&&(j=_.type.hydrate(m,_,M,I,nn(i(m)),D,O,e,h))}return L!=null&&vn(L,null,I,_),j},p=(m,_,M,I,D,O)=>{O=O||!!_.dynamicChildren;const{type:T,props:A,patchFlag:q,shapeFlag:L,dirs:G,transition:oe}=_,ae=T==="input"||T==="option";if(ae||q!==-1){G&&Ie(_,null,M,"created");let j=!1;if(U(m)){j=Io(I,oe)&&M&&M.vnode.props&&M.vnode.props.appear;const H=m.content.firstChild;j&&oe.beforeEnter(H),W(H,m,M),_.el=m=H}if(L&16&&!(A&&(A.innerHTML||A.textContent))){let H=y(m.firstChild,_,m,M,I,D,O);for(;H;){De=!0;const Ne=H;H=H.nextSibling,l(Ne)}}else L&8&&m.textContent!==_.children&&(De=!0,m.textContent=_.children);if(A)if(ae||!O||q&48)for(const H in A)(ae&&(H.endsWith("value")||H==="indeterminate")||Ut(H)&&!_t(H)||H[0]===".")&&s(m,H,null,A[H],void 0,void 0,M);else A.onClick&&s(m,"onClick",null,A.onClick,void 0,void 0,M);let X;(X=A&&A.onVnodeBeforeMount)&&Ee(X,M,_),G&&Ie(_,null,M,"beforeMount"),((X=A&&A.onVnodeMounted)||G||j)&&go(()=>{X&&Ee(X,M,_),j&&oe.enter(m),G&&Ie(_,null,M,"mounted")},I)}return m.nextSibling},y=(m,_,M,I,D,O,T)=>{T=T||!!_.dynamicChildren;const A=_.children,q=A.length;for(let L=0;L{const{slotScopeIds:T}=_;T&&(D=D?D.concat(T):T);const A=i(m),q=y(o(m),_,A,M,I,D,O);return q&&sn(q)&&q.data==="]"?o(_.anchor=q):(De=!0,c(_.anchor=u("]"),A,q),q)},N=(m,_,M,I,D,O)=>{if(De=!0,_.el=null,O){const q=F(m);for(;;){const L=o(m);if(L&&L!==q)l(L);else break}}const T=o(m),A=i(m);return l(m),n(null,_,A,T,M,I,nn(A),D),T},F=(m,_="[",M="]")=>{let I=0;for(;m;)if(m=o(m),m&&sn(m)&&(m.data===_&&I++,m.data===M)){if(I===0)return o(m);I--}return m},W=(m,_,M)=>{const I=_.parentNode;I&&I.replaceChild(m,_);let D=M;for(;D;)D.vnode.el===_&&(D.vnode.el=D.subTree.el=m),D=D.parent},U=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,h]}const ge=go;function ql(e){return Gl(e,Wl)}function Gl(e,t){const n=Br();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:E}=e,N=(a,d,g,v=null,b=null,x=null,R=void 0,C=null,S=!!d.dynamicChildren)=>{if(a===d)return;a&&!ot(a,d)&&(v=zt(a),Oe(a,b,x,!0),a=null),d.patchFlag===-2&&(S=!1,d.dynamicChildren=null);const{type:w,ref:P,shapeFlag:V}=d;switch(w){case xt:F(a,d,g,v);break;case be:W(a,d,g,v);break;case Nt:a==null&&U(d,g,v,R);break;case me:L(a,d,g,v,b,x,R,C,S);break;default:V&1?M(a,d,g,v,b,x,R,C,S):V&6?G(a,d,g,v,b,x,R,C,S):(V&64||V&128)&&w.process(a,d,g,v,b,x,R,C,S,dt)}P!=null&&b&&vn(P,a&&a.ref,x,d||a,!d)},F=(a,d,g,v)=>{if(a==null)s(d.el=l(d.children),g,v);else{const b=d.el=a.el;d.children!==a.children&&u(b,d.children)}},W=(a,d,g,v)=>{a==null?s(d.el=c(d.children||""),g,v):d.el=a.el},U=(a,d,g,v)=>{[a.el,a.anchor]=E(a.children,d,g,v,a.el,a.anchor)},m=({el:a,anchor:d},g,v)=>{let b;for(;a&&a!==d;)b=p(a),s(a,g,v),a=b;s(d,g,v)},_=({el:a,anchor:d})=>{let g;for(;a&&a!==d;)g=p(a),r(a),a=g;r(d)},M=(a,d,g,v,b,x,R,C,S)=>{d.type==="svg"?R="svg":d.type==="math"&&(R="mathml"),a==null?I(d,g,v,b,x,R,C,S):T(a,d,b,x,R,C,S)},I=(a,d,g,v,b,x,R,C)=>{let S,w;const{props:P,shapeFlag:V,transition:$,dirs:k}=a;if(S=a.el=i(a.type,x,P&&P.is,P),V&8?f(S,a.children):V&16&&O(a.children,S,null,v,b,Gn(a,x),R,C),k&&Ie(a,null,v,"created"),D(S,a,a.scopeId,R,v),P){for(const Q in P)Q!=="value"&&!_t(Q)&&o(S,Q,null,P[Q],x,a.children,v,b,Fe);"value"in P&&o(S,"value",null,P.value,x),(w=P.onVnodeBeforeMount)&&Ee(w,v,a)}k&&Ie(a,null,v,"beforeMount");const z=Io(b,$);z&&$.beforeEnter(S),s(S,d,g),((w=P&&P.onVnodeMounted)||z||k)&&ge(()=>{w&&Ee(w,v,a),z&&$.enter(S),k&&Ie(a,null,v,"mounted")},b)},D=(a,d,g,v,b)=>{if(g&&y(a,g),v)for(let x=0;x{for(let w=S;w{const C=d.el=a.el;let{patchFlag:S,dynamicChildren:w,dirs:P}=d;S|=a.patchFlag&16;const V=a.props||te,$=d.props||te;let k;if(g&&tt(g,!1),(k=$.onVnodeBeforeUpdate)&&Ee(k,g,d,a),P&&Ie(d,a,g,"beforeUpdate"),g&&tt(g,!0),w?A(a.dynamicChildren,w,C,g,v,Gn(d,b),x):R||H(a,d,C,null,g,v,Gn(d,b),x,!1),S>0){if(S&16)q(C,d,V,$,g,v,b);else if(S&2&&V.class!==$.class&&o(C,"class",null,$.class,b),S&4&&o(C,"style",V.style,$.style,b),S&8){const z=d.dynamicProps;for(let Q=0;Q{k&&Ee(k,g,d,a),P&&Ie(d,a,g,"updated")},v)},A=(a,d,g,v,b,x,R)=>{for(let C=0;C{if(g!==v){if(g!==te)for(const C in g)!_t(C)&&!(C in v)&&o(a,C,g[C],null,R,d.children,b,x,Fe);for(const C in v){if(_t(C))continue;const S=v[C],w=g[C];S!==w&&C!=="value"&&o(a,C,w,S,R,d.children,b,x,Fe)}"value"in v&&o(a,"value",g.value,v.value,R)}},L=(a,d,g,v,b,x,R,C,S)=>{const w=d.el=a?a.el:l(""),P=d.anchor=a?a.anchor:l("");let{patchFlag:V,dynamicChildren:$,slotScopeIds:k}=d;k&&(C=C?C.concat(k):k),a==null?(s(w,g,v),s(P,g,v),O(d.children||[],g,P,b,x,R,C,S)):V>0&&V&64&&$&&a.dynamicChildren?(A(a.dynamicChildren,$,g,b,x,R,C),(d.key!=null||b&&d===b.subTree)&&Po(a,d,!0)):H(a,d,g,P,b,x,R,C,S)},G=(a,d,g,v,b,x,R,C,S)=>{d.slotScopeIds=C,a==null?d.shapeFlag&512?b.ctx.activate(d,g,v,R,S):oe(d,g,v,b,x,R,S):ae(a,d,S)},oe=(a,d,g,v,b,x,R)=>{const C=a.component=nc(a,v,b);if(Kt(a)&&(C.ctx.renderer=dt),sc(C),C.asyncDep){if(b&&b.registerDep(C,j),!a.el){const S=C.subTree=ne(be);W(null,S,d,g)}}else j(C,a,d,g,b,x,R)},ae=(a,d,g)=>{const v=d.component=a.component;if(al(a,d,g))if(v.asyncDep&&!v.asyncResolved){X(v,d,g);return}else v.next=d,nl(v.update),v.effect.dirty=!0,v.update();else d.el=a.el,v.vnode=d},j=(a,d,g,v,b,x,R)=>{const C=()=>{if(a.isMounted){let{next:P,bu:V,u:$,parent:k,vnode:z}=a;{const ht=Mo(a);if(ht){P&&(P.el=z.el,X(a,P,R)),ht.asyncDep.then(()=>{a.isUnmounted||C()});return}}let Q=P,ee;tt(a,!1),P?(P.el=z.el,X(a,P,R)):P=z,V&&Bn(V),(ee=P.props&&P.props.onVnodeBeforeUpdate)&&Ee(ee,k,P,z),tt(a,!0);const le=kn(a),Te=a.subTree;a.subTree=le,N(Te,le,h(Te.el),zt(Te),a,b,x),P.el=le.el,Q===null&&ul(a,le.el),$&&ge($,b),(ee=P.props&&P.props.onVnodeUpdated)&&ge(()=>Ee(ee,k,P,z),b)}else{let P;const{el:V,props:$}=d,{bm:k,m:z,parent:Q}=a,ee=wt(d);if(tt(a,!1),k&&Bn(k),!ee&&(P=$&&$.onVnodeBeforeMount)&&Ee(P,Q,d),tt(a,!0),V&&Dn){const le=()=>{a.subTree=kn(a),Dn(V,a.subTree,a,b,null)};ee?d.type.__asyncLoader().then(()=>!a.isUnmounted&&le()):le()}else{const le=a.subTree=kn(a);N(null,le,g,v,a,b,x),d.el=le.el}if(z&&ge(z,b),!ee&&(P=$&&$.onVnodeMounted)){const le=d;ge(()=>Ee(P,Q,le),b)}(d.shapeFlag&256||Q&&wt(Q.vnode)&&Q.vnode.shapeFlag&256)&&a.a&&ge(a.a,b),a.isMounted=!0,d=g=v=null}},S=a.effect=new Cs(C,xe,()=>Ln(w),a.scope),w=a.update=()=>{S.dirty&&S.run()};w.id=a.uid,tt(a,!0),w()},X=(a,d,g)=>{d.component=a;const v=a.vnode.props;a.vnode=d,a.next=null,Vl(a,d.props,v,g),Ul(a,d.children,g),ut(),Qs(a),ft()},H=(a,d,g,v,b,x,R,C,S=!1)=>{const w=a&&a.children,P=a?a.shapeFlag:0,V=d.children,{patchFlag:$,shapeFlag:k}=d;if($>0){if($&128){Gt(w,V,g,v,b,x,R,C,S);return}else if($&256){Ne(w,V,g,v,b,x,R,C,S);return}}k&8?(P&16&&Fe(w,b,x),V!==w&&f(g,V)):P&16?k&16?Gt(w,V,g,v,b,x,R,C,S):Fe(w,b,x,!0):(P&8&&f(g,""),k&16&&O(V,g,v,b,x,R,C,S))},Ne=(a,d,g,v,b,x,R,C,S)=>{a=a||mt,d=d||mt;const w=a.length,P=d.length,V=Math.min(w,P);let $;for($=0;$P?Fe(a,b,x,!0,!1,V):O(d,g,v,b,x,R,C,S,V)},Gt=(a,d,g,v,b,x,R,C,S)=>{let w=0;const P=d.length;let V=a.length-1,$=P-1;for(;w<=V&&w<=$;){const k=a[w],z=d[w]=S?We(d[w]):Ae(d[w]);if(ot(k,z))N(k,z,g,null,b,x,R,C,S);else break;w++}for(;w<=V&&w<=$;){const k=a[V],z=d[$]=S?We(d[$]):Ae(d[$]);if(ot(k,z))N(k,z,g,null,b,x,R,C,S);else break;V--,$--}if(w>V){if(w<=$){const k=$+1,z=k$)for(;w<=V;)Oe(a[w],b,x,!0),w++;else{const k=w,z=w,Q=new Map;for(w=z;w<=$;w++){const _e=d[w]=S?We(d[w]):Ae(d[w]);_e.key!=null&&Q.set(_e.key,w)}let ee,le=0;const Te=$-z+1;let ht=!1,Bs=0;const At=new Array(Te);for(w=0;w=Te){Oe(_e,b,x,!0);continue}let Le;if(_e.key!=null)Le=Q.get(_e.key);else for(ee=z;ee<=$;ee++)if(At[ee-z]===0&&ot(_e,d[ee])){Le=ee;break}Le===void 0?Oe(_e,b,x,!0):(At[Le-z]=w+1,Le>=Bs?Bs=Le:ht=!0,N(_e,d[Le],g,null,b,x,R,C,S),le++)}const Us=ht?zl(At):mt;for(ee=Us.length-1,w=Te-1;w>=0;w--){const _e=z+w,Le=d[_e],ks=_e+1{const{el:x,type:R,transition:C,children:S,shapeFlag:w}=a;if(w&6){et(a.component.subTree,d,g,v);return}if(w&128){a.suspense.move(d,g,v);return}if(w&64){R.move(a,d,g,dt);return}if(R===me){s(x,d,g);for(let V=0;VC.enter(x),b);else{const{leave:V,delayLeave:$,afterLeave:k}=C,z=()=>s(x,d,g),Q=()=>{V(x,()=>{z(),k&&k()})};$?$(x,z,Q):Q()}else s(x,d,g)},Oe=(a,d,g,v=!1,b=!1)=>{const{type:x,props:R,ref:C,children:S,dynamicChildren:w,shapeFlag:P,patchFlag:V,dirs:$}=a;if(C!=null&&vn(C,null,g,a,!0),P&256){d.ctx.deactivate(a);return}const k=P&1&&$,z=!wt(a);let Q;if(z&&(Q=R&&R.onVnodeBeforeUnmount)&&Ee(Q,d,a),P&6)li(a.component,g,v);else{if(P&128){a.suspense.unmount(g,v);return}k&&Ie(a,null,d,"beforeUnmount"),P&64?a.type.remove(a,d,g,b,dt,v):w&&(x!==me||V>0&&V&64)?Fe(w,d,g,!1,!0):(x===me&&V&384||!b&&P&16)&&Fe(S,d,g),v&&Vs(a)}(z&&(Q=R&&R.onVnodeUnmounted)||k)&&ge(()=>{Q&&Ee(Q,d,a),k&&Ie(a,null,d,"unmounted")},g)},Vs=a=>{const{type:d,el:g,anchor:v,transition:b}=a;if(d===me){ii(g,v);return}if(d===Nt){_(a);return}const x=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:R,delayLeave:C}=b,S=()=>R(g,x);C?C(a.el,x,S):S()}else x()},ii=(a,d)=>{let g;for(;a!==d;)g=p(a),r(a),a=g;r(d)},li=(a,d,g)=>{const{bum:v,scope:b,update:x,subTree:R,um:C}=a;v&&Bn(v),b.stop(),x&&(x.active=!1,Oe(R,a,d,g)),C&&ge(C,d),ge(()=>{a.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},Fe=(a,d,g,v=!1,b=!1,x=0)=>{for(let R=x;Ra.shapeFlag&6?zt(a.component.subTree):a.shapeFlag&128?a.suspense.next():p(a.anchor||a.el);let jn=!1;const Ds=(a,d,g)=>{a==null?d._vnode&&Oe(d._vnode,null,null,!0):N(d._vnode||null,a,d,null,null,null,g),jn||(jn=!0,Qs(),mn(),jn=!1),d._vnode=a},dt={p:N,um:Oe,m:et,r:Vs,mt:oe,mc:O,pc:H,pbc:A,n:zt,o:e};let Vn,Dn;return t&&([Vn,Dn]=t(dt)),{render:Ds,hydrate:Vn,createApp:$l(Ds,Vn)}}function Gn({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 tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Io(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Po(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Mo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Mo(t)}const Xl=e=>e.__isTeleport,me=Symbol.for("v-fgt"),xt=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Nt=Symbol.for("v-stc"),Ft=[];let Re=null;function No(e=!1){Ft.push(Re=e?null:[])}function Yl(){Ft.pop(),Re=Ft[Ft.length-1]||null}let Dt=1;function ur(e){Dt+=e}function Fo(e){return e.dynamicChildren=Dt>0?Re||mt:null,Yl(),Dt>0&&Re&&Re.push(e),e}function za(e,t,n,s,r,o){return Fo(jo(e,t,n,s,r,o,!0))}function $o(e,t,n,s,r){return Fo(ne(e,t,n,s,r,!0))}function bn(e){return e?e.__v_isVNode===!0:!1}function ot(e,t){return e.type===t.type&&e.key===t.key}const $n="__vInternal",Ho=({key:e})=>e??null,un=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||he(e)||K(e)?{i:de,r:e,k:t,f:!!n}:e:null);function jo(e,t=null,n=null,s=0,r=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ho(t),ref:t&&un(t),scopeId:Pn,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:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:de};return l?($s(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 ne=Jl;function Jl(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===ho)&&(e=be),bn(e)){const l=Ze(e,t,!0);return n&&$s(l,n),Dt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(lc(e)&&(e=e.__vccOpts),t){t=Ql(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Es(l)),Z(c)&&(no(c)&&!B(c)&&(c=ie({},c)),t.style=ws(c))}const i=se(e)?1:fl(e)?128:Xl(e)?64:Z(e)?4:K(e)?2:0;return jo(e,t,n,s,r,i,o,!0)}function Ql(e){return e?no(e)||$n in e?ie({},e):e:null}function Ze(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?Zl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ho(l),ref:t&&t.ref?n&&r?B(r)?r.concat(un(t)):[r,un(t)]:un(t):r,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&&Ze(e.ssContent),ssFallback:e.ssFallback&&Ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Vo(e=" ",t=0){return ne(xt,null,e,t)}function Xa(e,t){const n=ne(Nt,null,e);return n.staticCount=t,n}function Ya(e="",t=!1){return t?(No(),$o(be,null,e)):ne(be,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ne(be):B(e)?ne(me,null,e.slice()):typeof e=="object"?We(e):ne(xt,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ze(e)}function $s(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),$s(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!($n in t)?t._ctx=de:r===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:de},n=32):(t=String(t),s&64?(n=16,t=[Vo(t)]):n=8);e.children=t,e.shapeFlag|=n}function Zl(...e){const t={};for(let n=0;nce||de;let wn,ps;{const e=Br(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};wn=t("__VUE_INSTANCE_SETTERS__",n=>ce=n),ps=t("__VUE_SSR_SETTERS__",n=>qt=n)}const Wt=e=>{const t=ce;return wn(e),e.scope.on(),()=>{e.scope.off(),wn(t)}},fr=()=>{ce&&ce.scope.off(),wn(null)};function Do(e){return e.vnode.shapeFlag&4}let qt=!1;function sc(e,t=!1){t&&ps(t);const{props:n,children:s}=e.vnode,r=Do(e);jl(e,n,r,t),Bl(e,s);const o=r?rc(e,t):void 0;return t&&ps(!1),o}function rc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Lt(new Proxy(e.ctx,Rl));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Uo(e):null,o=Wt(e);ut();const i=ze(s,e,0,[e.props,r]);if(ft(),o(),jr(i)){if(i.then(fr,fr),t)return i.then(l=>{dr(e,l,t)}).catch(l=>{kt(l,e,0)});e.asyncDep=i}else dr(e,i,t)}else Bo(e,t)}function dr(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=lo(t)),Bo(e,n)}let hr;function Bo(e,t,n){const s=e.type;if(!e.render){if(!t&&hr&&!s.render){const r=s.template||Ns(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=ie(ie({isCustomElement:o,delimiters:l},i),c);s.render=hr(r,u)}}e.render=s.render||xe}{const r=Wt(e);ut();try{Ll(e)}finally{ft(),r()}}}function oc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function Uo(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return oc(e)},slots:e.slots,emit:e.emit,expose:t}}function Hs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(lo(Lt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Pt)return Pt[n](e)},has(t,n){return n in t||n in Pt}}))}function ic(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function lc(e){return K(e)&&"__vccOpts"in e}const re=(e,t)=>Wi(e,t,qt);function gs(e,t,n){const s=arguments.length;return s===2?Z(t)&&!B(t)?bn(t)?ne(e,null,[t]):ne(e,t):ne(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&bn(n)&&(n=[n]),ne(e,t,n))}const cc="3.4.21";/** -* @vue/runtime-dom v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const ac="http://www.w3.org/2000/svg",uc="http://www.w3.org/1998/Math/MathML",qe=typeof document<"u"?document:null,pr=qe&&qe.createElement("template"),fc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?qe.createElementNS(ac,e):t==="mathml"?qe.createElementNS(uc,e):qe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>qe.createTextNode(e),createComment:e=>qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{pr.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=pr.content;if(s==="svg"||s==="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]}},Be="transition",Rt="animation",Bt=Symbol("_vtc"),ko=(e,{slots:t})=>gs(yl,dc(e),t);ko.displayName="Transition";const Ko={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};ko.props=ie({},_o,Ko);const nt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},gr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function dc(e){const t={};for(const L in e)L in Ko||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:u=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,E=hc(r),N=E&&E[0],F=E&&E[1],{onBeforeEnter:W,onEnter:U,onEnterCancelled:m,onLeave:_,onLeaveCancelled:M,onBeforeAppear:I=W,onAppear:D=U,onAppearCancelled:O=m}=t,T=(L,G,oe)=>{st(L,G?f:l),st(L,G?u:i),oe&&oe()},A=(L,G)=>{L._isLeaving=!1,st(L,h),st(L,y),st(L,p),G&&G()},q=L=>(G,oe)=>{const ae=L?D:U,j=()=>T(G,L,oe);nt(ae,[G,j]),mr(()=>{st(G,L?c:o),Ue(G,L?f:l),gr(ae)||yr(G,s,N,j)})};return ie(t,{onBeforeEnter(L){nt(W,[L]),Ue(L,o),Ue(L,i)},onBeforeAppear(L){nt(I,[L]),Ue(L,c),Ue(L,u)},onEnter:q(!1),onAppear:q(!0),onLeave(L,G){L._isLeaving=!0;const oe=()=>A(L,G);Ue(L,h),mc(),Ue(L,p),mr(()=>{L._isLeaving&&(st(L,h),Ue(L,y),gr(_)||yr(L,s,F,oe))}),nt(_,[L,oe])},onEnterCancelled(L){T(L,!1),nt(m,[L])},onAppearCancelled(L){T(L,!0),nt(O,[L])},onLeaveCancelled(L){A(L),nt(M,[L])}})}function hc(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 pi(e)}function Ue(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bt]||(e[Bt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Bt];n&&(n.delete(t),n.size||(e[Bt]=void 0))}function mr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let pc=0;function yr(e,t,n,s){const r=e._endId=++pc,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=gc(e,t);if(!i)return s();const u=i+"end";let f=0;const h=()=>{e.removeEventListener(u,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[E]||"").split(", "),r=s(`${Be}Delay`),o=s(`${Be}Duration`),i=_r(r,o),l=s(`${Rt}Delay`),c=s(`${Rt}Duration`),u=_r(l,c);let f=null,h=0,p=0;t===Be?i>0&&(f=Be,h=i,p=o.length):t===Rt?u>0&&(f=Rt,h=u,p=c.length):(h=Math.max(i,u),f=h>0?i>u?Be:Rt:null,p=f?f===Be?o.length:c.length:0);const y=f===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function _r(e,t){for(;e.lengthvr(n)+vr(e[s])))}function vr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function mc(){return document.body.offsetHeight}function yc(e,t,n){const s=e[Bt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const br=Symbol("_vod"),_c=Symbol("_vsh"),vc=Symbol(""),bc=/(^|;)\s*display\s*:/;function wc(e,t,n){const s=e.style,r=se(n);let o=!1;if(n&&!r){if(t)if(se(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&fn(s,l,"")}else for(const i in t)n[i]==null&&fn(s,i,"");for(const i in n)i==="display"&&(o=!0),fn(s,i,n[i])}else if(r){if(t!==n){const i=s[vc];i&&(n+=";"+i),s.cssText=n,o=bc.test(n)}}else t&&e.removeAttribute("style");br in e&&(e[br]=o?s.display:"",e[_c]&&(s.display="none"))}const wr=/\s*!important$/;function fn(e,t,n){if(B(n))n.forEach(s=>fn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ec(e,t);wr.test(n)?e.setProperty(at(s),n.replace(wr,""),"important"):e[s]=n}}const Er=["Webkit","Moz","ms"],Xn={};function Ec(e,t){const n=Xn[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return Xn[t]=s;s=Sn(s);for(let r=0;rYn||(Oc.then(()=>Yn=0),Yn=Date.now());function Ic(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Se(Pc(s,n.value),t,5,[s])};return n.value=e,n.attached=Lc(),n}function Pc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Mc=(e,t,n,s,r,o,i,l,c)=>{const u=r==="svg";t==="class"?yc(e,s,u):t==="style"?wc(e,n,s):Ut(t)?_s(t)||Ac(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Nc(e,t,s,u))?xc(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Cc(e,t,s,u))};function Nc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Tr(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Tr(t)&&se(n)?!1:t in e}const Fc=["ctrl","shift","alt","meta"],$c={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)=>Fc.some(n=>e[`${n}Key`]&&!t.includes(n))},Ja=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=at(r.key);if(t.some(i=>i===o||Hc[i]===o))return e(r)})},jc=ie({patchProp:Mc},fc);let Jn,Ar=!1;function Vc(){return Jn=Ar?Jn:ql(jc),Ar=!0,Jn}const Za=(...e)=>{const t=Vc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Bc(s);if(r)return n(r,!0,Dc(r))},t};function Dc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Bc(e){return se(e)?document.querySelector(e):e}const eu=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Uc="modulepreload",kc=function(e){return"/"+e},Rr={},tu=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");r=Promise.all(n.map(i=>{if(i=kc(i),i in Rr)return;Rr[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!s)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":Uc,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 r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},Kc=window.__VP_SITE_DATA__;function js(e){return Kr()?(Ci(e),!0):!1}function Ye(e){return typeof e=="function"?e():io(e)}const Wo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Wc=Object.prototype.toString,qc=e=>Wc.call(e)==="[object Object]",$t=()=>{},ms=Gc();function Gc(){var e,t;return Wo&&((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 zc(e,t){function n(...s){return new Promise((r,o)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(o)})}return n}const qo=e=>e();function Xc(e=qo){const t=ue(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...o)=>{t.value&&e(...o)};return{isActive:Rn(t),pause:n,resume:s,eventFilter:r}}function Yc(e){return e||Hn()}function Go(...e){if(e.length!==1)return Qi(...e);const t=e[0];return typeof t=="function"?Rn(Xi(()=>({get:t,set:$t}))):ue(t)}function Jc(e,t,n={}){const{eventFilter:s=qo,...r}=n;return Xe(e,zc(s,t),r)}function Qc(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=Xc(s);return{stop:Jc(e,t,{...r,eventFilter:o}),pause:i,resume:l,isActive:c}}function zo(e,t=!0,n){Yc()?Tt(e,n):t?e():On(e)}function gt(e){var t;const n=Ye(e);return(t=n==null?void 0:n.$el)!=null?t:n}const He=Wo?window:void 0;function Je(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=He):[t,n,s,r]=e,!t)return $t;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);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=Xe(()=>[gt(t),Ye(r)],([f,h])=>{if(i(),!f)return;const p=qc(h)?{...h}:h;o.push(...n.flatMap(y=>s.map(E=>l(f,y,E,p))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return js(u),u}let Or=!1;function nu(e,t,n={}){const{window:s=He,ignore:r=[],capture:o=!0,detectIframe:i=!1}=n;if(!s)return $t;ms&&!Or&&(Or=!0,Array.from(s.document.body.children).forEach(p=>p.addEventListener("click",$t)),s.document.documentElement.addEventListener("click",$t));let l=!0;const c=p=>r.some(y=>{if(typeof y=="string")return Array.from(s.document.querySelectorAll(y)).some(E=>E===p.target||p.composedPath().includes(E));{const E=gt(y);return E&&(p.target===E||p.composedPath().includes(E))}}),f=[Je(s,"click",p=>{const y=gt(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}),Je(s,"pointerdown",p=>{const y=gt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&Je(s,"blur",p=>{setTimeout(()=>{var y;const E=gt(e);((y=s.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(E!=null&&E.contains(s.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function Zc(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function su(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=He,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=s,c=Zc(t);return Je(r,o,f=>{f.repeat&&Ye(l)||c(f)&&n(f)},i)}function ea(){const e=ue(!1);return Hn()&&Tt(()=>{e.value=!0}),e}function ta(e){const t=ea();return re(()=>(t.value,!!e()))}function na(e,t={}){const{window:n=He}=t,s=ta(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const o=ue(!1),i=u=>{o.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",i):r.removeListener(i))},c=mo(()=>{s.value&&(l(),r=n.matchMedia(Ye(e)),"addEventListener"in r?r.addEventListener("change",i):r.addListener(i),o.value=r.matches)});return js(()=>{c(),l(),r=void 0}),o}const rn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},on="__vueuse_ssr_handlers__",sa=ra();function ra(){return on in rn||(rn[on]=rn[on]||{}),rn[on]}function Xo(e,t){return sa[e]||t}function oa(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 ia={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()}},Lr="vueuse-storage";function la(e,t,n,s={}){var r;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:f,window:h=He,eventFilter:p,onError:y=T=>{console.error(T)},initOnMounted:E}=s,N=(f?ro:ue)(typeof t=="function"?t():t);if(!n)try{n=Xo("getDefaultStorage",()=>{var T;return(T=He)==null?void 0:T.localStorage})()}catch(T){y(T)}if(!n)return N;const F=Ye(t),W=oa(F),U=(r=s.serializer)!=null?r:ia[W],{pause:m,resume:_}=Qc(N,()=>M(N.value),{flush:o,deep:i,eventFilter:p});return h&&l&&zo(()=>{Je(h,"storage",O),Je(h,Lr,D),E&&O()}),E||O(),N;function M(T){try{if(T==null)n.removeItem(e);else{const A=U.write(T),q=n.getItem(e);q!==A&&(n.setItem(e,A),h&&h.dispatchEvent(new CustomEvent(Lr,{detail:{key:e,oldValue:q,newValue:A,storageArea:n}})))}}catch(A){y(A)}}function I(T){const A=T?T.newValue:n.getItem(e);if(A==null)return c&&F!=null&&n.setItem(e,U.write(F)),F;if(!T&&u){const q=U.read(A);return typeof u=="function"?u(q,F):W==="object"&&!Array.isArray(q)?{...F,...q}:q}else return typeof A!="string"?A:U.read(A)}function D(T){O(T.detail)}function O(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){N.value=F;return}if(!(T&&T.key!==e)){m();try{(T==null?void 0:T.newValue)!==U.write(N.value)&&(N.value=I(T))}catch(A){y(A)}finally{T?On(_):_()}}}}}function Yo(e){return na("(prefers-color-scheme: dark)",e)}function ca(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=He,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=Yo({window:r}),y=re(()=>p.value?"dark":"light"),E=c||(i==null?Go(s):la(i,s,o,{window:r,listenToStorageChanges:l})),N=re(()=>E.value==="auto"?y.value:E.value),F=Xo("updateHTMLAttrs",(_,M,I)=>{const D=typeof _=="string"?r==null?void 0:r.document.querySelector(_):gt(_);if(!D)return;let O;if(f){O=r.document.createElement("style");const T="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";O.appendChild(document.createTextNode(T)),r.document.head.appendChild(O)}if(M==="class"){const T=I.split(/\s/g);Object.values(h).flatMap(A=>(A||"").split(/\s/g)).filter(Boolean).forEach(A=>{T.includes(A)?D.classList.add(A):D.classList.remove(A)})}else D.setAttribute(M,I);f&&(r.getComputedStyle(O).opacity,document.head.removeChild(O))});function W(_){var M;F(t,n,(M=h[_])!=null?M:_)}function U(_){e.onChanged?e.onChanged(_,W):W(_)}Xe(N,U,{flush:"post",immediate:!0}),zo(()=>U(N.value));const m=re({get(){return u?E.value:N.value},set(_){E.value=_}});try{return Object.assign(m,{store:E,system:y,state:N})}catch{return m}}function aa(e={}){const{valueDark:t="dark",valueLight:n="",window:s=He}=e,r=ca({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>r.system?r.system.value:Yo({window:s}).value?"dark":"light");return re({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?r.value="auto":r.value=c}})}function Qn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Jo(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 ln=new WeakMap;function ru(e,t=!1){const n=ue(t);let s=null,r;Xe(Go(e),l=>{const c=Qn(Ye(l));if(c){const u=c;ln.get(u)||ln.set(u,r),n.value&&(u.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=Qn(Ye(e));!l||n.value||(ms&&(s=Je(l,"touchmove",c=>{ua(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=Qn(Ye(e));!c||!n.value||(ms&&(s==null||s()),c.style.overflow=(l=ln.get(c))!=null?l:"",ln.delete(c),n.value=!1)};return js(i),re({get(){return n.value},set(l){l?o():i()}})}function ou(e={}){const{window:t=He,behavior:n="auto"}=e;if(!t)return{x:ue(0),y:ue(0)};const s=ue(t.scrollX),r=ue(t.scrollY),o=re({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Je(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}var Zn={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},fa={};const Qo=/^(?:[a-z]+:|\/\/)/i,da="vitepress-theme-appearance",Zo=/#.*$/,ha=/(index)?\.(md|html)$/,Ce=typeof document<"u",ei={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function pa(e,t,n=!1){if(t===void 0)return!1;if(e=Ir(`/${e}`),n)return new RegExp(t).test(e);if(Ir(t)!==e)return!1;const s=t.match(Zo);return s?(Ce?location.hash:"")===s[0]:!0}function Ir(e){return decodeURI(e).replace(Zo,"").replace(ha,"")}function ga(e){return Qo.test(e)}function ma(e,t){var s,r,o,i,l,c,u;const n=Object.keys(e.locales).find(f=>f!=="root"&&!ga(f)&&pa(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.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:ni(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function ti(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ya(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function ya(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function _a(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([o,i])=>o===n&&i[r[0]]===r[1])}function ni(e,t){return[...e.filter(n=>!_a(t,n)),...t]}const va=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,ba=/^[a-z]:/i;function Pr(e){const t=ba.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(va,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const es=typeof process=="object"&&fa.VITE_EXTRA_EXTENSIONS||(Zn==null?void 0:Zn.VITE_EXTRA_EXTENSIONS)||"",wa=new Set(("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"+(es&&typeof es=="string"?","+es:"")).split(","));function Ea(e){const t=e.split(".").pop();return t==null||!wa.has(t.toLowerCase())}const Ca=Symbol(),ct=ro(Kc);function iu(e){const t=re(()=>ma(ct.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?ue(!0):n?aa({storageKey:da,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):ue(!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(()=>ti(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:s}}function xa(){const e=Et(Ca);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Sa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Mr(e){return Qo.test(e)||!e.startsWith("/")?e:Sa(ct.value.base,e)}function Ta(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Pr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Pr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let dn=[];function lu(e){dn.push(e),Fn(()=>{dn=dn.filter(t=>t!==e)})}function Aa(){let e=ct.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=Nr(e,n);else if(Array.isArray(e))for(const s of e){const r=Nr(s,n);if(r){t=r;break}}return t}function Nr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ra=Symbol(),si="http://a.com",Oa=()=>({path:"/",component:null,data:ei});function cu(e,t){const n=An(Oa()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var c,u;l=En(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&($r(l),await i(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let o=null;async function i(l,c=0,u=!1){var p;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const f=new URL(l,si),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:E,__pageData:N}=y;if(!E)throw new Error(`Invalid route component: ${E}`);n.path=Ce?h:Mr(h),n.component=Lt(E),n.data=Lt(N),Ce&&On(()=>{let F=ct.value.base+N.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ct.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 W=null;try{W=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(U){console.warn(U)}if(W){Fr(W,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!u)try{const E=await fetch(ct.value.base+"hashmap.json");window.__VP_HASH_MAP__=await E.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Mr(h),n.component=t?Lt(t):null,n.data=ei)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:f}=u,{href:h,origin:p,pathname:y,hash:E,search:N}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===F.origin&&Ea(y)&&(l.preventDefault(),y===F.pathname&&N===F.search?(E!==F.hash&&(history.pushState(null,"",E),window.dispatchEvent(new Event("hashchange"))),E?Fr(u,E,u.classList.contains("header-anchor")):($r(h),window.scrollTo(0,0))):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(En(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function La(){const e=Et(Ra);if(!e)throw new Error("useRouter() is called without provider.");return e}function ri(){return La().route}function Fr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=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(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-Aa()+o;requestAnimationFrame(r)}}function $r(e){Ce&&En(e)!==En(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function En(e){const t=new URL(e,si);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ct.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 ts=()=>dn.forEach(e=>e()),au=Ms({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=ri(),{site:n}=xa();return()=>gs(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?gs(t.component,{onVnodeMounted:ts,onVnodeUpdated:ts,onVnodeUnmounted:ts}):"404 Page Not Found"])}}),uu=Ms({setup(e,{slots:t}){const n=ue(!1);return Tt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function fu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const o=s.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(u=>u.classList.contains("active"));if(!i)return;const l=o.children[r];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function du(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,o=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let u=c.textContent||"";i&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Ia(u).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 Ia(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 s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function hu(e,t){let n=!0,s=[];const r=o=>{if(n){n=!1,o.forEach(l=>{const c=ns(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const i=o.map(ns);s.forEach((l,c)=>{const u=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));u!==-1?delete i[u]:(l==null||l.remove(),delete s[c])}),i.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...i].filter(Boolean)};mo(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],u=ti(i,o);u!==document.title&&(document.title=u);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):ns(["meta",{name:"description",content:f}]),r(ni(i.head,Ma(c)))})}function ns([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Pa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ma(e){return e.filter(t=>!Pa(t))}const ss=new Set,oi=()=>document.createElement("link"),Na=e=>{const t=oi();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Fa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let cn;const $a=Ce&&(cn=oi())&&cn.relList&&cn.relList.supports&&cn.relList.supports("prefetch")?Na:Fa;function pu(){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 s=()=>{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(!ss.has(c)){ss.add(c);const u=Ta(c);u&&$a(u)}}})}),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):ss.add(l))})})};Tt(s);const r=ri();Xe(()=>r.path,s),Fn(()=>{n&&n.disconnect()})}export{Hl as $,Fn as A,Ua as B,Cl as C,Aa as D,Da as E,me as F,Ka as G,ro as H,lu as I,ne as J,Ba as K,Qo as L,ri as M,Zl as N,Et as O,nu as P,su as Q,ws as R,On as S,ko as T,ou as U,Xa as V,Rn as W,ka as X,tu as Y,ru as Z,eu as _,Vo as a,Qa as a0,qa as a1,Ja as a2,Ga as a3,hu as a4,Ra as a5,iu as a6,Ca as a7,au as a8,uu as a9,ct as aa,Za as ab,cu as ac,Ta as ad,pu as ae,du as af,fu as ag,gs as ah,La as ai,$o as b,za as c,Ms as d,Ya as e,Ea as f,Mr as g,ue as h,ga as i,Ce as j,re as k,Tt as l,jo as m,Es as n,No as o,io as p,ja as q,Wa as r,Va as s,Ha as t,xa as u,pa as v,il as w,na as x,Xe as y,mo as z}; diff --git a/assets/chunks/framework.xR9aiOhR.js b/assets/chunks/framework.xR9aiOhR.js new file mode 100644 index 00000000..66715c24 --- /dev/null +++ b/assets/chunks/framework.xR9aiOhR.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ys(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const te={},mt=[],xe=()=>{},co=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),vs=e=>e.startsWith("onUpdate:"),le=Object.assign,bs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ao=Object.prototype.hasOwnProperty,Y=(e,t)=>ao.call(e,t),U=Array.isArray,_t=e=>Cn(e)==="[object Map]",Dr=e=>Cn(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",St=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",Ur=e=>(Z(e)||K(e))&&K(e.then)&&K(e.catch),Br=Object.prototype.toString,Cn=e=>Br.call(e),uo=e=>Cn(e).slice(8,-1),kr=e=>Cn(e)==="[object Object]",ws=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yt=ys(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},fo=/-(\w)/g,Me=xn(e=>e.replace(fo,(t,n)=>n?n.toUpperCase():"")),ho=/\B([A-Z])/g,at=xn(e=>e.replace(ho,"-$1").toLowerCase()),Sn=xn(e=>e.charAt(0).toUpperCase()+e.slice(1)),an=xn(e=>e?`on${Sn(e)}`:""),Qe=(e,t)=>!Object.is(e,t),Un=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},po=e=>{const t=parseFloat(e);return isNaN(t)?e:t},go=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const Kr=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Es(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(_o);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Cs(e){let t="";if(se(e))t=e;else if(U(e))for(let n=0;nse(e)?e:e==null?"":U(e)||Z(e)&&(e.toString===Br||!K(e.toString))?JSON.stringify(e,qr,2):String(e),qr=(e,t)=>t&&t.__v_isRef?qr(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Bn(s,i)+" =>"]=r,n),{})}:Dr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Bn(n))}:St(t)?Bn(t):Z(t)&&!U(t)&&!kr(t)?String(t):t,Bn=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ve;class Eo{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,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ft()}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=ot;try{return Xe=!0,ot=this,this._runnings++,zs(this),this.fn()}finally{Xs(this),this._runnings--,ot=n,Xe=t}}stop(){var t;this.active&&(zs(this),Xs(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function So(e){return e.value}function zs(e){e._trackId++,e._depsLength=0}function Xs(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},pn=new WeakMap,lt=Symbol(""),ls=Symbol("");function _e(e,t,n){if(Xe&&ot){let s=pn.get(e);s||pn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Qr(()=>s.delete(n))),Yr(ot,r)}}function He(e,t,n,s,r,i){const o=pn.get(e);if(!o)return;let l=[];if(t==="clear")l=[...o.values()];else if(n==="length"&&U(e)){const c=Number(s);o.forEach((u,f)=>{(f==="length"||!St(f)&&f>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":U(e)?ws(n)&&l.push(o.get("length")):(l.push(o.get(lt)),_t(e)&&l.push(o.get(ls)));break;case"delete":U(e)||(l.push(o.get(lt)),_t(e)&&l.push(o.get(ls)));break;case"set":_t(e)&&l.push(o.get(lt));break}Ss();for(const c of l)c&&Jr(c,4);Ts()}function To(e,t){var n;return(n=pn.get(e))==null?void 0:n.get(t)}const Ao=ys("__proto__,__v_isRef,__isVue"),Zr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St)),Ys=Ro();function Ro(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let i=0,o=this.length;i{e[t]=function(...n){ut(),Ss();const s=J(this)[t].apply(this,n);return Ts(),ft(),s}}),e}function Oo(e){const t=J(this);return _e(t,"has",e),t.hasOwnProperty(e)}class ei{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Bo:ri:i?si:ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=U(t);if(!r){if(o&&Y(Ys,n))return Reflect.get(Ys,n,s);if(n==="hasOwnProperty")return Oo}const l=Reflect.get(t,n,s);return(St(n)?Zr.has(n):Ao(n))||(r||_e(t,"get",n),i)?l:he(l)?o&&ws(n)?l:l.value:Z(l)?r?Rn(l):An(l):l}}class ti extends ei{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=Ct(i);if(!gn(s)&&!Ct(s)&&(i=J(i),s=J(s)),!U(t)&&he(i)&&!he(s))return c?!1:(i.value=s,!0)}const o=U(t)&&ws(n)?Number(n)e,Tn=e=>Reflect.getPrototypeOf(e);function Xt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),i=J(t);n||(Qe(t,i)&&_e(r,"get",t),_e(r,"get",i));const{has:o}=Tn(r),l=s?As:n?Is:Ht;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Yt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(Qe(e,r)&&_e(s,"has",e),_e(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Jt(e,t=!1){return e=e.__v_raw,!t&&_e(J(e),"iterate",lt),Reflect.get(e,"size",e)}function Js(e){e=J(e);const t=J(this);return Tn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Qs(e,t){t=J(t);const n=J(this),{has:s,get:r}=Tn(n);let i=s.call(n,e);i||(e=J(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Qe(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function Zs(e){const t=J(this),{has:n,get:s}=Tn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function er(){const e=J(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Qt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=J(o),c=t?As:e?Is:Ht;return!e&&_e(l,"iterate",lt),o.forEach((u,f)=>s.call(r,c(u),c(f),i))}}function Zt(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=_t(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),f=n?As:t?Is:Ht;return!t&&_e(i,"iterate",c?ls:lt),{next(){const{value:h,done:p}=u.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 No(){const e={get(i){return Xt(this,i)},get size(){return Jt(this)},has:Yt,add:Js,set:Qs,delete:Zs,clear:er,forEach:Qt(!1,!1)},t={get(i){return Xt(this,i,!1,!0)},get size(){return Jt(this)},has:Yt,add:Js,set:Qs,delete:Zs,clear:er,forEach:Qt(!1,!0)},n={get(i){return Xt(this,i,!0)},get size(){return Jt(this,!0)},has(i){return Yt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Qt(!0,!1)},s={get(i){return Xt(this,i,!0,!0)},get size(){return Jt(this,!0)},has(i){return Yt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Zt(i,!1,!1),n[i]=Zt(i,!0,!1),t[i]=Zt(i,!1,!0),s[i]=Zt(i,!0,!0)}),[e,n,t,s]}const[Fo,$o,Ho,jo]=No();function Rs(e,t){const n=t?e?jo:Ho:e?$o:Fo;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,i)}const Vo={get:Rs(!1,!1)},Do={get:Rs(!1,!0)},Uo={get:Rs(!0,!1)},ni=new WeakMap,si=new WeakMap,ri=new WeakMap,Bo=new WeakMap;function ko(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ko(e){return e.__v_skip||!Object.isExtensible(e)?0:ko(uo(e))}function An(e){return Ct(e)?e:Os(e,!1,Lo,Vo,ni)}function Wo(e){return Os(e,!1,Mo,Do,si)}function Rn(e){return Os(e,!0,Po,Uo,ri)}function Os(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=Ko(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function vt(e){return Ct(e)?vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ct(e){return!!(e&&e.__v_isReadonly)}function gn(e){return!!(e&&e.__v_isShallow)}function ii(e){return vt(e)||Ct(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function It(e){return Object.isExtensible(e)&&hn(e,"__v_skip",!0),e}const Ht=e=>Z(e)?An(e):e,Is=e=>Z(e)?Rn(e):e;class oi{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new xs(()=>t(this._value),()=>Lt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Qe(t._value,t._value=t.effect.run())&&Lt(t,4),Ls(t),t.effect._dirtyLevel>=2&&Lt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function qo(e,t,n=!1){let s,r;const i=K(e);return i?(s=e,r=xe):(s=e.get,r=e.set),new oi(s,r,i||!r,n)}function Ls(e){var t;Xe&&ot&&(e=J(e),Yr(ot,(t=e.dep)!=null?t:e.dep=Qr(()=>e.dep=void 0,e instanceof oi?e:void 0)))}function Lt(e,t=4,n){e=J(e);const s=e.dep;s&&Jr(s,t)}function he(e){return!!(e&&e.__v_isRef===!0)}function oe(e){return ci(e,!1)}function li(e){return ci(e,!0)}function ci(e,t){return he(e)?e:new Go(e,t)}class Go{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 Ls(this),this._value}set value(t){const n=this.__v_isShallow||gn(t)||Ct(t);t=n?t:J(t),Qe(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),Lt(this,4))}}function ai(e){return he(e)?e.value:e}const zo={get:(e,t,n)=>ai(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ui(e){return vt(e)?e:new Proxy(e,zo)}class Xo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ls(this),()=>Lt(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Yo(e){return new Xo(e)}class Jo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,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 To(J(this._object),this._key)}}class Qo{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Zo(e,t,n){return he(e)?e:K(e)?new Qo(e):Z(e)&&arguments.length>1?el(e,t,n):oe(e)}function el(e,t,n){const s=e[t];return he(s)?s:new Jo(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ye(e,t,n,s){try{return s?e(...s):e()}catch(r){kt(r,t,n)}}function Se(e,t,n,s){if(K(e)){const i=Ye(e,t,n,s);return i&&Ur(i)&&i.catch(o=>{kt(o,t,n)}),i}const r=[];for(let i=0;i>>1,r=fe[s],i=Vt(r);iPe&&fe.splice(t,1)}function rl(e){U(e)?bt.push(...e):(!We||!We.includes(e,e.allowRecurse?rt+1:rt))&&bt.push(e),di()}function tr(e,t,n=jt?Pe+1:0){for(;nVt(n)-Vt(s));if(bt.length=0,We){We.push(...t);return}for(We=t,rt=0;rte.id==null?1/0:e.id,il=(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 hi(e){cs=!1,jt=!0,fe.sort(il);try{for(Pe=0;Pese(_)?_.trim():_)),h&&(r=n.map(po))}let l,c=s[l=an(t)]||s[l=an(Me(t))];!c&&i&&(c=s[l=an(at(t))]),c&&Se(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(u,e,6,r)}}function pi(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=u=>{const f=pi(u,t,!0);f&&(l=!0,le(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(Z(e)&&s.set(e,null),null):(U(i)?i.forEach(c=>o[c]=null):le(o,i),Z(e)&&s.set(e,o),o)}function Ln(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,at(t))||Y(e,t))}let de=null,Pn=null;function _n(e){const t=de;return de=e,Pn=e&&e.type.__scopeId||null,t}function ja(e){Pn=e}function Va(){Pn=null}function ll(e,t=de,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&hr(-1);const i=_n(t);let o;try{o=e(...r)}finally{_n(i),s._d&&hr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function kn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:u,render:f,renderCache:h,data:p,setupState:_,ctx:E,inheritAttrs:N}=e;let F,W;const B=_n(e);try{if(n.shapeFlag&4){const y=r||s,M=y;F=Ae(f.call(M,y,h,i,_,p,E)),W=c}else{const y=t;F=Ae(y.length>1?y(i,{attrs:c,slots:l,emit:u}):y(i,null)),W=t.props?c:cl(c)}}catch(y){Ft.length=0,kt(y,e,1),F=ne(be)}let m=F;if(W&&N!==!1){const y=Object.keys(W),{shapeFlag:M}=m;y.length&&M&7&&(o&&y.some(vs)&&(W=al(W,o)),m=Ze(m,W))}return n.dirs&&(m=Ze(m),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),F=m,_n(B),F}const cl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bt(n))&&((t||(t={}))[n]=e[n]);return t},al=(e,t)=>{const n={};for(const s in e)(!vs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function ul(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?nr(s,o,u):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function _i(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):rl(e)}const hl=Symbol.for("v-scx"),pl=()=>Et(hl);function yi(e,t){return Mn(e,null,t)}function Ba(e,t){return Mn(e,null,{flush:"post"})}const en={};function je(e,t,n){return Mn(e,t,n)}function Mn(e,t,{immediate:n,deep:s,flush:r,once:i,onTrack:o,onTrigger:l}=te){if(t&&i){const L=t;t=(...D)=>{L(...D),M()}}const c=ae,u=L=>s===!0?L:pt(L,s===!1?1:void 0);let f,h=!1,p=!1;if(he(e)?(f=()=>e.value,h=gn(e)):vt(e)?(f=()=>u(e),h=!0):U(e)?(p=!0,h=e.some(L=>vt(L)||gn(L)),f=()=>e.map(L=>{if(he(L))return L.value;if(vt(L))return u(L);if(K(L))return Ye(L,c,2)})):K(e)?t?f=()=>Ye(e,c,2):f=()=>(_&&_(),Se(e,c,3,[E])):f=xe,t&&s){const L=f;f=()=>pt(L())}let _,E=L=>{_=m.onStop=()=>{Ye(L,c,4),_=m.onStop=void 0}},N;if(qt)if(E=xe,t?n&&Se(t,c,3,[f(),p?[]:void 0,E]):f(),r==="sync"){const L=pl();N=L.__watcherHandles||(L.__watcherHandles=[])}else return xe;let F=p?new Array(e.length).fill(en):en;const W=()=>{if(!(!m.active||!m.dirty))if(t){const L=m.run();(s||h||(p?L.some((D,O)=>Qe(D,F[O])):Qe(L,F)))&&(_&&_(),Se(t,c,3,[L,F===en?void 0:p&&F[0]===en?[]:F,E]),F=L)}else m.run()};W.allowRecurse=!!t;let B;r==="sync"?B=W:r==="post"?B=()=>ge(W,c&&c.suspense):(W.pre=!0,c&&(W.id=c.uid),B=()=>In(W));const m=new xs(f,xe,B),y=Gr(),M=()=>{m.stop(),y&&bs(y.effects,m)};return t?n?W():F=m.run():r==="post"?ge(m.run.bind(m),c&&c.suspense):m.run(),N&&N.push(M),M}function gl(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?vi(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=Wt(this),l=Mn(r,i.bind(s),n);return o(),l}function vi(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),he(e))pt(e.value,t,n,s);else if(U(e))for(let r=0;r{pt(r,t,n,s)});else if(kr(e))for(const r in e)pt(e[r],t,n,s);return e}function Le(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o{e.isMounted=!0}),xi(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],bi={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},_l={name:"BaseTransition",props:bi,setup(e,{slots:t}){const n=Hn(),s=ml();return()=>{const r=t.default&&Ei(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const p of r)if(p.type!==be){i=p;break}}const o=J(e),{mode:l}=o;if(s.isLeaving)return Kn(i);const c=rr(i);if(!c)return Kn(i);const u=as(c,o,s,n);us(c,u);const f=n.subTree,h=f&&rr(f);if(h&&h.type!==be&&!it(c,h)){const p=as(h,o,s,n);if(us(h,p),l==="out-in")return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Kn(i);l==="in-out"&&c.type!==be&&(p.delayLeave=(_,E,N)=>{const F=wi(s,h);F[String(h.key)]=h,_[qe]=()=>{E(),_[qe]=void 0,delete u.delayedLeave},u.delayedLeave=N})}return i}}},yl=_l;function wi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function as(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:_,onLeaveCancelled:E,onBeforeAppear:N,onAppear:F,onAfterAppear:W,onAppearCancelled:B}=t,m=String(e.key),y=wi(n,e),M=(O,T)=>{O&&Se(O,s,9,T)},L=(O,T)=>{const A=T[1];M(O,T),U(O)?O.every(q=>q.length<=1)&&A():O.length<=1&&A()},D={mode:i,persisted:o,beforeEnter(O){let T=l;if(!n.isMounted)if(r)T=N||l;else return;O[qe]&&O[qe](!0);const A=y[m];A&&it(e,A)&&A.el[qe]&&A.el[qe](),M(T,[O])},enter(O){let T=c,A=u,q=f;if(!n.isMounted)if(r)T=F||c,A=W||u,q=B||f;else return;let I=!1;const G=O[tn]=ie=>{I||(I=!0,ie?M(q,[O]):M(A,[O]),D.delayedLeave&&D.delayedLeave(),O[tn]=void 0)};T?L(T,[O,G]):G()},leave(O,T){const A=String(e.key);if(O[tn]&&O[tn](!0),n.isUnmounting)return T();M(h,[O]);let q=!1;const I=O[qe]=G=>{q||(q=!0,T(),G?M(E,[O]):M(_,[O]),O[qe]=void 0,y[A]===e&&delete y[A])};y[A]=e,p?L(p,[O,I]):I()},clone(O){return as(O,t,n,s)}};return D}function Kn(e){if(Kt(e))return e=Ze(e),e.children=null,e}function rr(e){return Kt(e)?e.children?e.children[0]:void 0:e}function us(e,t){e.shapeFlag&6&&e.component?us(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 Ei(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ile({name:e.name},t,{setup:e}))():e}const wt=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function ka(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,u,f=0;const h=()=>(f++,c=null,p()),p=()=>{let _;return c||(_=c=t().catch(E=>{if(E=E instanceof Error?E:new Error(String(E)),l)return new Promise((N,F)=>{l(E,()=>N(h()),()=>F(E),f+1)});throw E}).then(E=>_!==c&&c?c:(E&&(E.__esModule||E[Symbol.toStringTag]==="Module")&&(E=E.default),u=E,E)))};return Ns({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const _=ae;if(u)return()=>Wn(u,_);const E=B=>{c=null,kt(B,_,13,!s)};if(o&&_.suspense||qt)return p().then(B=>()=>Wn(B,_)).catch(B=>(E(B),()=>s?ne(s,{error:B}):null));const N=oe(!1),F=oe(),W=oe(!!r);return r&&setTimeout(()=>{W.value=!1},r),i!=null&&setTimeout(()=>{if(!N.value&&!F.value){const B=new Error(`Async component timed out after ${i}ms.`);E(B),F.value=B}},i),p().then(()=>{N.value=!0,_.parent&&Kt(_.parent.vnode)&&(_.parent.effect.dirty=!0,In(_.parent.update))}).catch(B=>{E(B),F.value=B}),()=>{if(N.value&&u)return Wn(u,_);if(F.value&&s)return ne(s,{error:F.value});if(n&&!W.value)return ne(n)}}})}function Wn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=ne(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Kt=e=>e.type.__isKeepAlive;function vl(e,t){Ci(e,"a",t)}function bl(e,t){Ci(e,"da",t)}function Ci(e,t,n=ae){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Nn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Kt(r.parent.vnode)&&wl(s,t,n,r),r=r.parent}}function wl(e,t,n,s){const r=Nn(t,e,s,!0);Fn(()=>{bs(s[t],r)},n)}function Nn(e,t,n=ae,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;ut();const l=Wt(n),c=Se(t,n,e,o);return l(),ft(),c});return s?r.unshift(i):r.push(i),i}}const De=e=>(t,n=ae)=>(!qt||e==="sp")&&Nn(e,(...s)=>t(...s),n),El=De("bm"),Tt=De("m"),Cl=De("bu"),xl=De("u"),xi=De("bum"),Fn=De("um"),Sl=De("sp"),Tl=De("rtg"),Al=De("rtc");function Rl(e,t=ae){Nn("ec",e,t)}function Ka(e,t,n,s){let r;const i=n&&n[s];if(U(e)||se(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lbn(t)?!(t.type===be||t.type===me&&!Si(t.children)):!0)?e:null}function qa(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:an(s)]=e[s];return n}const fs=e=>e?Bi(e)?js(e)||e.proxy:fs(e.parent):null,Pt=le(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=>fs(e.parent),$root:e=>fs(e.root),$emit:e=>e.emit,$options:e=>Fs(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,In(e.update)}),$nextTick:e=>e.n||(e.n=On.bind(e.proxy)),$watch:e=>gl.bind(e)}),qn=(e,t)=>e!==te&&!e.__isScriptSetup&&Y(e,t),Ol={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const _=o[t];if(_!==void 0)switch(_){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(qn(s,t))return o[t]=1,s[t];if(r!==te&&Y(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&Y(u,t))return o[t]=3,i[t];if(n!==te&&Y(n,t))return o[t]=4,n[t];ds&&(o[t]=0)}}const f=Pt[t];let h,p;if(f)return t==="$attrs"&&_e(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&Y(n,t))return o[t]=4,n[t];if(p=c.config.globalProperties,Y(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return qn(r,t)?(r[t]=n,!0):s!==te&&Y(s,t)?(s[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&Y(e,o)||qn(t,o)||(l=i[0])&&Y(l,o)||Y(s,o)||Y(Pt,o)||Y(r.config.globalProperties,o)},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 Ga(){return Il().slots}function Il(){const e=Hn();return e.setupContext||(e.setupContext=Ki(e))}function ir(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ds=!0;function Ll(e){const t=Fs(e),n=e.proxy,s=e.ctx;ds=!1,t.beforeCreate&&or(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:f,beforeMount:h,mounted:p,beforeUpdate:_,updated:E,activated:N,deactivated:F,beforeDestroy:W,beforeUnmount:B,destroyed:m,unmounted:y,render:M,renderTracked:L,renderTriggered:D,errorCaptured:O,serverPrefetch:T,expose:A,inheritAttrs:q,components:I,directives:G,filters:ie}=t;if(u&&Pl(u,s,null),o)for(const X in o){const H=o[X];K(H)&&(s[X]=H.bind(n))}if(r){const X=r.call(n,n);Z(X)&&(e.data=An(X))}if(ds=!0,i)for(const X in i){const H=i[X],Fe=K(H)?H.bind(n,n):K(H.get)?H.get.bind(n,n):xe,Gt=!K(H)&&K(H.set)?H.set.bind(n):xe,et=re({get:Fe,set:Gt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>et.value,set:Oe=>et.value=Oe})}if(l)for(const X in l)Ti(l[X],s,n,X);if(c){const X=K(c)?c.call(n):c;Reflect.ownKeys(X).forEach(H=>{jl(H,X[H])})}f&&or(f,e,"c");function j(X,H){U(H)?H.forEach(Fe=>X(Fe.bind(n))):H&&X(H.bind(n))}if(j(El,h),j(Tt,p),j(Cl,_),j(xl,E),j(vl,N),j(bl,F),j(Rl,O),j(Al,L),j(Tl,D),j(xi,B),j(Fn,y),j(Sl,T),U(A))if(A.length){const X=e.exposed||(e.exposed={});A.forEach(H=>{Object.defineProperty(X,H,{get:()=>n[H],set:Fe=>n[H]=Fe})})}else e.exposed||(e.exposed={});M&&e.render===xe&&(e.render=M),q!=null&&(e.inheritAttrs=q),I&&(e.components=I),G&&(e.directives=G)}function Pl(e,t,n=xe){U(e)&&(e=hs(e));for(const s in e){const r=e[s];let i;Z(r)?"default"in r?i=Et(r.from||s,r.default,!0):i=Et(r.from||s):i=Et(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function or(e,t,n){Se(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ti(e,t,n,s){const r=s.includes(".")?vi(n,s):()=>n[s];if(se(e)){const i=t[e];K(i)&&je(r,i)}else if(K(e))je(r,e.bind(n));else if(Z(e))if(U(e))e.forEach(i=>Ti(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&je(r,i,e)}}function Fs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>yn(c,u,o,!0)),yn(c,t,o)),Z(t)&&i.set(t,c),c}function yn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&yn(e,i,n,!0),r&&r.forEach(o=>yn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ml[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ml={data:lr,props:cr,emits:cr,methods:Ot,computed:Ot,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:Ot,directives:Ot,watch:Fl,provide:lr,inject:Nl};function lr(e,t){return t?e?function(){return le(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Nl(e,t){return Ot(hs(e),hs(t))}function hs(e){if(U(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(s&&s.proxy):t}}function Vl(e,t,n,s=!1){const r={},i={};hn(i,$n,1),e.propsDefaults=Object.create(null),Ri(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Wo(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Dl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,_]=Oi(h,t,!0);le(o,p),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return Z(e)&&s.set(e,mt),mt;if(U(i))for(let f=0;f-1,_[1]=N<0||E-1||Y(_,"default"))&&l.push(h)}}}const u=[o,l];return Z(e)&&s.set(e,u),u}function ar(e){return e[0]!=="$"&&!yt(e)}function ur(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function fr(e,t){return ur(e)===ur(t)}function dr(e,t){return U(t)?t.findIndex(n=>fr(n,e)):K(t)&&fr(t,e)?0:-1}const Ii=e=>e[0]==="_"||e==="$stable",$s=e=>U(e)?e.map(Ae):[Ae(e)],Ul=(e,t,n)=>{if(t._n)return t;const s=ll((...r)=>$s(t(...r)),n);return s._c=!1,s},Li=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ii(r))continue;const i=e[r];if(K(i))t[r]=Ul(r,i,s);else if(i!=null){const o=$s(i);t[r]=()=>o}}},Pi=(e,t)=>{const n=$s(t);e.slots.default=()=>n},Bl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),hn(t,"_",n)):Li(t,e.slots={})}else e.slots={},t&&Pi(e,t);hn(e.slots,$n,1)},kl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(le(r,t),!n&&l===1&&delete r._):(i=!t.$stable,Li(t,r)),o=t}else t&&(Pi(e,t),o={default:1});if(i)for(const l in r)!Ii(l)&&o[l]==null&&delete r[l]};function vn(e,t,n,s,r=!1){if(U(e)){e.forEach((p,_)=>vn(p,t&&(U(t)?t[_]:t),n,s,r));return}if(wt(s)&&!r)return;const i=s.shapeFlag&4?js(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,f=l.refs===te?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(se(u)?(f[u]=null,Y(h,u)&&(h[u]=null)):he(u)&&(u.value=null)),K(c))Ye(c,l,12,[o,f]);else{const p=se(c),_=he(c);if(p||_){const E=()=>{if(e.f){const N=p?Y(h,c)?h[c]:f[c]:c.value;r?U(N)&&bs(N,i):U(N)?N.includes(i)||N.push(i):p?(f[c]=[i],Y(h,c)&&(h[c]=f[c])):(c.value=[i],e.k&&(f[e.k]=c.value))}else p?(f[c]=o,Y(h,c)&&(h[c]=o)):_&&(c.value=o,e.k&&(f[e.k]=o))};o?(E.id=-1,ge(E,n)):E()}}}let Be=!1;const Kl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Wl=e=>e.namespaceURI.includes("MathML"),nn=e=>{if(Kl(e))return"svg";if(Wl(e))return"mathml"},sn=e=>e.nodeType===8;function ql(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,f=(m,y)=>{if(!y.hasChildNodes()){n(null,m,y),mn(),y._vnode=m;return}Be=!1,h(y.firstChild,m,null,null,null),mn(),y._vnode=m,Be&&console.error("Hydration completed but contains mismatches.")},h=(m,y,M,L,D,O=!1)=>{const T=sn(m)&&m.data==="[",A=()=>N(m,y,M,L,D,T),{type:q,ref:I,shapeFlag:G,patchFlag:ie}=y;let ue=m.nodeType;y.el=m,ie===-2&&(O=!1,y.dynamicChildren=null);let j=null;switch(q){case xt:ue!==3?y.children===""?(c(y.el=r(""),o(m),m),j=m):j=A():(m.data!==y.children&&(Be=!0,m.data=y.children),j=i(m));break;case be:B(m)?(j=i(m),W(y.el=m.content.firstChild,m,M)):ue!==8||T?j=A():j=i(m);break;case Nt:if(T&&(m=i(m),ue=m.nodeType),ue===1||ue===3){j=m;const X=!y.children.length;for(let H=0;H{O=O||!!y.dynamicChildren;const{type:T,props:A,patchFlag:q,shapeFlag:I,dirs:G,transition:ie}=y,ue=T==="input"||T==="option";if(ue||q!==-1){G&&Le(y,null,M,"created");let j=!1;if(B(m)){j=Mi(L,ie)&&M&&M.vnode.props&&M.vnode.props.appear;const H=m.content.firstChild;j&&ie.beforeEnter(H),W(H,m,M),y.el=m=H}if(I&16&&!(A&&(A.innerHTML||A.textContent))){let H=_(m.firstChild,y,m,M,L,D,O);for(;H;){Be=!0;const Fe=H;H=H.nextSibling,l(Fe)}}else I&8&&m.textContent!==y.children&&(Be=!0,m.textContent=y.children);if(A)if(ue||!O||q&48)for(const H in A)(ue&&(H.endsWith("value")||H==="indeterminate")||Bt(H)&&!yt(H)||H[0]===".")&&s(m,H,null,A[H],void 0,void 0,M);else A.onClick&&s(m,"onClick",null,A.onClick,void 0,void 0,M);let X;(X=A&&A.onVnodeBeforeMount)&&Ee(X,M,y),G&&Le(y,null,M,"beforeMount"),((X=A&&A.onVnodeMounted)||G||j)&&_i(()=>{X&&Ee(X,M,y),j&&ie.enter(m),G&&Le(y,null,M,"mounted")},L)}return m.nextSibling},_=(m,y,M,L,D,O,T)=>{T=T||!!y.dynamicChildren;const A=y.children,q=A.length;for(let I=0;I{const{slotScopeIds:T}=y;T&&(D=D?D.concat(T):T);const A=o(m),q=_(i(m),y,A,M,L,D,O);return q&&sn(q)&&q.data==="]"?i(y.anchor=q):(Be=!0,c(y.anchor=u("]"),A,q),q)},N=(m,y,M,L,D,O)=>{if(Be=!0,y.el=null,O){const q=F(m);for(;;){const I=i(m);if(I&&I!==q)l(I);else break}}const T=i(m),A=o(m);return l(m),n(null,y,A,T,M,L,nn(A),D),T},F=(m,y="[",M="]")=>{let L=0;for(;m;)if(m=i(m),m&&sn(m)&&(m.data===y&&L++,m.data===M)){if(L===0)return i(m);L--}return m},W=(m,y,M)=>{const L=y.parentNode;L&&L.replaceChild(m,y);let D=M;for(;D;)D.vnode.el===y&&(D.vnode.el=D.subTree.el=m),D=D.parent},B=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,h]}const ge=_i;function Gl(e){return zl(e,ql)}function zl(e,t){const n=Kr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:f,parentNode:h,nextSibling:p,setScopeId:_=xe,insertStaticContent:E}=e,N=(a,d,g,v=null,b=null,x=null,R=void 0,C=null,S=!!d.dynamicChildren)=>{if(a===d)return;a&&!it(a,d)&&(v=zt(a),Oe(a,b,x,!0),a=null),d.patchFlag===-2&&(S=!1,d.dynamicChildren=null);const{type:w,ref:P,shapeFlag:V}=d;switch(w){case xt:F(a,d,g,v);break;case be:W(a,d,g,v);break;case Nt:a==null&&B(d,g,v,R);break;case me:I(a,d,g,v,b,x,R,C,S);break;default:V&1?M(a,d,g,v,b,x,R,C,S):V&6?G(a,d,g,v,b,x,R,C,S):(V&64||V&128)&&w.process(a,d,g,v,b,x,R,C,S,dt)}P!=null&&b&&vn(P,a&&a.ref,x,d||a,!d)},F=(a,d,g,v)=>{if(a==null)s(d.el=l(d.children),g,v);else{const b=d.el=a.el;d.children!==a.children&&u(b,d.children)}},W=(a,d,g,v)=>{a==null?s(d.el=c(d.children||""),g,v):d.el=a.el},B=(a,d,g,v)=>{[a.el,a.anchor]=E(a.children,d,g,v,a.el,a.anchor)},m=({el:a,anchor:d},g,v)=>{let b;for(;a&&a!==d;)b=p(a),s(a,g,v),a=b;s(d,g,v)},y=({el:a,anchor:d})=>{let g;for(;a&&a!==d;)g=p(a),r(a),a=g;r(d)},M=(a,d,g,v,b,x,R,C,S)=>{d.type==="svg"?R="svg":d.type==="math"&&(R="mathml"),a==null?L(d,g,v,b,x,R,C,S):T(a,d,b,x,R,C,S)},L=(a,d,g,v,b,x,R,C)=>{let S,w;const{props:P,shapeFlag:V,transition:$,dirs:k}=a;if(S=a.el=o(a.type,x,P&&P.is,P),V&8?f(S,a.children):V&16&&O(a.children,S,null,v,b,Gn(a,x),R,C),k&&Le(a,null,v,"created"),D(S,a,a.scopeId,R,v),P){for(const Q in P)Q!=="value"&&!yt(Q)&&i(S,Q,null,P[Q],x,a.children,v,b,$e);"value"in P&&i(S,"value",null,P.value,x),(w=P.onVnodeBeforeMount)&&Ee(w,v,a)}k&&Le(a,null,v,"beforeMount");const z=Mi(b,$);z&&$.beforeEnter(S),s(S,d,g),((w=P&&P.onVnodeMounted)||z||k)&&ge(()=>{w&&Ee(w,v,a),z&&$.enter(S),k&&Le(a,null,v,"mounted")},b)},D=(a,d,g,v,b)=>{if(g&&_(a,g),v)for(let x=0;x{for(let w=S;w{const C=d.el=a.el;let{patchFlag:S,dynamicChildren:w,dirs:P}=d;S|=a.patchFlag&16;const V=a.props||te,$=d.props||te;let k;if(g&&tt(g,!1),(k=$.onVnodeBeforeUpdate)&&Ee(k,g,d,a),P&&Le(d,a,g,"beforeUpdate"),g&&tt(g,!0),w?A(a.dynamicChildren,w,C,g,v,Gn(d,b),x):R||H(a,d,C,null,g,v,Gn(d,b),x,!1),S>0){if(S&16)q(C,d,V,$,g,v,b);else if(S&2&&V.class!==$.class&&i(C,"class",null,$.class,b),S&4&&i(C,"style",V.style,$.style,b),S&8){const z=d.dynamicProps;for(let Q=0;Q{k&&Ee(k,g,d,a),P&&Le(d,a,g,"updated")},v)},A=(a,d,g,v,b,x,R)=>{for(let C=0;C{if(g!==v){if(g!==te)for(const C in g)!yt(C)&&!(C in v)&&i(a,C,g[C],null,R,d.children,b,x,$e);for(const C in v){if(yt(C))continue;const S=v[C],w=g[C];S!==w&&C!=="value"&&i(a,C,w,S,R,d.children,b,x,$e)}"value"in v&&i(a,"value",g.value,v.value,R)}},I=(a,d,g,v,b,x,R,C,S)=>{const w=d.el=a?a.el:l(""),P=d.anchor=a?a.anchor:l("");let{patchFlag:V,dynamicChildren:$,slotScopeIds:k}=d;k&&(C=C?C.concat(k):k),a==null?(s(w,g,v),s(P,g,v),O(d.children||[],g,P,b,x,R,C,S)):V>0&&V&64&&$&&a.dynamicChildren?(A(a.dynamicChildren,$,g,b,x,R,C),(d.key!=null||b&&d===b.subTree)&&Ni(a,d,!0)):H(a,d,g,P,b,x,R,C,S)},G=(a,d,g,v,b,x,R,C,S)=>{d.slotScopeIds=C,a==null?d.shapeFlag&512?b.ctx.activate(d,g,v,R,S):ie(d,g,v,b,x,R,S):ue(a,d,S)},ie=(a,d,g,v,b,x,R)=>{const C=a.component=sc(a,v,b);if(Kt(a)&&(C.ctx.renderer=dt),rc(C),C.asyncDep){if(b&&b.registerDep(C,j),!a.el){const S=C.subTree=ne(be);W(null,S,d,g)}}else j(C,a,d,g,b,x,R)},ue=(a,d,g)=>{const v=d.component=a.component;if(ul(a,d,g))if(v.asyncDep&&!v.asyncResolved){X(v,d,g);return}else v.next=d,sl(v.update),v.effect.dirty=!0,v.update();else d.el=a.el,v.vnode=d},j=(a,d,g,v,b,x,R)=>{const C=()=>{if(a.isMounted){let{next:P,bu:V,u:$,parent:k,vnode:z}=a;{const ht=Fi(a);if(ht){P&&(P.el=z.el,X(a,P,R)),ht.asyncDep.then(()=>{a.isUnmounted||C()});return}}let Q=P,ee;tt(a,!1),P?(P.el=z.el,X(a,P,R)):P=z,V&&Un(V),(ee=P.props&&P.props.onVnodeBeforeUpdate)&&Ee(ee,k,P,z),tt(a,!0);const ce=kn(a),Te=a.subTree;a.subTree=ce,N(Te,ce,h(Te.el),zt(Te),a,b,x),P.el=ce.el,Q===null&&fl(a,ce.el),$&&ge($,b),(ee=P.props&&P.props.onVnodeUpdated)&&ge(()=>Ee(ee,k,P,z),b)}else{let P;const{el:V,props:$}=d,{bm:k,m:z,parent:Q}=a,ee=wt(d);if(tt(a,!1),k&&Un(k),!ee&&(P=$&&$.onVnodeBeforeMount)&&Ee(P,Q,d),tt(a,!0),V&&Dn){const ce=()=>{a.subTree=kn(a),Dn(V,a.subTree,a,b,null)};ee?d.type.__asyncLoader().then(()=>!a.isUnmounted&&ce()):ce()}else{const ce=a.subTree=kn(a);N(null,ce,g,v,a,b,x),d.el=ce.el}if(z&&ge(z,b),!ee&&(P=$&&$.onVnodeMounted)){const ce=d;ge(()=>Ee(P,Q,ce),b)}(d.shapeFlag&256||Q&&wt(Q.vnode)&&Q.vnode.shapeFlag&256)&&a.a&&ge(a.a,b),a.isMounted=!0,d=g=v=null}},S=a.effect=new xs(C,xe,()=>In(w),a.scope),w=a.update=()=>{S.dirty&&S.run()};w.id=a.uid,tt(a,!0),w()},X=(a,d,g)=>{d.component=a;const v=a.vnode.props;a.vnode=d,a.next=null,Dl(a,d.props,v,g),kl(a,d.children,g),ut(),tr(a),ft()},H=(a,d,g,v,b,x,R,C,S=!1)=>{const w=a&&a.children,P=a?a.shapeFlag:0,V=d.children,{patchFlag:$,shapeFlag:k}=d;if($>0){if($&128){Gt(w,V,g,v,b,x,R,C,S);return}else if($&256){Fe(w,V,g,v,b,x,R,C,S);return}}k&8?(P&16&&$e(w,b,x),V!==w&&f(g,V)):P&16?k&16?Gt(w,V,g,v,b,x,R,C,S):$e(w,b,x,!0):(P&8&&f(g,""),k&16&&O(V,g,v,b,x,R,C,S))},Fe=(a,d,g,v,b,x,R,C,S)=>{a=a||mt,d=d||mt;const w=a.length,P=d.length,V=Math.min(w,P);let $;for($=0;$P?$e(a,b,x,!0,!1,V):O(d,g,v,b,x,R,C,S,V)},Gt=(a,d,g,v,b,x,R,C,S)=>{let w=0;const P=d.length;let V=a.length-1,$=P-1;for(;w<=V&&w<=$;){const k=a[w],z=d[w]=S?Ge(d[w]):Ae(d[w]);if(it(k,z))N(k,z,g,null,b,x,R,C,S);else break;w++}for(;w<=V&&w<=$;){const k=a[V],z=d[$]=S?Ge(d[$]):Ae(d[$]);if(it(k,z))N(k,z,g,null,b,x,R,C,S);else break;V--,$--}if(w>V){if(w<=$){const k=$+1,z=k$)for(;w<=V;)Oe(a[w],b,x,!0),w++;else{const k=w,z=w,Q=new Map;for(w=z;w<=$;w++){const ye=d[w]=S?Ge(d[w]):Ae(d[w]);ye.key!=null&&Q.set(ye.key,w)}let ee,ce=0;const Te=$-z+1;let ht=!1,Ks=0;const At=new Array(Te);for(w=0;w=Te){Oe(ye,b,x,!0);continue}let Ie;if(ye.key!=null)Ie=Q.get(ye.key);else for(ee=z;ee<=$;ee++)if(At[ee-z]===0&&it(ye,d[ee])){Ie=ee;break}Ie===void 0?Oe(ye,b,x,!0):(At[Ie-z]=w+1,Ie>=Ks?Ks=Ie:ht=!0,N(ye,d[Ie],g,null,b,x,R,C,S),ce++)}const Ws=ht?Xl(At):mt;for(ee=Ws.length-1,w=Te-1;w>=0;w--){const ye=z+w,Ie=d[ye],qs=ye+1{const{el:x,type:R,transition:C,children:S,shapeFlag:w}=a;if(w&6){et(a.component.subTree,d,g,v);return}if(w&128){a.suspense.move(d,g,v);return}if(w&64){R.move(a,d,g,dt);return}if(R===me){s(x,d,g);for(let V=0;VC.enter(x),b);else{const{leave:V,delayLeave:$,afterLeave:k}=C,z=()=>s(x,d,g),Q=()=>{V(x,()=>{z(),k&&k()})};$?$(x,z,Q):Q()}else s(x,d,g)},Oe=(a,d,g,v=!1,b=!1)=>{const{type:x,props:R,ref:C,children:S,dynamicChildren:w,shapeFlag:P,patchFlag:V,dirs:$}=a;if(C!=null&&vn(C,null,g,a,!0),P&256){d.ctx.deactivate(a);return}const k=P&1&&$,z=!wt(a);let Q;if(z&&(Q=R&&R.onVnodeBeforeUnmount)&&Ee(Q,d,a),P&6)lo(a.component,g,v);else{if(P&128){a.suspense.unmount(g,v);return}k&&Le(a,null,d,"beforeUnmount"),P&64?a.type.remove(a,d,g,b,dt,v):w&&(x!==me||V>0&&V&64)?$e(w,d,g,!1,!0):(x===me&&V&384||!b&&P&16)&&$e(S,d,g),v&&Bs(a)}(z&&(Q=R&&R.onVnodeUnmounted)||k)&&ge(()=>{Q&&Ee(Q,d,a),k&&Le(a,null,d,"unmounted")},g)},Bs=a=>{const{type:d,el:g,anchor:v,transition:b}=a;if(d===me){oo(g,v);return}if(d===Nt){y(a);return}const x=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:R,delayLeave:C}=b,S=()=>R(g,x);C?C(a.el,x,S):S()}else x()},oo=(a,d)=>{let g;for(;a!==d;)g=p(a),r(a),a=g;r(d)},lo=(a,d,g)=>{const{bum:v,scope:b,update:x,subTree:R,um:C}=a;v&&Un(v),b.stop(),x&&(x.active=!1,Oe(R,a,d,g)),C&&ge(C,d),ge(()=>{a.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},$e=(a,d,g,v=!1,b=!1,x=0)=>{for(let R=x;Ra.shapeFlag&6?zt(a.component.subTree):a.shapeFlag&128?a.suspense.next():p(a.anchor||a.el);let jn=!1;const ks=(a,d,g)=>{a==null?d._vnode&&Oe(d._vnode,null,null,!0):N(d._vnode||null,a,d,null,null,null,g),jn||(jn=!0,tr(),mn(),jn=!1),d._vnode=a},dt={p:N,um:Oe,m:et,r:Bs,mt:ie,mc:O,pc:H,pbc:A,n:zt,o:e};let Vn,Dn;return t&&([Vn,Dn]=t(dt)),{render:ks,hydrate:Vn,createApp:Hl(ks,Vn)}}function Gn({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 tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Mi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ni(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Fi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fi(t)}const Yl=e=>e.__isTeleport,me=Symbol.for("v-fgt"),xt=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Nt=Symbol.for("v-stc"),Ft=[];let Re=null;function $i(e=!1){Ft.push(Re=e?null:[])}function Jl(){Ft.pop(),Re=Ft[Ft.length-1]||null}let Dt=1;function hr(e){Dt+=e}function Hi(e){return e.dynamicChildren=Dt>0?Re||mt:null,Jl(),Dt>0&&Re&&Re.push(e),e}function za(e,t,n,s,r,i){return Hi(Di(e,t,n,s,r,i,!0))}function ji(e,t,n,s,r){return Hi(ne(e,t,n,s,r,!0))}function bn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const $n="__vInternal",Vi=({key:e})=>e??null,un=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||he(e)||K(e)?{i:de,r:e,k:t,f:!!n}:e:null);function Di(e,t=null,n=null,s=0,r=null,i=e===me?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vi(t),ref:t&&un(t),scopeId:Pn,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:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:de};return l?(Hs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Dt>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const ne=Ql;function Ql(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===gi)&&(e=be),bn(e)){const l=Ze(e,t,!0);return n&&Hs(l,n),Dt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(cc(e)&&(e=e.__vccOpts),t){t=Zl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Cs(l)),Z(c)&&(ii(c)&&!U(c)&&(c=le({},c)),t.style=Es(c))}const o=se(e)?1:dl(e)?128:Yl(e)?64:Z(e)?4:K(e)?2:0;return Di(e,t,n,s,r,o,i,!0)}function Zl(e){return e?ii(e)||$n in e?le({},e):e:null}function Ze(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?ec(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Vi(l),ref:t&&t.ref?n&&r?U(r)?r.concat(un(t)):[r,un(t)]:un(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ze(e.ssContent),ssFallback:e.ssFallback&&Ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ui(e=" ",t=0){return ne(xt,null,e,t)}function Xa(e,t){const n=ne(Nt,null,e);return n.staticCount=t,n}function Ya(e="",t=!1){return t?($i(),ji(be,null,e)):ne(be,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ne(be):U(e)?ne(me,null,e.slice()):typeof e=="object"?Ge(e):ne(xt,null,String(e))}function Ge(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ze(e)}function Hs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Hs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!($n in t)?t._ctx=de:r===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:de},n=32):(t=String(t),s&64?(n=16,t=[Ui(t)]):n=8);e.children=t,e.shapeFlag|=n}function ec(...e){const t={};for(let n=0;nae||de;let wn,gs;{const e=Kr(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};wn=t("__VUE_INSTANCE_SETTERS__",n=>ae=n),gs=t("__VUE_SSR_SETTERS__",n=>qt=n)}const Wt=e=>{const t=ae;return wn(e),e.scope.on(),()=>{e.scope.off(),wn(t)}},pr=()=>{ae&&ae.scope.off(),wn(null)};function Bi(e){return e.vnode.shapeFlag&4}let qt=!1;function rc(e,t=!1){t&&gs(t);const{props:n,children:s}=e.vnode,r=Bi(e);Vl(e,n,r,t),Bl(e,s);const i=r?ic(e,t):void 0;return t&&gs(!1),i}function ic(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=It(new Proxy(e.ctx,Ol));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Ki(e):null,i=Wt(e);ut();const o=Ye(s,e,0,[e.props,r]);if(ft(),i(),Ur(o)){if(o.then(pr,pr),t)return o.then(l=>{gr(e,l,t)}).catch(l=>{kt(l,e,0)});e.asyncDep=o}else gr(e,o,t)}else ki(e,t)}function gr(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=ui(t)),ki(e,n)}let mr;function ki(e,t,n){const s=e.type;if(!e.render){if(!t&&mr&&!s.render){const r=s.template||Fs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=le(le({isCustomElement:i,delimiters:l},o),c);s.render=mr(r,u)}}e.render=s.render||xe}{const r=Wt(e);ut();try{Ll(e)}finally{ft(),r()}}}function oc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return _e(e,"get","$attrs"),t[n]}}))}function Ki(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return oc(e)},slots:e.slots,emit:e.emit,expose:t}}function js(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(ui(It(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Pt)return Pt[n](e)},has(t,n){return n in t||n in Pt}}))}function lc(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function cc(e){return K(e)&&"__vccOpts"in e}const re=(e,t)=>qo(e,t,qt);function ms(e,t,n){const s=arguments.length;return s===2?Z(t)&&!U(t)?bn(t)?ne(e,null,[t]):ne(e,t):ne(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&bn(n)&&(n=[n]),ne(e,t,n))}const ac="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const uc="http://www.w3.org/2000/svg",fc="http://www.w3.org/1998/Math/MathML",ze=typeof document<"u"?document:null,_r=ze&&ze.createElement("template"),dc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?ze.createElementNS(uc,e):t==="mathml"?ze.createElementNS(fc,e):ze.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},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,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{_r.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=_r.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ke="transition",Rt="animation",Ut=Symbol("_vtc"),Wi=(e,{slots:t})=>ms(yl,hc(e),t);Wi.displayName="Transition";const qi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Wi.props=le({},bi,qi);const nt=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},yr=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function hc(e){const t={};for(const I in e)I in qi||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,E=pc(r),N=E&&E[0],F=E&&E[1],{onBeforeEnter:W,onEnter:B,onEnterCancelled:m,onLeave:y,onLeaveCancelled:M,onBeforeAppear:L=W,onAppear:D=B,onAppearCancelled:O=m}=t,T=(I,G,ie)=>{st(I,G?f:l),st(I,G?u:o),ie&&ie()},A=(I,G)=>{I._isLeaving=!1,st(I,h),st(I,_),st(I,p),G&&G()},q=I=>(G,ie)=>{const ue=I?D:B,j=()=>T(G,I,ie);nt(ue,[G,j]),vr(()=>{st(G,I?c:i),Ke(G,I?f:l),yr(ue)||br(G,s,N,j)})};return le(t,{onBeforeEnter(I){nt(W,[I]),Ke(I,i),Ke(I,o)},onBeforeAppear(I){nt(L,[I]),Ke(I,c),Ke(I,u)},onEnter:q(!1),onAppear:q(!0),onLeave(I,G){I._isLeaving=!0;const ie=()=>A(I,G);Ke(I,h),_c(),Ke(I,p),vr(()=>{I._isLeaving&&(st(I,h),Ke(I,_),yr(y)||br(I,s,F,ie))}),nt(y,[I,ie])},onEnterCancelled(I){T(I,!1),nt(m,[I])},onAppearCancelled(I){T(I,!0),nt(O,[I])},onLeaveCancelled(I){A(I),nt(M,[I])}})}function pc(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 go(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(s=>s&&e.classList.remove(s));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function vr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let gc=0;function br(e,t,n,s){const r=e._endId=++gc,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=mc(e,t);if(!o)return s();const u=o+"end";let f=0;const h=()=>{e.removeEventListener(u,p),i()},p=_=>{_.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[E]||"").split(", "),r=s(`${ke}Delay`),i=s(`${ke}Duration`),o=wr(r,i),l=s(`${Rt}Delay`),c=s(`${Rt}Duration`),u=wr(l,c);let f=null,h=0,p=0;t===ke?o>0&&(f=ke,h=o,p=i.length):t===Rt?u>0&&(f=Rt,h=u,p=c.length):(h=Math.max(o,u),f=h>0?o>u?ke:Rt:null,p=f?f===ke?i.length:c.length:0);const _=f===ke&&/\b(transform|all)(,|$)/.test(s(`${ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:_}}function wr(e,t){for(;e.lengthEr(n)+Er(e[s])))}function Er(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _c(){return document.body.offsetHeight}function yc(e,t,n){const s=e[Ut];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Cr=Symbol("_vod"),vc=Symbol("_vsh"),bc=Symbol(""),wc=/(^|;)\s*display\s*:/;function Ec(e,t,n){const s=e.style,r=se(n);let i=!1;if(n&&!r){if(t)if(se(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&fn(s,l,"")}else for(const o in t)n[o]==null&&fn(s,o,"");for(const o in n)o==="display"&&(i=!0),fn(s,o,n[o])}else if(r){if(t!==n){const o=s[bc];o&&(n+=";"+o),s.cssText=n,i=wc.test(n)}}else t&&e.removeAttribute("style");Cr in e&&(e[Cr]=i?s.display:"",e[vc]&&(s.display="none"))}const xr=/\s*!important$/;function fn(e,t,n){if(U(n))n.forEach(s=>fn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Cc(e,t);xr.test(n)?e.setProperty(at(s),n.replace(xr,""),"important"):e[s]=n}}const Sr=["Webkit","Moz","ms"],Xn={};function Cc(e,t){const n=Xn[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return Xn[t]=s;s=Sn(s);for(let r=0;rYn||(Ic.then(()=>Yn=0),Yn=Date.now());function Pc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Se(Mc(s,n.value),t,5,[s])};return n.value=e,n.attached=Lc(),n}function Mc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Or=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Nc=(e,t,n,s,r,i,o,l,c)=>{const u=r==="svg";t==="class"?yc(e,s,u):t==="style"?Ec(e,n,s):Bt(t)?vs(t)||Rc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Fc(e,t,s,u))?Sc(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),xc(e,t,s,u))};function Fc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Or(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Or(t)&&se(n)?!1:t in e}const $c=["ctrl","shift","alt","meta"],Hc={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)=>$c.some(n=>e[`${n}Key`]&&!t.includes(n))},Ja=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=at(r.key);if(t.some(o=>o===i||jc[o]===i))return e(r)})},Vc=le({patchProp:Nc},dc);let Jn,Ir=!1;function Dc(){return Jn=Ir?Jn:Gl(Vc),Ir=!0,Jn}const Za=(...e)=>{const t=Dc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Bc(s);if(r)return n(r,!0,Uc(r))},t};function Uc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Bc(e){return se(e)?document.querySelector(e):e}const eu=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},kc="modulepreload",Kc=function(e){return"/"+e},Lr={},tu=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const i=document.getElementsByTagName("link");r=Promise.all(n.map(o=>{if(o=Kc(o),o in Lr)return;Lr[o]=!0;const l=o.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!s)for(let h=i.length-1;h>=0;h--){const p=i[h];if(p.href===o&&(!l||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":kc,l||(f.as="script",f.crossOrigin=""),f.href=o,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 ${o}`)))})}))}return r.then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},Wc=window.__VP_SITE_DATA__;function Vs(e){return Gr()?(xo(e),!0):!1}function Je(e){return typeof e=="function"?e():ai(e)}const Gi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const qc=Object.prototype.toString,Gc=e=>qc.call(e)==="[object Object]",$t=()=>{},_s=zc();function zc(){var e,t;return Gi&&((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 Xc(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const zi=e=>e();function Yc(e=zi){const t=oe(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Rn(t),pause:n,resume:s,eventFilter:r}}function Jc(e){return e||Hn()}function Xi(...e){if(e.length!==1)return Zo(...e);const t=e[0];return typeof t=="function"?Rn(Yo(()=>({get:t,set:$t}))):oe(t)}function Qc(e,t,n={}){const{eventFilter:s=zi,...r}=n;return je(e,Xc(s,t),r)}function Zc(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Yc(s);return{stop:Qc(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function Ds(e,t=!0,n){Jc()?Tt(e,n):t?e():On(e)}function gt(e){var t;const n=Je(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ne=Gi?window:void 0;function Ve(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=Ne):[t,n,s,r]=e,!t)return $t;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(f=>f()),i.length=0},l=(f,h,p,_)=>(f.addEventListener(h,p,_),()=>f.removeEventListener(h,p,_)),c=je(()=>[gt(t),Je(r)],([f,h])=>{if(o(),!f)return;const p=Gc(h)?{...h}:h;i.push(...n.flatMap(_=>s.map(E=>l(f,_,E,p))))},{immediate:!0,flush:"post"}),u=()=>{c(),o()};return Vs(u),u}let Pr=!1;function nu(e,t,n={}){const{window:s=Ne,ignore:r=[],capture:i=!0,detectIframe:o=!1}=n;if(!s)return $t;_s&&!Pr&&(Pr=!0,Array.from(s.document.body.children).forEach(p=>p.addEventListener("click",$t)),s.document.documentElement.addEventListener("click",$t));let l=!0;const c=p=>r.some(_=>{if(typeof _=="string")return Array.from(s.document.querySelectorAll(_)).some(E=>E===p.target||p.composedPath().includes(E));{const E=gt(_);return E&&(p.target===E||p.composedPath().includes(E))}}),f=[Ve(s,"click",p=>{const _=gt(e);if(!(!_||_===p.target||p.composedPath().includes(_))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:i}),Ve(s,"pointerdown",p=>{const _=gt(e);l=!c(p)&&!!(_&&!p.composedPath().includes(_))},{passive:!0}),o&&Ve(s,"blur",p=>{setTimeout(()=>{var _;const E=gt(e);((_=s.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!(E!=null&&E.contains(s.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ea(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function su(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Ne,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=ea(t);return Ve(r,i,f=>{f.repeat&&Je(l)||c(f)&&n(f)},o)}function ta(){const e=oe(!1);return Hn()&&Tt(()=>{e.value=!0}),e}function na(e){const t=ta();return re(()=>(t.value,!!e()))}function Yi(e,t={}){const{window:n=Ne}=t,s=na(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=oe(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=yi(()=>{s.value&&(l(),r=n.matchMedia(Je(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Vs(()=>{c(),l(),r=void 0}),i}const rn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},on="__vueuse_ssr_handlers__",sa=ra();function ra(){return on in rn||(rn[on]=rn[on]||{}),rn[on]}function Ji(e,t){return sa[e]||t}function ia(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 oa={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()}},Mr="vueuse-storage";function la(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:f,window:h=Ne,eventFilter:p,onError:_=T=>{console.error(T)},initOnMounted:E}=s,N=(f?li:oe)(typeof t=="function"?t():t);if(!n)try{n=Ji("getDefaultStorage",()=>{var T;return(T=Ne)==null?void 0:T.localStorage})()}catch(T){_(T)}if(!n)return N;const F=Je(t),W=ia(F),B=(r=s.serializer)!=null?r:oa[W],{pause:m,resume:y}=Zc(N,()=>M(N.value),{flush:i,deep:o,eventFilter:p});return h&&l&&Ds(()=>{Ve(h,"storage",O),Ve(h,Mr,D),E&&O()}),E||O(),N;function M(T){try{if(T==null)n.removeItem(e);else{const A=B.write(T),q=n.getItem(e);q!==A&&(n.setItem(e,A),h&&h.dispatchEvent(new CustomEvent(Mr,{detail:{key:e,oldValue:q,newValue:A,storageArea:n}})))}}catch(A){_(A)}}function L(T){const A=T?T.newValue:n.getItem(e);if(A==null)return c&&F!=null&&n.setItem(e,B.write(F)),F;if(!T&&u){const q=B.read(A);return typeof u=="function"?u(q,F):W==="object"&&!Array.isArray(q)?{...F,...q}:q}else return typeof A!="string"?A:B.read(A)}function D(T){O(T.detail)}function O(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){N.value=F;return}if(!(T&&T.key!==e)){m();try{(T==null?void 0:T.newValue)!==B.write(N.value)&&(N.value=L(T))}catch(A){_(A)}finally{T?On(y):y()}}}}}function Qi(e){return Yi("(prefers-color-scheme: dark)",e)}function ca(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Ne,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=Qi({window:r}),_=re(()=>p.value?"dark":"light"),E=c||(o==null?Xi(s):la(o,s,i,{window:r,listenToStorageChanges:l})),N=re(()=>E.value==="auto"?_.value:E.value),F=Ji("updateHTMLAttrs",(y,M,L)=>{const D=typeof y=="string"?r==null?void 0:r.document.querySelector(y):gt(y);if(!D)return;let O;if(f){O=r.document.createElement("style");const T="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";O.appendChild(document.createTextNode(T)),r.document.head.appendChild(O)}if(M==="class"){const T=L.split(/\s/g);Object.values(h).flatMap(A=>(A||"").split(/\s/g)).filter(Boolean).forEach(A=>{T.includes(A)?D.classList.add(A):D.classList.remove(A)})}else D.setAttribute(M,L);f&&(r.getComputedStyle(O).opacity,document.head.removeChild(O))});function W(y){var M;F(t,n,(M=h[y])!=null?M:y)}function B(y){e.onChanged?e.onChanged(y,W):W(y)}je(N,B,{flush:"post",immediate:!0}),Ds(()=>B(N.value));const m=re({get(){return u?E.value:N.value},set(y){E.value=y}});try{return Object.assign(m,{store:E,system:_,state:N})}catch{return m}}function aa(e={}){const{valueDark:t="dark",valueLight:n="",window:s=Ne}=e,r=ca({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=re(()=>r.system?r.system.value:Qi({window:s}).value?"dark":"light");return re({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function Qn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Zi(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 ln=new WeakMap;function ru(e,t=!1){const n=oe(t);let s=null,r;je(Xi(e),l=>{const c=Qn(Je(l));if(c){const u=c;ln.get(u)||ln.set(u,r),n.value&&(u.style.overflow="hidden")}},{immediate:!0});const i=()=>{const l=Qn(Je(e));!l||n.value||(_s&&(s=Ve(l,"touchmove",c=>{ua(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{var l;const c=Qn(Je(e));!c||!n.value||(_s&&(s==null||s()),c.style.overflow=(l=ln.get(c))!=null?l:"",ln.delete(c),n.value=!1)};return Vs(o),re({get(){return n.value},set(l){l?i():o()}})}function iu(e={}){const{window:t=Ne,behavior:n="auto"}=e;if(!t)return{x:oe(0),y:oe(0)};const s=oe(t.scrollX),r=oe(t.scrollY),i=re({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=re({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Ve(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function ou(e={}){const{window:t=Ne,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0}=e,o=oe(n),l=oe(s),c=()=>{t&&(i?(o.value=t.innerWidth,l.value=t.innerHeight):(o.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Ds(c),Ve("resize",c,{passive:!0}),r){const u=Yi("(orientation: portrait)");je(u,()=>c())}return{width:o,height:l}}var Zn={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},es={};const eo=/^(?:[a-z]+:|\/\/)/i,fa="vitepress-theme-appearance",da=/#.*$/,ha=/[?#].*$/,pa=/(?:(^|\/)index)?\.(?:md|html)$/,Ce=typeof document<"u",to={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function ga(e,t,n=!1){if(t===void 0)return!1;if(e=Nr(`/${e}`),n)return new RegExp(t).test(e);if(Nr(t)!==e)return!1;const s=t.match(da);return s?(Ce?location.hash:"")===s[0]:!0}function Nr(e){return decodeURI(e).replace(ha,"").replace(pa,"$1")}function ma(e){return eo.test(e)}function _a(e,t){var s,r,i,o,l,c,u;const n=Object.keys(e.locales).find(f=>f!=="root"&&!ma(f)&&ga(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:so(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function no(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ya(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function ya(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function va(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function so(e,t){return[...e.filter(n=>!va(t,n)),...t]}const ba=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,wa=/^[a-z]:/i;function Fr(e){const t=wa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(ba,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ts=new Set;function Ea(e){if(ts.size===0){const n=typeof process=="object"&&(es==null?void 0:es.VITE_EXTRA_EXTENSIONS)||(Zn==null?void 0:Zn.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(s=>ts.add(s))}const t=e.split(".").pop();return t==null||!ts.has(t.toLowerCase())}const Ca=Symbol(),ct=li(Wc);function lu(e){const t=re(()=>_a(ct.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?oe(!0):n?aa({storageKey:fa,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):oe(!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(()=>no(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:s}}function xa(){const e=Et(Ca);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Sa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function $r(e){return eo.test(e)||!e.startsWith("/")?e:Sa(ct.value.base,e)}function Ta(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Fr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Fr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let dn=[];function cu(e){dn.push(e),Fn(()=>{dn=dn.filter(t=>t!==e)})}function Aa(){let e=ct.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=Hr(e,n);else if(Array.isArray(e))for(const s of e){const r=Hr(s,n);if(r){t=r;break}}return t}function Hr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ra=Symbol(),Us="http://a.com",Oa=()=>({path:"/",component:null,data:to});function au(e,t){const n=An(Oa()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var c,u;l=En(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(Vr(l),await o(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let i=null;async function o(l,c=0,u=!1){var p;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const f=new URL(l,Us),h=i=f.pathname;try{let _=await e(h);if(!_)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:E,__pageData:N}=_;if(!E)throw new Error(`Invalid route component: ${E}`);n.path=Ce?h:$r(h),n.component=It(E),n.data=It(N),Ce&&On(()=>{let F=ct.value.base+N.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ct.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 W=null;try{W=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(B){console.warn(B)}if(W){jr(W,f.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!u)try{const E=await fetch(ct.value.base+"hashmap.json");window.__VP_HASH_MAP__=await E.json(),await o(l,c,!0);return}catch{}i===h&&(i=null,n.path=Ce?h:$r(h),n.component=t?It(t):null,n.data=to)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:f}=u,{href:h,origin:p,pathname:_,hash:E,search:N}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),F=new URL(window.location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===F.origin&&Ea(_)&&(l.preventDefault(),_===F.pathname&&N===F.search?(E!==F.hash&&(history.pushState(null,"",E),window.dispatchEvent(new Event("hashchange"))),E?jr(u,E,u.classList.contains("header-anchor")):(Vr(h,!1),window.scrollTo(0,0))):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await o(En(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Ia(){const e=Et(Ra);if(!e)throw new Error("useRouter() is called without provider.");return e}function ro(){return Ia().route}function jr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-Aa()+i;requestAnimationFrame(r)}}function Vr(e,t=!0){if(Ce&&En(e)!==En(location.href)){const n=location.hash;history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e),t&&new URL(e,Us).hash!==n&&window.dispatchEvent(new Event("hashchange"))}}function En(e){const t=new URL(e,Us);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ct.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 ns=()=>dn.forEach(e=>e()),uu=Ns({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=ro(),{site:n}=xa();return()=>ms(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?ms(t.component,{onVnodeMounted:ns,onVnodeUpdated:ns,onVnodeUnmounted:ns}):"404 Page Not Found"])}}),fu=Ns({setup(e,{slots:t}){const n=oe(!1);return Tt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function du(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function hu(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let u=c.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),La(u).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 La(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 s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function pu(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=ss(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const o=i.map(ss);s.forEach((l,c)=>{const u=o.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};yi(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],u=no(o,i);u!==document.title&&(document.title=u);const f=l||o.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):ss(["meta",{name:"description",content:f}]),r(so(o.head,Ma(c)))})}function ss([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Pa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ma(e){return e.filter(t=>!Pa(t))}const rs=new Set,io=()=>document.createElement("link"),Na=e=>{const t=io();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Fa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let cn;const $a=Ce&&(cn=io())&&cn.relList&&cn.relList.supports&&cn.relList.supports("prefetch")?Na:Fa;function gu(){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 s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!rs.has(c)){rs.add(c);const u=Ta(c);u&&$a(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):rs.add(l))})})};Tt(s);const r=ro();je(()=>r.path,s),Fn(()=>{n&&n.disconnect()})}export{jl as $,Fn as A,Ba as B,xl as C,Aa as D,Da as E,me as F,Ka as G,li as H,cu as I,ne as J,Ua as K,eo as L,ro as M,ec as N,Et as O,ou as P,Es as Q,nu as R,su as S,Wi as T,On as U,iu as V,Rn as W,ka as X,tu as Y,ru as Z,eu as _,Ui as a,Qa as a0,qa as a1,Ja as a2,Ga as a3,Xa as a4,pu as a5,Ra as a6,lu as a7,Ca as a8,uu as a9,fu as aa,ct as ab,Za as ac,au as ad,Ta as ae,gu as af,hu as ag,du as ah,ms as ai,Ia as aj,ji as b,za as c,Ns as d,Ya as e,Ea as f,$r as g,oe as h,ma as i,Ce as j,re as k,Tt as l,Di as m,Cs as n,$i as o,ai as p,ja as q,Wa as r,Va as s,Ha as t,xa as u,ga as v,ll as w,Yi as x,je as y,yi as z}; diff --git a/assets/chunks/theme.PCuizgpJ.js b/assets/chunks/theme.PCuizgpJ.js new file mode 100644 index 00000000..6a447456 --- /dev/null +++ b/assets/chunks/theme.PCuizgpJ.js @@ -0,0 +1,7 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/chunks/VPAlgoliaSearchBox.4HE5Jf3K.js","assets/chunks/framework.xR9aiOhR.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +import{d as _,o as a,c,r as l,n as M,a as F,t as I,b as $,w as d,T as ve,e as f,_ as k,u as Ue,i as Ge,f as je,g as pe,h as T,j as R,k as b,l as j,m as p,p as r,q as B,s as H,v as G,x as le,y as z,z as x,A as ee,B as ye,C as ze,D as Ke,E as K,F as A,G as E,H as Pe,I as te,J as m,K as W,L as Le,M as oe,N as Q,O as se,P as qe,Q as Ve,R as We,S as Re,U as Je,V as Se,W as Ye,X as Qe,Y as Xe,Z as we,$ as Ie,a0 as Ze,a1 as xe,a2 as et,a3 as tt}from"./framework.xR9aiOhR.js";const ot=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:M(["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=k(nt,[["__scopeId","data-v-c79a1216"]]),L=Ue;function rt(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 he(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(Ge(o)||o.startsWith("#")||!s.startsWith("http")||!je(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 fe=T(R?location.hash:"");R&&window.addEventListener("hashchange",()=>{fe.value=location.hash});function J({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:i}=L(),u=b(()=>{var v,g;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:((g=t.value.locales[n.value])==null?void 0:g.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:b(()=>Object.entries(t.value.locales).flatMap(([v,g])=>o&&u.value.label===g.label?[]:{text:g.label,link:it(g.link||(v==="root"?"/":`/${v}/`),i.value.i18nRouting!==!1&&e,s.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+fe.value})),currentLang:u}}function it(o,e,t,n){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const lt=o=>(B("data-v-f87ff6e4"),o=o(),H(),o),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>p("div",{class:"divider"},null,-1)),pt={class:"quote"},ht={class:"action"},ft=["href","aria-label"],_t=_({__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,v,g,y,w;return a(),c("div",ct,[p("p",ut,I(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),p("h1",dt,I(((v=r(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),vt,p("blockquote",pt,I(((g=r(t).notFound)==null?void 0:g.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",ht,[p("a",{class:"link",href:r(pe)(s.value),"aria-label":((y=r(t).notFound)==null?void 0:y.linkLabel)??"go to home"},I(((w=r(t).notFound)==null?void 0:w.linkText)??"Take me home"),9,ft)])])}}}),mt=k(_t,[["__scopeId","data-v-f87ff6e4"]]);function Te(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 kt(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 $t(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=le("(min-width: 960px)"),s=T(!1),i=b(()=>{const C=t.value.sidebar,N=e.value.relativePath;return C?Te(C,N):[]}),u=T(i.value);z(i,(C,N)=>{JSON.stringify(C)!==JSON.stringify(N)&&(u.value=i.value)});const h=b(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),v=b(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=b(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),y=b(()=>h.value&&n.value),w=b(()=>h.value?kt(u.value):[]);function S(){s.value=!0}function V(){s.value=!1}function P(){s.value?V():S()}return{isOpen:s,sidebar:u,sidebarGroups:w,hasSidebar:h,hasAside:g,leftAside:v,isSidebarEnabled:y,open:S,close:V,toggle:P}}function bt(o,e){let t;x(()=>{t=o.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",n)}),ee(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e}=L(),t=T(!1),n=b(()=>o.value.collapsed!=null),s=b(()=>!!o.value.link),i=T(!1),u=()=>{i.value=G(e.value.relativePath,o.value.link)};z([e,o,fe],u),j(u);const h=b(()=>i.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),v=b(()=>!!(o.value.items&&o.value.items.length));x(()=>{t.value=!!(n.value&&o.value.collapsed)}),ye(()=>{(i.value||h.value)&&(t.value=!1)});function g(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:s,isActiveLink:i,hasActiveLink:h,hasChildren:v,toggle:g}}function yt(){const{hasSidebar:o}=O(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:b(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ne(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 n=Number(t.tagName[1]);return{element:t,title:Pt(t),link:"#"+t.id,level:n}});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,[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;v--){const g=o[v];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),ze(()=>{u(location.hash)}),ee(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,v=window.innerHeight,g=document.body.offsetHeight,y=Math.abs(h+v-g)<1,w=de.map(({element:V,link:P})=>({link:P,top:St(V)})).filter(({top:V})=>!Number.isNaN(V)).sort((V,P)=>V.top-P.top);if(!w.length){u(null);return}if(h<1){u(null);return}if(y){u(w[w.length-1].link);return}let S=null;for(const{link:V,top:P}of w){if(P>h+Ke()+4)break;S=V}u(S)}function u(h){s&&s.classList.remove("active"),h==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const v=s;v?(v.classList.add("active"),e.value.style.top=v.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 wt=["href","title"],It=_({__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:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(A,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[p("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,wt),i!=null&&i.length?(a(),$(s,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Me=k(It,[["__scopeId","data-v-b933a997"]]),Tt=o=>(B("data-v-935f8a84"),o=o(),H(),o),Nt={class:"content"},Mt={class:"outline-title",role:"heading","aria-level":"2"},Ct={"aria-labelledby":"doc-outline-aria-label"},At=Tt(()=>p("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Bt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),n=Pe([]);te(()=>{n.value=_e(e.value.outline??t.value.outline)});const s=T(),i=T();return Vt(s,i),(u,h)=>(a(),c("div",{class:M(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:s,role:"navigation"},[p("div",Nt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",Mt,I(r(Ne)(r(t))),1),p("nav",Ct,[At,m(Me,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Ht=k(Bt,[["__scopeId","data-v-935f8a84"]]),Et={class:"VPDocAsideCarbonAds"},Ft=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(a(),c("div",Et,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Dt=o=>(B("data-v-3f215769"),o=o(),H(),o),Ot={class:"VPDocAside"},Ut=Dt(()=>p("div",{class:"spacer"},null,-1)),Gt=_({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,n)=>(a(),c("div",Ot,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Ht),l(t.$slots,"aside-outline-after",{},void 0,!0),Ut,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Ft,{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)]))}}),jt=k(Gt,[["__scopeId","data-v-3f215769"]]);function zt(){const{theme:o,page:e}=L();return b(()=>{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 Kt(){const{page:o,theme:e,frontmatter:t}=L();return b(()=>{var v,g,y,w,S,V,P,C;const n=Te(e.value.sidebar,o.value.relativePath),s=$t(n),i=s.findIndex(N=>G(o.value.relativePath,N.link)),u=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,h=((g=e.value.docFooter)==null?void 0:g.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)??((y=s[i-1])==null?void 0:y.docFooterText)??((w=s[i-1])==null?void 0:w.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=s[i-1])==null?void 0:S.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)??((V=s[i+1])==null?void 0:V.docFooterText)??((P=s[i+1])==null?void 0:P.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=s[i+1])==null?void 0:C.link)}}})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=b(()=>e.tag??(e.href?"a":"span")),n=b(()=>e.href&&Le.test(e.href));return(s,i)=>(a(),$(W(t.value),{class:M(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?r(he)(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"]))}}),qt={class:"VPLastUpdated"},Wt=["datetime"],Rt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:n,lang:s}=L(),i=b(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=b(()=>i.value.toISOString()),h=T("");return j(()=>{x(()=>{var v,g,y;h.value=new Intl.DateTimeFormat((g=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&g.forceLocale?s.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(v,g)=>{var y;return a(),c("p",qt,[F(I(((y=r(e).lastUpdated)==null?void 0:y.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:u.value},I(h.value),9,Wt)])}}}),Jt=k(Rt,[["__scopeId","data-v-7e05ebdb"]]),Yt=o=>(B("data-v-09de1c0f"),o=o(),H(),o),Qt={key:0,class:"VPDocFooter"},Xt={key:0,class:"edit-info"},Zt={key:0,class:"edit-link"},xt=Yt(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),eo={key:1,class:"last-updated"},to={key:1,class:"prev-next"},oo={class:"pager"},so=["innerHTML"],no=["innerHTML"],ao={class:"pager"},ro=["innerHTML"],io=["innerHTML"],lo=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=L(),s=zt(),i=Kt(),u=b(()=>e.value.editLink&&n.value.editLink!==!1),h=b(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=b(()=>u.value||h.value||i.value.prev||i.value.next);return(g,y)=>{var w,S,V,P;return v.value?(a(),c("footer",Qt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Xt,[u.value?(a(),c("div",Zt,[m(D,{class:"edit-link-button",href:r(s).url,"no-icon":!0},{default:d(()=>[xt,F(" "+I(r(s).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",eo,[m(Jt)])):f("",!0)])):f("",!0),(w=r(i).prev)!=null&&w.link||(S=r(i).next)!=null&&S.link?(a(),c("nav",to,[p("div",oo,[(V=r(i).prev)!=null&&V.link?(a(),$(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:d(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,so),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,no)]}),_:1},8,["href"])):f("",!0)]),p("div",ao,[(P=r(i).next)!=null&&P.link?(a(),$(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:d(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,ro),p("span",{class:"title",innerHTML:r(i).next.text},null,8,io)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),co=k(lo,[["__scopeId","data-v-09de1c0f"]]),uo=o=>(B("data-v-39a288b8"),o=o(),H(),o),vo={class:"container"},po=uo(()=>p("div",{class:"aside-curtain"},null,-1)),ho={class:"aside-container"},fo={class:"aside-content"},_o={class:"content"},mo={class:"content-container"},ko={class:"main"},$o=_({__name:"VPDoc",setup(o){const{theme:e}=L(),t=oe(),{hasSidebar:n,hasAside:s,leftAside:i}=O(),u=b(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,v)=>{const g=K("Content");return a(),c("div",{class:M(["VPDoc",{"has-sidebar":r(n),"has-aside":r(s)}])},[l(h.$slots,"doc-top",{},void 0,!0),p("div",vo,[r(s)?(a(),c("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[po,p("div",ho,[p("div",fo,[m(jt,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),p("div",_o,[p("div",mo,[l(h.$slots,"doc-before",{},void 0,!0),p("main",ko,[m(g,{class:M(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(co,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)}}}),bo=k($o,[["__scopeId","data-v-39a288b8"]]),go=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=b(()=>e.href&&Le.test(e.href)),n=b(()=>e.tag||e.href?"a":"button");return(s,i)=>(a(),$(W(n.value),{class:M(["VPButton",[s.size,s.theme]]),href:s.href?r(he)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[F(I(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),yo=k(go,[["__scopeId","data-v-cad61b99"]]),Po=["src","alt"],Lo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),c(A,{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,Po)):(a(),c(A,{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(Lo,[["__scopeId","data-v-8426fc1a"]]),Vo=o=>(B("data-v-303bb580"),o=o(),H(),o),So={class:"container"},wo={class:"main"},Io={key:0,class:"name"},To=["innerHTML"],No=["innerHTML"],Mo=["innerHTML"],Co={key:0,class:"actions"},Ao={key:0,class:"image"},Bo={class:"image-container"},Ho=Vo(()=>p("div",{class:"image-bg"},null,-1)),Eo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=se("hero-image-slot-exists");return(t,n)=>(a(),c("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[p("div",So,[p("div",wo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",Io,[p("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,No)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Mo)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Co,[(a(!0),c(A,null,E(t.actions,s=>(a(),c("div",{key:s.link,class:"action"},[m(yo,{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",Ao,[p("div",Bo,[Ho,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Fo=k(Eo,[["__scopeId","data-v-303bb580"]]),Do=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,n)=>r(e).hero?(a(),$(Fo,{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)}}),Oo=o=>(B("data-v-a3976bdc"),o=o(),H(),o),Uo={class:"box"},Go={key:0,class:"icon"},jo=["innerHTML"],zo=["innerHTML"],Ko=["innerHTML"],qo={key:4,class:"link-text"},Wo={class:"link-text-value"},Ro=Oo(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Jo=_({__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(()=>[p("article",Uo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Go,[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(),$(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,jo)):f("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,zo),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Ko)):f("",!0),e.linkText?(a(),c("div",qo,[p("p",Wo,[F(I(e.linkText)+" ",1),Ro])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Yo=k(Jo,[["__scopeId","data-v-a3976bdc"]]),Qo={key:0,class:"VPFeatures"},Xo={class:"container"},Zo={class:"items"},xo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=b(()=>{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",Qo,[p("div",Xo,[p("div",Zo,[(a(!0),c(A,null,E(n.features,i=>(a(),c("div",{key:i.title,class:M(["item",[t.value]])},[m(Yo,{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)}}),es=k(xo,[["__scopeId","data-v-a6181336"]]),ts=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,n)=>r(e).features?(a(),$(es,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),os=_({__name:"VPHomeContent",setup(o){const{width:e}=qe({includeScrollbar:!1});return(t,n)=>(a(),c("div",{class:"vp-doc container",style:Ve(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),ss=k(os,[["__scopeId","data-v-82d4af08"]]),ns={class:"VPHome"},as=_({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,n)=>{const s=K("Content");return a(),c("div",ns,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Do,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(ts),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(ss,{key:0},{default:d(()=>[m(s)]),_:1})):(a(),$(s,{key:1}))])}}}),rs=k(as,[["__scopeId","data-v-686f80a6"]]),is={},ls={class:"VPPage"};function cs(o,e){const t=K("Content");return a(),c("div",ls,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const us=k(is,[["render",cs]]),ds=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:n}=O();return(s,i)=>(a(),c("div",{class:M(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(s.$slots,"not-found",{key:0},()=>[m(mt)],!0):r(t).layout==="page"?(a(),$(us,{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(),$(rs,{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(),$(W(r(t).layout),{key:3})):(a(),$(bo,{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))}}),vs=k(ds,[["__scopeId","data-v-1428d186"]]),ps={class:"container"},hs=["innerHTML"],fs=["innerHTML"],_s=_({__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:M(["VPFooter",{"has-sidebar":r(n)}])},[p("div",ps,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,hs)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,fs)):f("",!0)])],2)):f("",!0)}}),ms=k(_s,[["__scopeId","data-v-e315a0ad"]]);function Ce(){const{theme:o,frontmatter:e}=L(),t=Pe([]),n=b(()=>t.value.length>0);return te(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const ks=o=>(B("data-v-d2ecc192"),o=o(),H(),o),$s=ks(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),bs={class:"header"},gs={class:"outline"},ys=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),n=T(!1),s=T(0),i=T(),u=T();We(i,()=>{n.value=!1}),Re("Escape",()=>{n.value=!1}),te(()=>{n.value=!1});function h(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function v(y){y.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),Je(()=>{n.value=!1}))}function g(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,w)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Ve({"--vp-vh":s.value+"px"}),ref_key:"main",ref:i},[y.headers.length>0?(a(),c("button",{key:0,onClick:h,class:M({open:n.value})},[F(I(r(Ne)(r(t)))+" ",1),$s],2)):(a(),c("button",{key:1,onClick:g},I(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:v},[p("div",bs,[p("a",{class:"top-link",href:"#",onClick:g},I(r(t).returnToTopLabel||"Return to top"),1)]),p("div",gs,[m(Me,{headers:y.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Ps=k(ys,[["__scopeId","data-v-d2ecc192"]]),Ls=o=>(B("data-v-a6f0e41e"),o=o(),H(),o),Vs={class:"container"},Ss=["aria-expanded"],ws=Ls(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Is={class:"menu-text"},Ts=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=O(),{headers:s}=Ce(),{y:i}=Se(),u=T(0);j(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),te(()=>{s.value=_e(t.value.outline??e.value.outline)});const h=b(()=>s.value.length===0),v=b(()=>h.value&&!n.value),g=b(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:v.value}));return(y,w)=>r(t).layout!=="home"&&(!v.value||r(i)>=u.value)?(a(),c("div",{key:0,class:M(g.value)},[p("div",Vs,[r(n)?(a(),c("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:w[0]||(w[0]=S=>y.$emit("open-menu"))},[ws,p("span",Is,I(r(e).sidebarMenuLabel||"Menu"),1)],8,Ss)):f("",!0),m(Ps,{headers:r(s),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Ns=k(Ts,[["__scopeId","data-v-a6f0e41e"]]);function Ms(){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=oe();return z(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const Cs={},As={class:"VPSwitch",type:"button",role:"switch"},Bs={class:"check"},Hs={key:0,class:"icon"};function Es(o,e){return a(),c("button",As,[p("span",Bs,[o.$slots.default?(a(),c("span",Hs,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Fs=k(Cs,[["render",Es],["__scopeId","data-v-1d5665e3"]]),Ae=o=>(B("data-v-d1f28634"),o=o(),H(),o),Ds=Ae(()=>p("span",{class:"vpi-sun sun"},null,-1)),Os=Ae(()=>p("span",{class:"vpi-moon moon"},null,-1)),Us=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),n=se("toggle-appearance",()=>{e.value=!e.value}),s=b(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),$(Fs,{title:s.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:d(()=>[Ds,Os]),_:1},8,["title","aria-checked","onClick"]))}}),me=k(Us,[["__scopeId","data-v-d1f28634"]]),Gs={key:0,class:"VPNavBarAppearance"},js=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",Gs,[m(me)])):f("",!0)}}),zs=k(js,[["__scopeId","data-v-e6aabb21"]]),ke=T();let Be=!1,ie=0;function Ks(o){const e=T(!1);if(R){!Be&&qs(),ie++;const t=z(ke,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))});ee(()=>{t(),ie--,ie||Ws()})}return Ye(e)}function qs(){document.addEventListener("focusin",He),Be=!0,ke.value=document.activeElement}function Ws(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const Rs={class:"VPMenuLink"},Js=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),c("div",Rs,[m(D,{class:M({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(()=>[F(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=k(Js,[["__scopeId","data-v-43f1e123"]]),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(A,null,E(e.items,n=>(a(),c(A,null,["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Zs=k(Xs,[["__scopeId","data-v-69e747b5"]]),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(A,null,E(e.items,n=>(a(),c(A,{key:n.text},["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):(a(),$(Zs,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),on=k(tn,[["__scopeId","data-v-e7ea1737"]]),sn=o=>(B("data-v-b6c34ac9"),o=o(),H(),o),nn=["aria-expanded","aria-label"],an={key:0,class:"text"},rn=["innerHTML"],ln=sn(()=>p("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=T(!1),t=T();Ks({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)},[p("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",an,[s.icon?(a(),c("span",{key:0,class:M([s.icon,"option-icon"])},null,2)):f("",!0),s.button?(a(),c("span",{key:1,innerHTML:s.button},null,8,rn)):f("",!0),ln])):(a(),c("span",cn))],8,nn),p("div",un,[m(on,{items:s.items},{default:d(()=>[l(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=k(dn,[["__scopeId","data-v-b6c34ac9"]]),vn=["href","aria-label","innerHTML"],pn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=b(()=>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,vn))}}),hn=k(pn,[["__scopeId","data-v-eee4e7cb"]]),fn={class:"VPSocialLinks"},_n=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",fn,[(a(!0),c(A,null,E(e.links,({link:n,icon:s,ariaLabel:i})=>(a(),$(hn,{key:n,icon:s,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=k(_n,[["__scopeId","data-v-7bc22406"]]),mn={key:0,class:"group translations"},kn={class:"trans-title"},$n={key:1,class:"group"},bn={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:n,currentLang:s}=J({correspondingLink:!0}),i=b(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[r(n).length&&r(s).label?(a(),c("div",mn,[p("p",kn,I(r(s).label),1),(a(!0),c(A,null,E(r(n),v=>(a(),$(ne,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",$n,[p("div",bn,[p("p",gn,I(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",yn,[m(me)])])])):f("",!0),r(t).socialLinks?(a(),c("div",Pn,[p("div",Ln,[m(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Sn=k(Vn,[["__scopeId","data-v-d0bd9dde"]]),wn=o=>(B("data-v-e5dd9c1c"),o=o(),H(),o),In=["aria-expanded"],Tn=wn(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Nn=[Tn],Mn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},Nn,10,In))}}),Cn=k(Mn,[["__scopeId","data-v-e5dd9c1c"]]),An=["innerHTML"],Bn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),$(D,{class:M({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(()=>[p("span",{innerHTML:t.item.text},null,8,An)]),_:1},8,["class","href","target","rel"]))}}),Hn=k(Bn,[["__scopeId","data-v-42ef59de"]]),En=_({__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=b(()=>n(e.item));return(i,u)=>(a(),$($e,{class:M({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"]))}}),Fn=o=>(B("data-v-7f418b0f"),o=o(),H(),o),Dn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},On=Fn(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Un=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,n)=>r(e).nav?(a(),c("nav",Dn,[On,(a(!0),c(A,null,E(r(e).nav,s=>(a(),c(A,{key:s.text},["link"in s?(a(),$(Hn,{key:0,item:s},null,8,["item"])):(a(),$(En,{key:1,item:s},null,8,["item"]))],64))),128))])):f("",!0)}}),Gn=k(Un,[["__scopeId","data-v-7f418b0f"]]);function jn(o){const{localeIndex:e,theme:t}=L();function n(s){var P,C,N;const i=s.split("."),u=(P=t.value.search)==null?void 0:P.options,h=u&&typeof u=="object",v=h&&((N=(C=u.locales)==null?void 0:C[e.value])==null?void 0:N.translations)||null,g=h&&u.translations||null;let y=v,w=g,S=o;const V=i.pop();for(const Y of i){let U=null;const q=S==null?void 0:S[Y];q&&(U=S=q);const ae=w==null?void 0:w[Y];ae&&(U=w=ae);const re=y==null?void 0:y[Y];re&&(U=y=re),q||(S=U),ae||(w=U),re||(y=U)}return(y==null?void 0:y[V])??(w==null?void 0:w[V])??(S==null?void 0:S[V])??""}return n}const zn=["aria-label"],Kn={class:"DocSearch-Button-Container"},qn=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Wn={class:"DocSearch-Button-Placeholder"},Rn=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ge=_({__name:"VPNavBarSearchButton",setup(o){const t=jn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Kn,[qn,p("span",Wn,I(r(t)("button.buttonText")),1)]),Rn],8,zn))}}),Jn={class:"VPNavBarSearch"},Yn={id:"local-search"},Qn={key:1,id:"docsearch"},Xn=_({__name:"VPNavBarSearch",setup(o){const e=()=>null,t=Qe(()=>Xe(()=>import("./VPAlgoliaSearchBox.4HE5Jf3K.js"),__vite__mapDeps([0,1]))),{theme:n}=L(),s=T(!1),i=T(!1),u=()=>{const S="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{var C;const P=document.createElement("link");P.id=S,P.rel="preconnect",P.href=`https://${(((C=n.value.search)==null?void 0:C.options)??n.value.algolia).appId}-dsn.algolia.net`,P.crossOrigin="",document.head.appendChild(P)})};j(()=>{u();const S=P=>{(P.key.toLowerCase()==="k"&&(P.metaKey||P.ctrlKey)||!g(P)&&P.key==="/")&&(P.preventDefault(),h(),V())},V=()=>{window.removeEventListener("keydown",S)};window.addEventListener("keydown",S),ee(V)});function h(){s.value||(s.value=!0,setTimeout(v,16))}function v(){const S=new Event("keydown");S.key="k",S.metaKey=!0,window.dispatchEvent(S),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function g(S){const V=S.target,P=V.tagName;return V.isContentEditable||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"}const y=T(!1),w="algolia";return(S,V)=>{var P;return a(),c("div",Jn,[r(w)==="local"?(a(),c(A,{key:0},[y.value?(a(),$(r(e),{key:0,onClose:V[0]||(V[0]=C=>y.value=!1)})):f("",!0),p("div",Yn,[m(ge,{onClick:V[1]||(V[1]=C=>y.value=!0)})])],64)):r(w)==="algolia"?(a(),c(A,{key:1},[s.value?(a(),$(r(t),{key:0,algolia:((P=r(n).search)==null?void 0:P.options)??r(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=C=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",Qn,[m(ge,{onClick:h})]))],64)):f("",!0)])}}}),Zn=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>r(e).socialLinks?(a(),$(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),xn=k(Zn,[["__scopeId","data-v-0394ad82"]]),ea=["href","rel","target"],ta={key:1},oa={key:2},sa=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:n}=O(),{currentLang:s}=J(),i=b(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),u=b(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),h=b(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,g)=>(a(),c("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(n)}])},[p("a",{class:"title",href:i.value??r(he)(r(s).link),rel:u.value,target:h.value},[l(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(Z,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",ta,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",oa,I(r(e).title),1)):f("",!0),l(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,ea)],2))}}),na=k(sa,[["__scopeId","data-v-ab179fa1"]]),aa={class:"items"},ra={class:"title"},ia=_({__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(),$($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:d(()=>[p("div",aa,[p("p",ra,I(r(n).label),1),(a(!0),c(A,null,E(r(t),u=>(a(),$(ne,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),la=k(ia,[["__scopeId","data-v-88af2de4"]]),ca=o=>(B("data-v-19c990f1"),o=o(),H(),o),ua={class:"wrapper"},da={class:"container"},va={class:"title"},pa={class:"content"},ha={class:"content-body"},fa=ca(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),_a=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Se(),{hasSidebar:t}=O(),{hasLocalNav:n}=Ce(),{frontmatter:s}=L(),i=T({});return ye(()=>{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:M(["VPNavBar",i.value])},[p("div",ua,[p("div",da,[p("div",va,[m(na,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})]),p("div",pa,[p("div",ha,[l(u.$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(u.$slots,"nav-bar-content-after",{},void 0,!0),m(Cn,{class:"hamburger",active:u.isScreenOpen,onClick:h[0]||(h[0]=v=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),fa],2))}}),ma=k(_a,[["__scopeId","data-v-19c990f1"]]),ka={key:0,class:"VPNavScreenAppearance"},$a={class:"text"},ba=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(n,s)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",ka,[p("p",$a,I(r(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):f("",!0)}}),ga=k(ba,[["__scopeId","data-v-2d7af913"]]),ya=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=se("close-screen");return(t,n)=>(a(),$(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[F(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Pa=k(ya,[["__scopeId","data-v-05f27b2a"]]),La=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=se("close-screen");return(t,n)=>(a(),$(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[F(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=k(La,[["__scopeId","data-v-19976ae1"]]),Va={class:"VPNavScreenMenuGroupSection"},Sa={key:0,class:"title"},wa=_({__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(A,null,E(e.items,n=>(a(),$(Ee,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Ia=k(wa,[["__scopeId","data-v-8133b170"]]),Ta=o=>(B("data-v-ff6087d4"),o=o(),H(),o),Na=["aria-controls","aria-expanded"],Ma=["innerHTML"],Ca=Ta(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),Aa=["id"],Ba={key:1,class:"group"},Ha=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=T(!1),n=b(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[p("span",{class:"button-text",innerHTML:i.text},null,8,Ma),Ca],8,Na),p("div",{id:n.value,class:"items"},[(a(!0),c(A,null,E(i.items,h=>(a(),c(A,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Ee,{item:h},null,8,["item"])])):(a(),c("div",Ba,[m(Ia,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Aa)],2))}}),Ea=k(Ha,[["__scopeId","data-v-ff6087d4"]]),Fa={key:0,class:"VPNavScreenMenu"},Da=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,n)=>r(e).nav?(a(),c("nav",Fa,[(a(!0),c(A,null,E(r(e).nav,s=>(a(),c(A,{key:s.text},["link"in s?(a(),$(Pa,{key:0,item:s},null,8,["item"])):(a(),$(Ea,{key:1,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Oa=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>r(e).socialLinks?(a(),$(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Fe=o=>(B("data-v-858fe1a4"),o=o(),H(),o),Ua=Fe(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Ga=Fe(()=>p("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}),n=T(!1);function s(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:M(["VPNavScreenTranslations",{open:n.value}])},[p("button",{class:"title",onClick:s},[Ua,F(" "+I(r(t).label)+" ",1),Ga]),p("ul",ja,[(a(!0),c(A,null,E(r(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)}}),Ka=k(za,[["__scopeId","data-v-858fe1a4"]]),qa={class:"container"},Wa=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=T(null),t=we(R?document.body:null);return(n,s)=>(a(),$(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"},[p("div",qa,[l(n.$slots,"nav-screen-content-before",{},void 0,!0),m(Da,{class:"menu"}),m(Ka,{class:"translations"}),m(ga,{class:"appearance"}),m(Oa,{class:"social-links"}),l(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ra=k(Wa,[["__scopeId","data-v-cc5739dd"]]),Ja={key:0,class:"VPNav"},Ya=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Ms(),{frontmatter:s}=L(),i=b(()=>s.value.navbar!==!1);return Ie("close-screen",t),x(()=>{R&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Ja,[m(ma,{"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(Ra,{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)}}),Qa=k(Ya,[["__scopeId","data-v-ae24b3ad"]]),De=o=>(B("data-v-93e7e794"),o=o(),H(),o),Xa=["role","tabindex"],Za=De(()=>p("div",{class:"indicator"},null,-1)),xa=De(()=>p("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:n,isLink:s,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:v}=gt(b(()=>e.item)),g=b(()=>h.value?"section":"div"),y=b(()=>s.value?"a":"div"),w=b(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=b(()=>s.value?void 0:"button"),V=b(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":i.value},{"has-active":u.value}]);function P(N){"key"in N&&N.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(N,Y)=>{const U=K("VPSidebarItem",!0);return a(),$(W(g.value),{class:M(["VPSidebarItem",V.value])},{default:d(()=>[N.item.text?(a(),c("div",Q({key:0,class:"item",role:S.value},xe(N.item.items?{click:P,keydown:P}:{},!0),{tabindex:N.item.items&&0}),[Za,N.item.link?(a(),$(D,{key:0,tag:y.value,class:"link",href:N.item.link,rel:N.item.rel,target:N.item.target},{default:d(()=>[(a(),$(W(w.value),{class:"text",innerHTML:N.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(W(w.value),{key:1,class:"text",innerHTML:N.item.text},null,8,["innerHTML"])),N.item.collapsed!=null?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Ze(C,["enter"]),tabindex:"0"},er,32)):f("",!0)],16,Xa)):f("",!0),N.item.items&&N.item.items.length?(a(),c("div",tr,[N.depth<5?(a(!0),c(A,{key:0},E(N.item.items,q=>(a(),$(U,{key:q.text,item:q,depth:N.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),sr=k(or,[["__scopeId","data-v-93e7e794"]]),Oe=o=>(B("data-v-575e6a36"),o=o(),H(),o),nr=Oe(()=>p("div",{class:"curtain"},null,-1)),ar={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},rr=Oe(()=>p("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(),n=o,s=T(null),i=we(R?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:M(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:s,onClick:h[0]||(h[0]=et(()=>{},["stop"]))},[nr,p("nav",ar,[rr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(A,null,E(r(e),v=>(a(),c("div",{key:v.text,class:"group"},[m(sr,{item:v,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),lr=k(ir,[["__scopeId","data-v-575e6a36"]]),cr=_({__name:"VPSkipLink",setup(o){const e=oe(),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(A,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),ur=k(cr,[["__scopeId","data-v-0f60ec36"]]),dr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=O(),s=oe();z(()=>s.path,n),bt(e,n);const{frontmatter:i}=L(),u=tt(),h=b(()=>!!u["home-hero-image"]);return Ie("hero-image-slot-exists",h),(v,g)=>{const y=K("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:M(["Layout",r(i).pageClass])},[l(v.$slots,"layout-top",{},void 0,!0),m(ur),m(at,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),m(Qa,null,{"nav-bar-title-before":d(()=>[l(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Ns,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(lr,{open:r(e)},{"sidebar-nav-before":d(()=>[l(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(vs,null,{"page-top":d(()=>[l(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(ms),l(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(y,{key:1}))}}}),vr=k(dr,[["__scopeId","data-v-5d98c3a5"]]),hr={Layout:vr,enhanceApp:({app:o})=>{o.component("Badge",ot)}};export{hr as t,L as u}; diff --git a/assets/chunks/theme.m-TXCiQU.js b/assets/chunks/theme.m-TXCiQU.js deleted file mode 100644 index 7c0759ab..00000000 --- a/assets/chunks/theme.m-TXCiQU.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as g,o as a,c as l,r as d,n as A,a as H,t as M,b as k,w as p,T as ve,e as f,_ as m,u as De,i as Oe,f as xe,g as he,h as C,j as q,k as $,l as G,m as u,p as r,q as E,s as F,v as U,x as le,y as j,z as Q,A as ee,B as ye,C as Ue,D as Ge,E as K,F as T,G as B,H as we,I as te,J as _,K as x,L as Pe,M as se,N as J,O as ne,P as je,Q as Ke,R as Re,S as qe,U as Ve,V as We,W as Ye,X as Je,Y as Xe,Z as Le,$ as Se,a0 as Ze,a1 as Qe,a2 as et,a3 as tt}from"./framework.HmH449Dw.js";const st=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),l("span",{class:A(["VPBadge",e.type])},[d(e.$slots,"default",{},()=>[H(M(e.text),1)])],2))}}),nt={key:0,class:"VPBackdrop"},ot=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ve,{name:"fade"},{default:p(()=>[e.show?(a(),l("div",nt)):f("",!0)]),_:1}))}}),at=m(ot,[["__scopeId","data-v-c79a1216"]]),P=De;function rt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(s){return/^\//.test(s)?s:`/${s}`}function pe(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(Oe(s)||s.startsWith("#")||!o.startsWith("http")||!xe(e))return s;const{site:i}=P(),c=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return he(c)}const _e=C(q?location.hash:"");q&&window.addEventListener("hashchange",()=>{_e.value=location.hash});function W({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:i}=P(),c=$(()=>{var v,b;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:((b=t.value.locales[n.value])==null?void 0:b.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:$(()=>Object.entries(t.value.locales).flatMap(([v,b])=>s&&c.value.label===b.label?[]:{text:b.label,link:it(b.link||(v==="root"?"/":`/${v}/`),i.value.i18nRouting!==!1&&e,o.value.relativePath.slice(c.value.link.length-1),!t.value.cleanUrls)+_e.value})),currentLang:c}}function it(s,e,t,n){return e?s.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const lt=s=>(E("data-v-f87ff6e4"),s=s(),F(),s),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>u("div",{class:"divider"},null,-1)),ht={class:"quote"},pt={class:"action"},_t=["href","aria-label"],ft=g({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=W({removeCurrent:!1}),o=C("/");return G(()=>{var c;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((c=n.value.find(({link:h})=>h.startsWith(i)))==null?void 0:c.link)||n.value[0].link)}),(i,c)=>{var h,v,b,y,S;return a(),l("div",ct,[u("p",ut,M(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),u("h1",dt,M(((v=r(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),vt,u("blockquote",ht,M(((b=r(t).notFound)==null?void 0:b.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),u("div",pt,[u("a",{class:"link",href:r(he)(o.value),"aria-label":((y=r(t).notFound)==null?void 0:y.linkLabel)??"go to home"},M(((S=r(t).notFound)==null?void 0:S.linkText)??"Take me home"),9,_t)])])}}}),mt=m(ft,[["__scopeId","data-v-f87ff6e4"]]);function Me(s,e){if(Array.isArray(s))return X(s);if(s==null)return[];e=ce(e);const t=Object.keys(s).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ce(o))),n=t?s[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function gt(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function kt(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ue(s,e){return Array.isArray(e)?e.some(t=>ue(s,t)):U(s,e.link)?!0:e.items?ue(s,e.items):!1}function X(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=X(n.items,o)),n})}function D(){const{frontmatter:s,page:e,theme:t}=P(),n=le("(min-width: 960px)"),o=C(!1),i=$(()=>{const N=t.value.sidebar,I=e.value.relativePath;return N?Me(N,I):[]}),c=C(i.value);j(i,(N,I)=>{JSON.stringify(N)!==JSON.stringify(I)&&(c.value=i.value)});const h=$(()=>s.value.sidebar!==!1&&c.value.length>0&&s.value.layout!=="home"),v=$(()=>b?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),b=$(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),y=$(()=>h.value&&n.value),S=$(()=>h.value?gt(c.value):[]);function L(){o.value=!0}function V(){o.value=!1}function w(){o.value?V():L()}return{isOpen:o,sidebar:c,sidebarGroups:S,hasSidebar:h,hasAside:b,leftAside:v,isSidebarEnabled:y,open:L,close:V,toggle:w}}function $t(s,e){let t;Q(()=>{t=s.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",n)}),ee(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function bt(s){const{page:e}=P(),t=C(!1),n=$(()=>s.value.collapsed!=null),o=$(()=>!!s.value.link),i=C(!1),c=()=>{i.value=U(e.value.relativePath,s.value.link)};j([e,s,_e],c),G(c);const h=$(()=>i.value?!0:s.value.items?ue(e.value.relativePath,s.value.items):!1),v=$(()=>!!(s.value.items&&s.value.items.length));Q(()=>{t.value=!!(n.value&&s.value.collapsed)}),ye(()=>{(i.value||h.value)&&(t.value=!1)});function b(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:h,hasChildren:v,toggle:b}}function yt(){const{hasSidebar:s}=D(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:$(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const de=[];function Ce(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function fe(s){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:wt(t),link:"#"+t.id,level:n}});return Pt(e,s)}function wt(s){let e="";for(const t of s.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 Pt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(c=>c.level>=n&&c.level<=o),de.length=0;for(const{element:c,link:h}of s)de.push({element:c,link:h});const i=[];e:for(let c=0;c=0;v--){const b=s[v];if(b.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),Ue(()=>{c(location.hash)}),ee(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,v=window.innerHeight,b=document.body.offsetHeight,y=Math.abs(h+v-b)<1,S=de.map(({element:V,link:w})=>({link:w,top:Lt(V)})).filter(({top:V})=>!Number.isNaN(V)).sort((V,w)=>V.top-w.top);if(!S.length){c(null);return}if(h<1){c(null);return}if(y){c(S[S.length-1].link);return}let L=null;for(const{link:V,top:w}of S){if(w>h+Ge()+4)break;L=V}c(L)}function c(h){o&&o.classList.remove("active"),h==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}const St=["href","title"],Mt=g({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function e({target:t}){const n=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(n));o==null||o.focus({preventScroll:!0})}return(t,n)=>{const o=K("VPDocOutlineItem",!0);return a(),l("ul",{class:A(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(T,null,B(t.headers,({children:i,link:c,title:h})=>(a(),l("li",null,[u("a",{class:"outline-link",href:c,onClick:e,title:h},M(h),9,St),i!=null&&i.length?(a(),k(o,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ie=m(Mt,[["__scopeId","data-v-b933a997"]]),Ct=s=>(E("data-v-935f8a84"),s=s(),F(),s),It={class:"content"},Tt={class:"outline-title",role:"heading","aria-level":"2"},Nt={"aria-labelledby":"doc-outline-aria-label"},At=Ct(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Bt=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=we([]);te(()=>{n.value=fe(e.value.outline??t.value.outline)});const o=C(),i=C();return Vt(o,i),(c,h)=>(a(),l("div",{class:A(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[u("div",It,[u("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),u("div",Tt,M(r(Ce)(r(t))),1),u("nav",Nt,[At,_(Ie,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Ht=m(Bt,[["__scopeId","data-v-935f8a84"]]),zt={class:"VPDocAsideCarbonAds"},Et=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),l("div",zt,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ft=s=>(E("data-v-3f215769"),s=s(),F(),s),Dt={class:"VPDocAside"},Ot=Ft(()=>u("div",{class:"spacer"},null,-1)),xt=g({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),l("div",Dt,[d(t.$slots,"aside-top",{},void 0,!0),d(t.$slots,"aside-outline-before",{},void 0,!0),_(Ht),d(t.$slots,"aside-outline-after",{},void 0,!0),Ot,d(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Et,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),d(t.$slots,"aside-ads-after",{},void 0,!0),d(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ut=m(xt,[["__scopeId","data-v-3f215769"]]);function Gt(){const{theme:s,page:e}=P();return $(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function jt(){const{page:s,theme:e,frontmatter:t}=P();return $(()=>{var v,b,y,S,L,V,w,N;const n=Me(e.value.sidebar,s.value.relativePath),o=kt(n),i=o.findIndex(I=>U(s.value.relativePath,I.link)),c=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,h=((b=e.value.docFooter)==null?void 0:b.next)===!1&&!t.value.next||t.value.next===!1;return{prev:c?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((y=o[i-1])==null?void 0:y.docFooterText)??((S=o[i-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((L=o[i-1])==null?void 0:L.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)??((V=o[i+1])==null?void 0:V.docFooterText)??((w=o[i+1])==null?void 0:w.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((N=o[i+1])==null?void 0:N.link)}}})}const Kt={},Rt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},qt=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Wt=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Yt=[qt,Wt];function Jt(s,e){return a(),l("svg",Rt,Yt)}const Xt=m(Kt,[["render",Jt]]),z=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=$(()=>e.tag??(e.href?"a":"span")),n=$(()=>e.href&&Pe.test(e.href));return(o,i)=>(a(),k(x(t.value),{class:A(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?r(pe)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:p(()=>[d(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Zt={class:"VPLastUpdated"},Qt=["datetime"],es=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),i=$(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),c=$(()=>i.value.toISOString()),h=C("");return G(()=>{Q(()=>{var v,b,y;h.value=new Intl.DateTimeFormat((b=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&b.forceLocale?o.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(v,b)=>{var y;return a(),l("p",Zt,[H(M(((y=r(e).lastUpdated)==null?void 0:y.text)||r(e).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:c.value},M(h.value),9,Qt)])}}}),ts=m(es,[["__scopeId","data-v-7e05ebdb"]]),ss={key:0,class:"VPDocFooter"},ns={key:0,class:"edit-info"},os={key:0,class:"edit-link"},as={key:1,class:"last-updated"},rs={key:1,class:"prev-next"},is={class:"pager"},ls=["innerHTML"],cs=["innerHTML"],us={class:"pager"},ds=["innerHTML"],vs=["innerHTML"],hs=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Gt(),i=jt(),c=$(()=>e.value.editLink&&n.value.editLink!==!1),h=$(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=$(()=>c.value||h.value||i.value.prev||i.value.next);return(b,y)=>{var S,L,V,w;return v.value?(a(),l("footer",ss,[d(b.$slots,"doc-footer-before",{},void 0,!0),c.value||h.value?(a(),l("div",ns,[c.value?(a(),l("div",os,[_(z,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:p(()=>[_(Xt,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+M(r(o).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),l("div",as,[_(ts)])):f("",!0)])):f("",!0),(S=r(i).prev)!=null&&S.link||(L=r(i).next)!=null&&L.link?(a(),l("nav",rs,[u("div",is,[(V=r(i).prev)!=null&&V.link?(a(),k(z,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var N;return[u("span",{class:"desc",innerHTML:((N=r(e).docFooter)==null?void 0:N.prev)||"Previous page"},null,8,ls),u("span",{class:"title",innerHTML:r(i).prev.text},null,8,cs)]}),_:1},8,["href"])):f("",!0)]),u("div",us,[(w=r(i).next)!=null&&w.link?(a(),k(z,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var N;return[u("span",{class:"desc",innerHTML:((N=r(e).docFooter)==null?void 0:N.next)||"Next page"},null,8,ds),u("span",{class:"title",innerHTML:r(i).next.text},null,8,vs)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),ps=m(hs,[["__scopeId","data-v-48f9bb55"]]),_s=s=>(E("data-v-39a288b8"),s=s(),F(),s),fs={class:"container"},ms=_s(()=>u("div",{class:"aside-curtain"},null,-1)),gs={class:"aside-container"},ks={class:"aside-content"},$s={class:"content"},bs={class:"content-container"},ys={class:"main"},ws=g({__name:"VPDoc",setup(s){const{theme:e}=P(),t=se(),{hasSidebar:n,hasAside:o,leftAside:i}=D(),c=$(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,v)=>{const b=K("Content");return a(),l("div",{class:A(["VPDoc",{"has-sidebar":r(n),"has-aside":r(o)}])},[d(h.$slots,"doc-top",{},void 0,!0),u("div",fs,[r(o)?(a(),l("div",{key:0,class:A(["aside",{"left-aside":r(i)}])},[ms,u("div",gs,[u("div",ks,[_(Ut,null,{"aside-top":p(()=>[d(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),u("div",$s,[u("div",bs,[d(h.$slots,"doc-before",{},void 0,!0),u("main",ys,[_(b,{class:A(["vp-doc",[c.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(ps,null,{"doc-footer-before":p(()=>[d(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(h.$slots,"doc-after",{},void 0,!0)])])]),d(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Ps=m(ws,[["__scopeId","data-v-39a288b8"]]),Vs=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=$(()=>e.href&&Pe.test(e.href)),n=$(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),k(x(n.value),{class:A(["VPButton",[o.size,o.theme]]),href:o.href?r(pe)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:p(()=>[H(M(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ls=m(Vs,[["__scopeId","data-v-c1c5efc1"]]),Ss=["src","alt"],Ms=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),l(T,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",J({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Ss)):(a(),l(T,{key:1},[_(n,J({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(n,J({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Z=m(Ms,[["__scopeId","data-v-8426fc1a"]]),Cs=s=>(E("data-v-da5d1713"),s=s(),F(),s),Is={class:"container"},Ts={class:"main"},Ns={key:0,class:"name"},As=["innerHTML"],Bs=["innerHTML"],Hs=["innerHTML"],zs={key:0,class:"actions"},Es={key:0,class:"image"},Fs={class:"image-container"},Ds=Cs(()=>u("div",{class:"image-bg"},null,-1)),Os=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=ne("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:A(["VPHero",{"has-image":t.image||r(e)}])},[u("div",Is,[u("div",Ts,[d(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Ns,[u("span",{innerHTML:t.name,class:"clip"},null,8,As)])):f("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,Bs)):f("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Hs)):f("",!0)],!0),t.actions?(a(),l("div",zs,[(a(!0),l(T,null,B(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[_(Ls,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||r(e)?(a(),l("div",Es,[u("div",Fs,[Ds,d(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),xs=m(Os,[["__scopeId","data-v-da5d1713"]]),Us=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).hero?(a(),k(xs,{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":p(()=>[d(t.$slots,"home-hero-info")]),"home-hero-image":p(()=>[d(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Gs={},js={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Ks=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Rs=[Ks];function qs(s,e){return a(),l("svg",js,Rs)}const Ws=m(Gs,[["render",qs]]),Ys={class:"box"},Js={key:0,class:"icon"},Xs=["innerHTML"],Zs=["innerHTML"],Qs=["innerHTML"],en={key:4,class:"link-text"},tn={class:"link-text-value"},sn=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(z,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[u("article",Ys,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Js,[_(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(),k(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(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Xs)):f("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,Zs),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,Qs)):f("",!0),e.linkText?(a(),l("div",en,[u("p",tn,[H(M(e.linkText)+" ",1),_(Ws,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),nn=m(sn,[["__scopeId","data-v-33204567"]]),on={key:0,class:"VPFeatures"},an={class:"container"},rn={class:"items"},ln=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=$(()=>{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,o)=>n.features?(a(),l("div",on,[u("div",an,[u("div",rn,[(a(!0),l(T,null,B(n.features,i=>(a(),l("div",{key:i.title,class:A(["item",[t.value]])},[_(nn,{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)}}),cn=m(ln,[["__scopeId","data-v-a6181336"]]),un=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).features?(a(),k(cn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),dn={class:"VPHome"},vn=g({__name:"VPHome",setup(s){return(e,t)=>{const n=K("Content");return a(),l("div",dn,[d(e.$slots,"home-hero-before",{},void 0,!0),_(Us,null,{"home-hero-info":p(()=>[d(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(e.$slots,"home-hero-after",{},void 0,!0),d(e.$slots,"home-features-before",{},void 0,!0),_(un),d(e.$slots,"home-features-after",{},void 0,!0),_(n)])}}}),hn=m(vn,[["__scopeId","data-v-d82743a8"]]),pn={},_n={class:"VPPage"};function fn(s,e){const t=K("Content");return a(),l("div",_n,[d(s.$slots,"page-top"),_(t),d(s.$slots,"page-bottom")])}const mn=m(pn,[["render",fn]]),gn=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,i)=>(a(),l("div",{class:A(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?d(o.$slots,"not-found",{key:0},()=>[_(mt)],!0):r(t).layout==="page"?(a(),k(mn,{key:1},{"page-top":p(()=>[d(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(hn,{key:2},{"home-hero-before":p(()=>[d(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(x(r(t).layout),{key:3})):(a(),k(Ps,{key:4},{"doc-top":p(()=>[d(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[d(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[d(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[d(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[d(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),kn=m(gn,[["__scopeId","data-v-669faec9"]]),$n={class:"container"},bn=["innerHTML"],yn=["innerHTML"],wn=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),l("footer",{key:0,class:A(["VPFooter",{"has-sidebar":r(n)}])},[u("div",$n,[r(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,bn)):f("",!0),r(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,yn)):f("",!0)])],2)):f("",!0)}}),Pn=m(wn,[["__scopeId","data-v-e315a0ad"]]);function Te(){const{theme:s,frontmatter:e}=P(),t=we([]),n=$(()=>t.value.length>0);return te(()=>{t.value=fe(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:n}}const Vn={},Ln={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Sn=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Mn=[Sn];function Cn(s,e){return a(),l("svg",Ln,Mn)}const Ne=m(Vn,[["render",Cn]]),In={class:"header"},Tn={class:"outline"},Nn=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=C(!1),o=C(0),i=C(),c=C();je(i,()=>{n.value=!1}),Ke("Escape",()=>{n.value=!1}),te(()=>{n.value=!1});function h(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function v(y){y.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),qe(()=>{n.value=!1}))}function b(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,S)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Re({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[y.headers.length>0?(a(),l("button",{key:0,onClick:h,class:A({open:n.value})},[H(M(r(Ce)(r(t)))+" ",1),_(Ne,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:b},M(r(t).returnToTopLabel||"Return to top"),1)),_(ve,{name:"flyout"},{default:p(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:v},[u("div",In,[u("a",{class:"top-link",href:"#",onClick:b},M(r(t).returnToTopLabel||"Return to top"),1)]),u("div",Tn,[_(Ie,{headers:y.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),An=m(Nn,[["__scopeId","data-v-af18c0d5"]]),Bn={},Hn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},zn=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),En=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Fn=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Dn=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),On=[zn,En,Fn,Dn];function xn(s,e){return a(),l("svg",Hn,On)}const Un=m(Bn,[["render",xn]]),Gn={class:"container"},jn=["aria-expanded"],Kn={class:"menu-text"},Rn=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D(),{headers:o}=Te(),{y:i}=Ve(),c=C(0);G(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),te(()=>{o.value=fe(t.value.outline??e.value.outline)});const h=$(()=>o.value.length===0),v=$(()=>h.value&&!n.value),b=$(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:v.value}));return(y,S)=>r(t).layout!=="home"&&(!v.value||r(i)>=c.value)?(a(),l("div",{key:0,class:A(b.value)},[u("div",Gn,[r(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:S[0]||(S[0]=L=>y.$emit("open-menu"))},[_(Un,{class:"menu-icon"}),u("span",Kn,M(r(e).sidebarMenuLabel||"Menu"),1)],8,jn)):f("",!0),_(An,{headers:r(o),navHeight:c.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),qn=m(Rn,[["__scopeId","data-v-0282ae07"]]);function Wn(){const s=C(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=se();return j(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Yn={},Jn={class:"VPSwitch",type:"button",role:"switch"},Xn={class:"check"},Zn={key:0,class:"icon"};function Qn(s,e){return a(),l("button",Jn,[u("span",Xn,[s.$slots.default?(a(),l("span",Zn,[d(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const eo=m(Yn,[["render",Qn],["__scopeId","data-v-b1685198"]]),to={},so={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},no=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),oo=[no];function ao(s,e){return a(),l("svg",so,oo)}const ro=m(to,[["render",ao]]),io={},lo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},co=We('',9),uo=[co];function vo(s,e){return a(),l("svg",lo,uo)}const ho=m(io,[["render",vo]]),po=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=P(),n=ne("toggle-appearance",()=>{e.value=!e.value}),o=$(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,c)=>(a(),k(eo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:p(()=>[_(ho,{class:"sun"}),_(ro,{class:"moon"})]),_:1},8,["title","aria-checked","onClick"]))}}),me=m(po,[["__scopeId","data-v-1736f215"]]),_o={key:0,class:"VPNavBarAppearance"},fo=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",_o,[_(me)])):f("",!0)}}),mo=m(fo,[["__scopeId","data-v-e6aabb21"]]),ge=C();let Ae=!1,ie=0;function go(s){const e=C(!1);if(q){!Ae&&ko(),ie++;const t=j(ge,n=>{var o,i,c;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(c=s.onBlur)==null||c.call(s))});ee(()=>{t(),ie--,ie||$o()})}return Ye(e)}function ko(){document.addEventListener("focusin",Be),Ae=!0,ge.value=document.activeElement}function $o(){document.removeEventListener("focusin",Be)}function Be(){ge.value=document.activeElement}const bo={},yo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},wo=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Po=[wo];function Vo(s,e){return a(),l("svg",yo,Po)}const He=m(bo,[["render",Vo]]),Lo={},So={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Mo=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),Co=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),Io=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),To=[Mo,Co,Io];function No(s,e){return a(),l("svg",So,To)}const Ao=m(Lo,[["render",No]]),Bo={class:"VPMenuLink"},Ho=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),l("div",Bo,[_(z,{class:A({active:r(U)(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:p(()=>[H(M(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),oe=m(Ho,[["__scopeId","data-v-43f1e123"]]),zo={class:"VPMenuGroup"},Eo={key:0,class:"title"},Fo=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",zo,[e.text?(a(),l("p",Eo,M(e.text),1)):f("",!0),(a(!0),l(T,null,B(e.items,n=>(a(),l(T,null,["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Do=m(Fo,[["__scopeId","data-v-69e747b5"]]),Oo={class:"VPMenu"},xo={key:0,class:"items"},Uo=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),l("div",Oo,[e.items?(a(),l("div",xo,[(a(!0),l(T,null,B(e.items,n=>(a(),l(T,{key:n.text},["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):(a(),k(Do,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),d(e.$slots,"default",{},void 0,!0)]))}}),Go=m(Uo,[["__scopeId","data-v-e7ea1737"]]),jo=["aria-expanded","aria-label"],Ko={key:0,class:"text"},Ro=["innerHTML"],qo={class:"menu"},Wo=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=C(!1),t=C();go({el:t,onBlur:n});function n(){e.value=!1}return(o,i)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=c=>e.value=!0),onMouseleave:i[2]||(i[2]=c=>e.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=c=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",Ko,[o.icon?(a(),k(x(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),l("span",{key:1,innerHTML:o.button},null,8,Ro)):f("",!0),_(He,{class:"text-icon"})])):(a(),k(Ao,{key:1,class:"icon"}))],8,jo),u("div",qo,[_(Go,{items:o.items},{default:p(()=>[d(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=m(Wo,[["__scopeId","data-v-9c007e85"]]),Yo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',npm:'npm',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Jo=["href","aria-label","innerHTML"],Xo=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=$(()=>typeof e.icon=="object"?e.icon.svg:Yo[e.icon]);return(n,o)=>(a(),l("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,Jo))}}),Zo=m(Xo,[["__scopeId","data-v-f80f8133"]]),Qo={class:"VPSocialLinks"},ea=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),l("div",Qo,[(a(!0),l(T,null,B(e.links,({link:n,icon:o,ariaLabel:i})=>(a(),k(Zo,{key:n,icon:o,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),$e=m(ea,[["__scopeId","data-v-7bc22406"]]),ta={key:0,class:"group translations"},sa={class:"trans-title"},na={key:1,class:"group"},oa={class:"item appearance"},aa={class:"label"},ra={class:"appearance-action"},ia={key:2,class:"group"},la={class:"item social-links"},ca=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=W({correspondingLink:!0}),i=$(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(c,h)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(n).length&&r(o).label?(a(),l("div",ta,[u("p",sa,M(r(o).label),1),(a(!0),l(T,null,B(r(n),v=>(a(),k(oe,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",na,[u("div",oa,[u("p",aa,M(r(t).darkModeSwitchLabel||"Appearance"),1),u("div",ra,[_(me)])])])):f("",!0),r(t).socialLinks?(a(),l("div",ia,[u("div",la,[_($e,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),ua=m(ca,[["__scopeId","data-v-d0bd9dde"]]),da=s=>(E("data-v-e5dd9c1c"),s=s(),F(),s),va=["aria-expanded"],ha=da(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),pa=[ha],_a=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),l("button",{type:"button",class:A(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},pa,10,va))}}),fa=m(_a,[["__scopeId","data-v-e5dd9c1c"]]),ma=["innerHTML"],ga=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),k(z,{class:A({VPNavBarMenuLink:!0,active:r(U)(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:p(()=>[u("span",{innerHTML:t.item.text},null,8,ma)]),_:1},8,["class","href","target","rel"]))}}),ka=m(ga,[["__scopeId","data-v-42ef59de"]]),$a=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=i=>"link"in i?U(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),o=$(()=>n(e.item));return(i,c)=>(a(),k(ke,{class:A({VPNavBarMenuGroup:!0,active:r(U)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ba=s=>(E("data-v-7f418b0f"),s=s(),F(),s),ya={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},wa=ba(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Pa=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",ya,[wa,(a(!0),l(T,null,B(r(e).nav,o=>(a(),l(T,{key:o.text},["link"in o?(a(),k(ka,{key:0,item:o},null,8,["item"])):(a(),k($a,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}}),Va=m(Pa,[["__scopeId","data-v-7f418b0f"]]);function La(s){const{localeIndex:e,theme:t}=P();function n(o){var w,N,I;const i=o.split("."),c=(w=t.value.search)==null?void 0:w.options,h=c&&typeof c=="object",v=h&&((I=(N=c.locales)==null?void 0:N[e.value])==null?void 0:I.translations)||null,b=h&&c.translations||null;let y=v,S=b,L=s;const V=i.pop();for(const Y of i){let O=null;const R=L==null?void 0:L[Y];R&&(O=L=R);const ae=S==null?void 0:S[Y];ae&&(O=S=ae);const re=y==null?void 0:y[Y];re&&(O=y=re),R||(L=O),ae||(S=O),re||(y=O)}return(y==null?void 0:y[V])??(S==null?void 0:S[V])??(L==null?void 0:L[V])??""}return n}const Sa=["aria-label"],Ma={class:"DocSearch-Button-Container"},Ca=u("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[u("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ia={class:"DocSearch-Button-Placeholder"},Ta=u("span",{class:"DocSearch-Button-Keys"},[u("kbd",{class:"DocSearch-Button-Key"}),u("kbd",{class:"DocSearch-Button-Key"},"K")],-1),be=g({__name:"VPNavBarSearchButton",setup(s){const t=La({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,o)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[u("span",Ma,[Ca,u("span",Ia,M(r(t)("button.buttonText")),1)]),Ta],8,Sa))}}),Na={class:"VPNavBarSearch"},Aa={id:"local-search"},Ba={key:1,id:"docsearch"},Ha=g({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=Je(()=>Xe(()=>import("./VPAlgoliaSearchBox._erLWNLi.js"),__vite__mapDeps([0,1]))),{theme:n}=P(),o=C(!1),i=C(!1),c=()=>{const L="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{var N;const w=document.createElement("link");w.id=L,w.rel="preconnect",w.href=`https://${(((N=n.value.search)==null?void 0:N.options)??n.value.algolia).appId}-dsn.algolia.net`,w.crossOrigin="",document.head.appendChild(w)})};G(()=>{c();const L=w=>{(w.key.toLowerCase()==="k"&&(w.metaKey||w.ctrlKey)||!b(w)&&w.key==="/")&&(w.preventDefault(),h(),V())},V=()=>{window.removeEventListener("keydown",L)};window.addEventListener("keydown",L),ee(V)});function h(){o.value||(o.value=!0,setTimeout(v,16))}function v(){const L=new Event("keydown");L.key="k",L.metaKey=!0,window.dispatchEvent(L),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function b(L){const V=L.target,w=V.tagName;return V.isContentEditable||w==="INPUT"||w==="SELECT"||w==="TEXTAREA"}const y=C(!1),S="algolia";return(L,V)=>{var w;return a(),l("div",Na,[r(S)==="local"?(a(),l(T,{key:0},[y.value?(a(),k(r(e),{key:0,onClose:V[0]||(V[0]=N=>y.value=!1)})):f("",!0),u("div",Aa,[_(be,{onClick:V[1]||(V[1]=N=>y.value=!0)})])],64)):r(S)==="algolia"?(a(),l(T,{key:1},[o.value?(a(),k(r(t),{key:0,algolia:((w=r(n).search)==null?void 0:w.options)??r(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=N=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),l("div",Ba,[_(be,{onClick:h})]))],64)):f("",!0)])}}}),za=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Ea=m(za,[["__scopeId","data-v-0394ad82"]]),Fa=["href","rel","target"],Da=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=D(),{currentLang:o}=W(),i=$(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),c=$(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),h=$(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,b)=>(a(),l("div",{class:A(["VPNavBarTitle",{"has-sidebar":r(n)}])},[u("a",{class:"title",href:i.value??r(pe)(r(o).link),rel:c.value,target:h.value},[d(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Z,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),l(T,{key:1},[H(M(r(t).siteTitle),1)],64)):r(t).siteTitle===void 0?(a(),l(T,{key:2},[H(M(r(e).title),1)],64)):f("",!0),d(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Fa)],2))}}),Oa=m(Da,[["__scopeId","data-v-8460f0a8"]]),xa={},Ua={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ga=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),ja=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Ka=[Ga,ja];function Ra(s,e){return a(),l("svg",Ua,Ka)}const ze=m(xa,[["render",Ra]]),qa={class:"items"},Wa={class:"title"},Ya=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=W({correspondingLink:!0});return(o,i)=>r(t).length&&r(n).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:ze,label:r(e).langMenuLabel||"Change language"},{default:p(()=>[u("div",qa,[u("p",Wa,M(r(n).label),1),(a(!0),l(T,null,B(r(t),c=>(a(),k(oe,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),Ja=m(Ya,[["__scopeId","data-v-74abcbb9"]]),Xa=s=>(E("data-v-19c990f1"),s=s(),F(),s),Za={class:"wrapper"},Qa={class:"container"},er={class:"title"},tr={class:"content"},sr={class:"content-body"},nr=Xa(()=>u("div",{class:"divider"},[u("div",{class:"divider-line"})],-1)),or=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Ve(),{hasSidebar:t}=D(),{hasLocalNav:n}=Te(),{frontmatter:o}=P(),i=C({});return ye(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:o.value.layout==="home"&&e.value===0}}),(c,h)=>(a(),l("div",{class:A(["VPNavBar",i.value])},[u("div",Za,[u("div",Qa,[u("div",er,[_(Oa,null,{"nav-bar-title-before":p(()=>[d(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",tr,[u("div",sr,[d(c.$slots,"nav-bar-content-before",{},void 0,!0),_(Ha,{class:"search"}),_(Va,{class:"menu"}),_(Ja,{class:"translations"}),_(mo,{class:"appearance"}),_(Ea,{class:"social-links"}),_(ua,{class:"extra"}),d(c.$slots,"nav-bar-content-after",{},void 0,!0),_(fa,{class:"hamburger",active:c.isScreenOpen,onClick:h[0]||(h[0]=v=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),nr],2))}}),ar=m(or,[["__scopeId","data-v-19c990f1"]]),rr={key:0,class:"VPNavScreenAppearance"},ir={class:"text"},lr=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",rr,[u("p",ir,M(r(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):f("",!0)}}),cr=m(lr,[["__scopeId","data-v-2d7af913"]]),ur=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),k(z,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:p(()=>[H(M(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dr=m(ur,[["__scopeId","data-v-05f27b2a"]]),vr={},hr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pr=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),_r=[pr];function fr(s,e){return a(),l("svg",hr,_r)}const mr=m(vr,[["render",fr]]),gr=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),k(z,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:p(()=>[H(M(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=m(gr,[["__scopeId","data-v-19976ae1"]]),kr={class:"VPNavScreenMenuGroupSection"},$r={key:0,class:"title"},br=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",kr,[e.text?(a(),l("p",$r,M(e.text),1)):f("",!0),(a(!0),l(T,null,B(e.items,n=>(a(),k(Ee,{key:n.text,item:n},null,8,["item"]))),128))]))}}),yr=m(br,[["__scopeId","data-v-8133b170"]]),wr=["aria-controls","aria-expanded"],Pr=["innerHTML"],Vr=["id"],Lr={key:1,class:"group"},Sr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=C(!1),n=$(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,c)=>(a(),l("div",{class:A(["VPNavScreenMenuGroup",{open:t.value}])},[u("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[u("span",{class:"button-text",innerHTML:i.text},null,8,Pr),_(mr,{class:"button-icon"})],8,wr),u("div",{id:n.value,class:"items"},[(a(!0),l(T,null,B(i.items,h=>(a(),l(T,{key:h.text},["link"in h?(a(),l("div",{key:h.text,class:"item"},[_(Ee,{item:h},null,8,["item"])])):(a(),l("div",Lr,[_(yr,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Vr)],2))}}),Mr=m(Sr,[["__scopeId","data-v-65ef89ca"]]),Cr={key:0,class:"VPNavScreenMenu"},Ir=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",Cr,[(a(!0),l(T,null,B(r(e).nav,o=>(a(),l(T,{key:o.text},["link"in o?(a(),k(dr,{key:0,item:o},null,8,["item"])):(a(),k(Mr,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Tr=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Nr={class:"list"},Ar=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=W({correspondingLink:!0}),n=C(!1);function o(){n.value=!n.value}return(i,c)=>r(e).length&&r(t).label?(a(),l("div",{key:0,class:A(["VPNavScreenTranslations",{open:n.value}])},[u("button",{class:"title",onClick:o},[_(ze,{class:"icon lang"}),H(" "+M(r(t).label)+" ",1),_(He,{class:"icon chevron"})]),u("ul",Nr,[(a(!0),l(T,null,B(r(e),h=>(a(),l("li",{key:h.link,class:"item"},[_(z,{class:"link",href:h.link},{default:p(()=>[H(M(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Br=m(Ar,[["__scopeId","data-v-d72aa483"]]),Hr={class:"container"},zr=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=C(null),t=Le(q?document.body:null);return(n,o)=>(a(),k(ve,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:p(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[u("div",Hr,[d(n.$slots,"nav-screen-content-before",{},void 0,!0),_(Ir,{class:"menu"}),_(Br,{class:"translations"}),_(cr,{class:"appearance"}),_(Tr,{class:"social-links"}),d(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Er=m(zr,[["__scopeId","data-v-cc5739dd"]]),Fr={key:0,class:"VPNav"},Dr=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Wn(),{frontmatter:o}=P(),i=$(()=>o.value.navbar!==!1);return Se("close-screen",t),Q(()=>{q&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(c,h)=>i.value?(a(),l("header",Fr,[_(ar,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":p(()=>[d(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Er,{open:r(e)},{"nav-screen-content-before":p(()=>[d(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Or=m(Dr,[["__scopeId","data-v-ae24b3ad"]]),xr=s=>(E("data-v-e31bd47b"),s=s(),F(),s),Ur=["role","tabindex"],Gr=xr(()=>u("div",{class:"indicator"},null,-1)),jr={key:1,class:"items"},Kr=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:c,hasChildren:h,toggle:v}=bt($(()=>e.item)),b=$(()=>h.value?"section":"div"),y=$(()=>o.value?"a":"div"),S=$(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),L=$(()=>o.value?void 0:"button"),V=$(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":c.value}]);function w(I){"key"in I&&I.key!=="Enter"||!e.item.link&&v()}function N(){e.item.link&&v()}return(I,Y)=>{const O=K("VPSidebarItem",!0);return a(),k(x(b.value),{class:A(["VPSidebarItem",V.value])},{default:p(()=>[I.item.text?(a(),l("div",J({key:0,class:"item",role:L.value},Qe(I.item.items?{click:w,keydown:w}:{},!0),{tabindex:I.item.items&&0}),[Gr,I.item.link?(a(),k(z,{key:0,tag:y.value,class:"link",href:I.item.link,rel:I.item.rel,target:I.item.target},{default:p(()=>[(a(),k(x(S.value),{class:"text",innerHTML:I.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(x(S.value),{key:1,class:"text",innerHTML:I.item.text},null,8,["innerHTML"])),I.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:N,onKeydown:Ze(N,["enter"]),tabindex:"0"},[_(Ne,{class:"caret-icon"})],32)):f("",!0)],16,Ur)):f("",!0),I.item.items&&I.item.items.length?(a(),l("div",jr,[I.depth<5?(a(!0),l(T,{key:0},B(I.item.items,R=>(a(),k(O,{key:R.text,item:R,depth:I.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),Rr=m(Kr,[["__scopeId","data-v-e31bd47b"]]),Fe=s=>(E("data-v-575e6a36"),s=s(),F(),s),qr=Fe(()=>u("div",{class:"curtain"},null,-1)),Wr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yr=Fe(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=D(),n=s,o=C(null),i=Le(q?document.body:null);return j([n,o],()=>{var c;n.open?(i.value=!0,(c=o.value)==null||c.focus()):i.value=!1},{immediate:!0,flush:"post"}),(c,h)=>r(t)?(a(),l("aside",{key:0,class:A(["VPSidebar",{open:c.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=et(()=>{},["stop"]))},[qr,u("nav",Wr,[Yr,d(c.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(T,null,B(r(e),v=>(a(),l("div",{key:v.text,class:"group"},[_(Rr,{item:v,depth:0},null,8,["item"])]))),128)),d(c.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),Xr=m(Jr,[["__scopeId","data-v-575e6a36"]]),Zr=g({__name:"VPSkipLink",setup(s){const e=se(),t=C();j(()=>e.path,()=>t.value.focus());function n({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const c=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",c)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",c),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),l(T,null,[u("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),Qr=m(Zr,[["__scopeId","data-v-0f60ec36"]]),ei=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=D(),o=se();j(()=>o.path,n),$t(e,n);const{frontmatter:i}=P(),c=tt(),h=$(()=>!!c["home-hero-image"]);return Se("hero-image-slot-exists",h),(v,b)=>{const y=K("Content");return r(i).layout!==!1?(a(),l("div",{key:0,class:A(["Layout",r(i).pageClass])},[d(v.$slots,"layout-top",{},void 0,!0),_(Qr),_(at,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),_(Or,null,{"nav-bar-title-before":p(()=>[d(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[d(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(qn,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(Xr,{open:r(e)},{"sidebar-nav-before":p(()=>[d(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[d(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(kn,null,{"page-top":p(()=>[d(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[d(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[d(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[d(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[d(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[d(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Pn),d(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(y,{key:1}))}}}),ti=m(ei,[["__scopeId","data-v-5a346dfe"]]),ni={Layout:ti,enhanceApp:({app:s})=>{s.component("Badge",st)}};export{ni as t,P as u}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/chunks/VPAlgoliaSearchBox._erLWNLi.js","assets/chunks/framework.HmH449Dw.js"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/assets/encryption_index.md.RRBXRbgZ.js b/assets/encryption_index.md.RRBXRbgZ.js new file mode 100644 index 00000000..f90f7541 --- /dev/null +++ b/assets/encryption_index.md.RRBXRbgZ.js @@ -0,0 +1,13 @@ +import{_ as s,o as i,c as t,a4 as a}from"./chunks/framework.xR9aiOhR.js";const u=JSON.parse('{"title":"Encryption","description":"","frontmatter":{},"headers":[],"relativePath":"encryption/index.md","filePath":"encryption/index.md","lastUpdated":1710118299000}'),e={name:"encryption/index.md"},n=a(`

Encryption

WARNING

This guide will mostly care for UEFI systems. Steps shouldn't be much different for non-UEFI systems. Have a look at the Arch wiki regarding system encryption for more information.

TIP

This guide uses X, Y and Z as placeholders. Adjust them accordingly to your setup. Additionally, "sd" could be different depending on the used connection method of your drive.

In this guide, the encryption configuration we want to achieve is this:

                |----------|----------------------|
+                |   Swap   |   Other partitions   |
+                |          |   e.g. / or /home    |
+|---------------|---------------------------------|
+|   Grub boot   |   Encrypted container (LUKS)    |
+|---------------|---------------------------------|

At first, we have a /boot partition that contains the Grub bootloader as well as the necessary files for UEFI. Then we have an encrypted container that uses LUKS that contains the swap and other partitions, like the root partition or /home. All your data as well as the system will be encrypted as a result of that.

This results in you having to type in a password directly after booting, which will unlock the encrypted LUKS container and then boot the system normally.

Partitioning

To get a brief overview of the disks, use the command

bash
fdisk -l

After you got the disk to use, run

bash
gdisk /dev/sdX

to partition the disk accordingly. For more information on how to use gdisk, see the Arch wiki. For completeness, the most used commands are:

CommandWhat does this do?
oNew partition table
nCreate new partition
wWrite table to disk

After partitioning, you want to have a layout that looks like this:

PartitionUsageSizePartition codePartition type
/dev/sdXYGrub bootDepends, 300M are recommendedef00EFI System
/dev/sdXZLUKS containerRemaining8E00Linux Filesystem

The crypt container

Create crypt container

Now we create a crypt container on sdXZ using LUKS. For more information, see these two pages on the Arch wiki regarding dm-crypt:

Encrypt dev/sdXZ. You will be prompted for a password. Care for different keyboard layouts when typing in the password!

bash
cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sdXZ

Now open the encrypted container and map it to the device cryptroot. You will be prompted for the encryption password.

bash
cryptsetup open /dev/sdXZ cryptroot

Creating LVM within the LUKS container

We currently have an (open and) encrypted container, but no LVM inside. To do this, we first have to create a volume group. We will call it main:

bash
vgcreate main /dev/mapper/cryptroot

Now we create the partitions we need. Since we just want a swap partition and a root partition, we need these two commands. If you want additional partitions, e.g. for a separate home partition, adjust the following commands (in the other sections, too) according to your needs. For recommendations regarding the swap size, see the partitioning section of this guide.

bash
lvcreate -L 32G main -n swap
+lvcreate -l 100%FREE main -n root

Create the filesystems

Now we format the newly created volumes and partitions. The UEFI partition needs to be of type fat32. Additionally, this will get you a ext4 root partition. You can adjust this freely if you like.

bash
mkfs.fat -F 32 /dev/sdXY
+mkswap /dev/mapper/main-swap
+mkfs.ext4 /dev/mapper/main-root

Mounting the system

Mount the system

bash
mount /dev/mapper/main-root /mnt
+mkdir /mnt/boot
+mount /dev/sdXY /mnt/boot

Additionally, enable the swap

bash
swapon /dev/mapper/main-swap

When following the guide for a normal installation, you can go back to the base installation page now.

Adjust linux kernel hooks

Edit the file /etc/mkinitcpio.conf to contain the following line

ini
HOOKS=(base udev autodetect modconf block filesystems keyboard keymap encrypt lvm2 fsck)

After that, run the command to create the initial ramdisk environment

bash
mkinitcpio -P

Install grub

Before installing grub, we have to mount the efi variables and install important packages

bash
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
+pacman -S grub efibootmgr dosfstools

Additionally, install the microcode packages for your cpu, e.g. intel-ucode or amd-ucode.

Now find the UUID of the root partition (in the line starting with /dev/sdXZ) and note it down

bash
blkid | grep "UUID="

Adjust /etc/default/grub because of the encryption. Replace <UUID> with the UUID of the device you found earlier.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root"

TIP

If you want to type the password with the keyboard layout of your home country, you can adjust the line like this with the languages of your choice. This example uses the german keyboard layout.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root lang=de locale=de_DE.UTF-8"

After that, you can install grub. Use the following commands to do that. Make sure no errors are reported here.

bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
+grub-mkconfig -o /boot/grub/grub.cfg

When following the guide for a normal installation, you can go back to the configure system page now.

Additional resources

For more information, you can visit the following pages:

This guide tries to sum them all up in one neat page.

`,59),o=[n];function h(l,p,r,d,c,k){return i(),t("div",null,o)}const y=s(e,[["render",h]]);export{u as __pageData,y as default}; diff --git a/assets/encryption_index.md.RRBXRbgZ.lean.js b/assets/encryption_index.md.RRBXRbgZ.lean.js new file mode 100644 index 00000000..e430978f --- /dev/null +++ b/assets/encryption_index.md.RRBXRbgZ.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as t,a4 as a}from"./chunks/framework.xR9aiOhR.js";const u=JSON.parse('{"title":"Encryption","description":"","frontmatter":{},"headers":[],"relativePath":"encryption/index.md","filePath":"encryption/index.md","lastUpdated":1710118299000}'),e={name:"encryption/index.md"},n=a("",59),o=[n];function h(l,p,r,d,c,k){return i(),t("div",null,o)}const y=s(e,[["render",h]]);export{u as __pageData,y as default}; diff --git a/assets/encryption_index.md.dJyOp6Qj.js b/assets/encryption_index.md.dJyOp6Qj.js deleted file mode 100644 index d66e1c8a..00000000 --- a/assets/encryption_index.md.dJyOp6Qj.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as t,o as s,c as a,V as e}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"Encryption","description":"","frontmatter":{},"headers":[],"relativePath":"encryption/index.md","filePath":"encryption/index.md","lastUpdated":1710116288000}'),i={name:"encryption/index.md"},n=e(`

Encryption

WARNING

This guide will mostly care for UEFI systems. Steps shouldn't be much different for non-UEFI systems. Have a look at the Arch wiki regarding system encryption for more information.

TIP

This guide uses X, Y and Z as placeholders. Adjust them accordingly to your setup. Additionally, "sd" could be different depending on the used connection method of your drive.

In this guide, the encryption configuration we want to achieve is this:

                |----------|----------------------|
-                |   Swap   |   Other partitions   |
-                |          |   e.g. / or /home    |
-|---------------|---------------------------------|
-|   Grub boot   |   Encrypted container (LUKS)    |
-|---------------|---------------------------------|

At first, we have a /boot partition that contains the Grub bootloader as well as the necessary files for UEFI. Then we have an encrypted container that uses LUKS that contains the swap and other partitions, like the root partition or /home. All your data as well as the system will be encrypted as a result of that.

This results in you having to type in a password directly after booting, which will unlock the encrypted LUKS container and then boot the system normally.

Partitioning

To get a brief overview of the disks, use the command

bash
fdisk -l

After you got the disk to use, run

bash
gdisk /dev/sdX

to partition the disk accordingly. For more information on how to use gdisk, see the Arch wiki. For completeness, the most used commands are:

CommandWhat does this do?
oNew partition table
nCreate new partition
wWrite table to disk

After partitioning, you want to have a layout that looks like this:

PartitionUsageSizePartition codePartition type
/dev/sdXYGrub bootDepends, 300M are recommendedef00EFI System
/dev/sdXZLUKS containerRemaining8E00Linux Filesystem

The crypt container

Create crypt container

Now we create a crypt container on sdXZ using LUKS. For more information, see these two pages on the Arch wiki regarding dm-crypt:

Encrypt dev/sdXZ. You will be prompted for a password. Care for different keyboard layouts when typing in the password!

bash
cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sdXZ

Now open the encrypted container and map it to the device cryptroot. You will be prompted for the encryption password.

bash
cryptsetup open /dev/sdXZ cryptroot

Creating LVM within the LUKS container

We currently have an (open and) encrypted container, but no LVM inside. To do this, we first have to create a volume group. We will call it main:

bash
vgcreate main /dev/mapper/cryptroot

Now we create the partitions we need. Since we just want a swap partition and a root partition, we need these two commands. If you want additional partitions, e.g. for a separate home partition, adjust the following commands (in the other sections, too) according to your needs. For recommendations regarding the swap size, see the partitioning section of this guide.

bash
lvcreate -L 32G main -n swap
-lvcreate -l 100%FREE main -n root

Create the filesystems

Now we format the newly created volumes and partitions. The UEFI partition needs to be of type fat32. Additionally, this will get you a ext4 root partition. You can adjust this freely if you like.

bash
mkfs.fat -F 32 /dev/sdXY
-mkswap /dev/mapper/main-swap
-mkfs.ext4 /dev/mapper/main-root

Mounting the system

Mount the system

bash
mount /dev/mapper/main-root /mnt
-mkdir /mnt/boot
-mount /dev/sdXY /mnt/boot

Additionally, enable the swap

bash
swapon /dev/mapper/main-swap

When following the guide for a normal installation, you can go back to the base installation page now.

Adjust linux kernel hooks

Edit the file /etc/mkinitcpio.conf to contain the following line

ini
HOOKS=(base udev autodetect modconf block filesystems keyboard keymap encrypt lvm2 fsck)

After that, run the command to create the initial ramdisk environment

bash
mkinitcpio -P

Install grub

Before installing grub, we have to mount the efi variables and install important packages

bash
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
-pacman -S grub efibootmgr dosfstools

Additionally, install the microcode packages for your cpu, e.g. intel-ucode or amd-ucode.

Now find the UUID of the root partition (in the line starting with /dev/sdXZ) and note it down

bash
blkid | grep "UUID="

Adjust /etc/default/grub because of the encryption. Replace <UUID> with the UUID of the device you found earlier.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root"

TIP

If you want to type the password with the keyboard layout of your home country, you can adjust the line like this with the languages of your choice. This example uses the german keyboard layout.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root lang=de locale=de_DE.UTF-8"

After that, you can install grub. Use the following commands to do that. Make sure no errors are reported here.

bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
-grub-mkconfig -o /boot/grub/grub.cfg

When following the guide for a normal installation, you can go back to the configure system page now.

Additional resources

For more information, you can visit the following pages:

This guide tries to sum them all up in one neat page.

`,59),o=[n];function l(p,h,r,d,c,k){return s(),a("div",null,o)}const y=t(i,[["render",l]]);export{u as __pageData,y as default}; diff --git a/assets/encryption_index.md.dJyOp6Qj.lean.js b/assets/encryption_index.md.dJyOp6Qj.lean.js deleted file mode 100644 index 29e87ec5..00000000 --- a/assets/encryption_index.md.dJyOp6Qj.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as s,c as a,V as e}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"Encryption","description":"","frontmatter":{},"headers":[],"relativePath":"encryption/index.md","filePath":"encryption/index.md","lastUpdated":1710116288000}'),i={name:"encryption/index.md"},n=e("",59),o=[n];function l(p,h,r,d,c,k){return s(),a("div",null,o)}const y=t(i,[["render",l]]);export{u as __pageData,y as default}; diff --git a/assets/gaming_index.md.9UH0paLi.js b/assets/gaming_index.md.9UH0paLi.js deleted file mode 100644 index 0cc5592d..00000000 --- a/assets/gaming_index.md.9UH0paLi.js +++ /dev/null @@ -1,4 +0,0 @@ -import{_ as a,o as i,c as s,V as e}from"./chunks/framework.HmH449Dw.js";const b=JSON.parse('{"title":"Gaming","description":"","frontmatter":{},"headers":[],"relativePath":"gaming/index.md","filePath":"gaming/index.md","lastUpdated":1710116288000}'),t={name:"gaming/index.md"},l=e(`

Gaming

Video driver

If you followed Installation/Useful packages/Graphics Driver your graphics driver & Vulkan should be already set-up correctly

Graphics card configuration tool

AMD

bash
yay -S radeon-profile-git radeon-profile-daemon-git
-systemctl enable --now radeon-profile-daemon

NVIDIA

bash
yay -S nvidia-settings

Wine

Libraries

Recommended by Lutris

bash
yay -S --needed wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses ocl-icd lib32-ocl-icd libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

Other packages not listed by Lutris

bash
yay -S vkd3d lib32-vkd3d faudio lib32-faudio

Custom Wine/Proton

For custom Proton, I recommend GloriousEgroll's builds. For Steam and Lutris. These can be installed using ProtonUp-Qt

bash
yay -S protonup-qt

For custom Wine, I recommend Tk-Glitch which can be downloaded from here and installed with unzip wine-tkg-build.zip && yay -U wine-tkg-*.pkg.tar.zst

Programs

Install basic gaming tools

bash
yay -S lutris steam gamemode lib32-gamemode

Custom kernel

WARNING

If you are using NVIDIA and want to use a custom kernel you need to use nvidia-dkms since nvidia is just for the mainline linux kernel and nvidia-lts for linux-lts

bash
yay -Rdd nvidia
-yay -S nvidia-dkms

Alternatively you can use nvidia-all to get the latest NVIDIA driver for all kernels

Zen

bash
yay -S linux-zen linux-zen-headers

Tk-Glitch

See linux-tkg

After installing

You need to re-generate your grub config

bash
sudo grub-mkconfig -o /boot/grub/grub.cfg

Tweak Esync

If this command prints out a value which is equal or greater to 524288 you're all set

bash
ulimit -Hn

However, if it doesn't, or you want to further improve it:

bash
sudo nano /etc/systemd/system.conf
-sudo nano /etc/systemd/user.conf

append this in both files

ini
DefaultLimitNOFILE=1024:1048576

Source: https://github.com/zfigura/wine/blob/master/README.esync

Other tweaks

The Arch wiki has a page dedicated to Gaming with a few other tweaks you might want to look into.

`,40),n=[l];function r(o,h,p,d,c,g){return i(),s("div",null,n)}const u=a(t,[["render",r]]);export{b as __pageData,u as default}; diff --git a/assets/gaming_index.md.9UH0paLi.lean.js b/assets/gaming_index.md.9UH0paLi.lean.js deleted file mode 100644 index eb146049..00000000 --- a/assets/gaming_index.md.9UH0paLi.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as i,c as s,V as e}from"./chunks/framework.HmH449Dw.js";const b=JSON.parse('{"title":"Gaming","description":"","frontmatter":{},"headers":[],"relativePath":"gaming/index.md","filePath":"gaming/index.md","lastUpdated":1710116288000}'),t={name:"gaming/index.md"},l=e("",40),n=[l];function r(o,h,p,d,c,g){return i(),s("div",null,n)}const u=a(t,[["render",r]]);export{b as __pageData,u as default}; diff --git a/assets/gaming_index.md.sZSOw66Q.js b/assets/gaming_index.md.sZSOw66Q.js new file mode 100644 index 00000000..7cf38e11 --- /dev/null +++ b/assets/gaming_index.md.sZSOw66Q.js @@ -0,0 +1,4 @@ +import{_ as i,o as s,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const c=JSON.parse('{"title":"Gaming","description":"","frontmatter":{},"headers":[],"relativePath":"gaming/index.md","filePath":"gaming/index.md","lastUpdated":1710118299000}'),t={name:"gaming/index.md"},l=e(`

Gaming

Video driver

If you followed Installation/Useful packages/Graphics Driver your graphics driver & Vulkan should be already set-up correctly

Graphics card configuration tool

AMD

bash
yay -S radeon-profile-git radeon-profile-daemon-git
+systemctl enable --now radeon-profile-daemon

NVIDIA

bash
yay -S nvidia-settings

Wine

Libraries

Recommended by Lutris

bash
yay -S --needed wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses ocl-icd lib32-ocl-icd libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

Other packages not listed by Lutris

bash
yay -S vkd3d lib32-vkd3d faudio lib32-faudio

Custom Wine/Proton

For custom Proton, I recommend GloriousEgroll's builds. For Steam and Lutris. These can be installed using ProtonUp-Qt

bash
yay -S protonup-qt

For custom Wine, I recommend Tk-Glitch which can be downloaded from here and installed with unzip wine-tkg-build.zip && yay -U wine-tkg-*.pkg.tar.zst

Programs

Install basic gaming tools

bash
yay -S lutris steam gamemode lib32-gamemode

Custom kernel

WARNING

If you are using NVIDIA and want to use a custom kernel you need to use nvidia-dkms since nvidia is just for the mainline linux kernel and nvidia-lts for linux-lts

bash
yay -Rdd nvidia
+yay -S nvidia-dkms

Alternatively you can use nvidia-all to get the latest NVIDIA driver for all kernels

Zen

bash
yay -S linux-zen linux-zen-headers

Tk-Glitch

See linux-tkg

After installing

You need to re-generate your grub config

bash
sudo grub-mkconfig -o /boot/grub/grub.cfg

Tweak Esync

If this command prints out a value which is equal or greater to 524288 you're all set

bash
ulimit -Hn

However, if it doesn't, or you want to further improve it:

bash
sudo nano /etc/systemd/system.conf
+sudo nano /etc/systemd/user.conf

append this in both files

ini
DefaultLimitNOFILE=1024:1048576

Source: https://github.com/zfigura/wine/blob/master/README.esync

Other tweaks

The Arch wiki has a page dedicated to Gaming with a few other tweaks you might want to look into.

`,40),n=[l];function h(r,p,k,o,d,g){return s(),a("div",null,n)}const b=i(t,[["render",h]]);export{c as __pageData,b as default}; diff --git a/assets/gaming_index.md.sZSOw66Q.lean.js b/assets/gaming_index.md.sZSOw66Q.lean.js new file mode 100644 index 00000000..c89e2476 --- /dev/null +++ b/assets/gaming_index.md.sZSOw66Q.lean.js @@ -0,0 +1 @@ +import{_ as i,o as s,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const c=JSON.parse('{"title":"Gaming","description":"","frontmatter":{},"headers":[],"relativePath":"gaming/index.md","filePath":"gaming/index.md","lastUpdated":1710118299000}'),t={name:"gaming/index.md"},l=e("",40),n=[l];function h(r,p,k,o,d,g){return s(),a("div",null,n)}const b=i(t,[["render",h]]);export{c as __pageData,b as default}; diff --git a/assets/index.md.RTSJRoPP.js b/assets/index.md.LeNbxYYg.js similarity index 87% rename from assets/index.md.RTSJRoPP.js rename to assets/index.md.LeNbxYYg.js index 5107b417..9b359779 100644 --- a/assets/index.md.RTSJRoPP.js +++ b/assets/index.md.LeNbxYYg.js @@ -1 +1 @@ -import{_ as t,o as a,c as i,m as e}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"","titleTemplate":"Home","description":"","frontmatter":{"layout":"home","titleTemplate":"Home","hero":{"name":"Arch Linux Guide","tagline":"My installation instructions and guide for Arch Linux","image":{"src":"https://archlinux.org/static/logos/archlinux-logo-light-1200dpi.7ccd81fd52dc.png","alt":"Logo"},"actions":[{"theme":"brand","text":"Get started →","link":"/installation/"}]},"features":[{"title":"Installation","details":"This guide completely covers installation with different desktop environments on BIOS and UEFI"},{"title":"Post-Installation","details":"It also provides recommendations regarding software and configuration"},{"title":"Fixes & Tweaks","details":"Includes performance tweaks and fixes for common problems"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1710116288000}'),s={name:"index.md"},o=e("div",{style:{margin:"3rem 1rem 0 1rem",display:"flex","flex-wrap":"wrap","justify-content":"center",gap:"1rem"}},[e("img",{src:"https://img.shields.io/github/last-commit/D3SOX/arch-guide.svg?style=for-the-badge&label=Last%20update",alt:"Last Update"}),e("img",{src:"https://img.shields.io/github/stars/D3SOX/arch-guide?style=for-the-badge",alt:"Stars"}),e("img",{src:"https://img.shields.io/github/license/D3SOX/arch-guide?style=for-the-badge",alt:"License"})],-1),n=[o];function r(l,d,c,m,g,h){return a(),i("div",null,n)}const f=t(s,[["render",r]]);export{u as __pageData,f as default}; +import{_ as t,o as a,c as i,m as e}from"./chunks/framework.xR9aiOhR.js";const u=JSON.parse('{"title":"","titleTemplate":"Home","description":"","frontmatter":{"layout":"home","titleTemplate":"Home","hero":{"name":"Arch Linux Guide","tagline":"My installation instructions and guide for Arch Linux","image":{"src":"https://archlinux.org/static/logos/archlinux-logo-light-1200dpi.7ccd81fd52dc.png","alt":"Logo"},"actions":[{"theme":"brand","text":"Get started →","link":"/installation/"}]},"features":[{"title":"Installation","details":"This guide completely covers installation with different desktop environments on BIOS and UEFI"},{"title":"Post-Installation","details":"It also provides recommendations regarding software and configuration"},{"title":"Fixes & Tweaks","details":"Includes performance tweaks and fixes for common problems"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1710118299000}'),s={name:"index.md"},o=e("div",{style:{margin:"3rem 1rem 0 1rem",display:"flex","flex-wrap":"wrap","justify-content":"center",gap:"1rem"}},[e("img",{src:"https://img.shields.io/github/last-commit/D3SOX/arch-guide.svg?style=for-the-badge&label=Last%20update",alt:"Last Update"}),e("img",{src:"https://img.shields.io/github/stars/D3SOX/arch-guide?style=for-the-badge",alt:"Stars"}),e("img",{src:"https://img.shields.io/github/license/D3SOX/arch-guide?style=for-the-badge",alt:"License"})],-1),n=[o];function r(l,d,c,m,g,h){return a(),i("div",null,n)}const f=t(s,[["render",r]]);export{u as __pageData,f as default}; diff --git a/assets/index.md.RTSJRoPP.lean.js b/assets/index.md.LeNbxYYg.lean.js similarity index 87% rename from assets/index.md.RTSJRoPP.lean.js rename to assets/index.md.LeNbxYYg.lean.js index 5107b417..9b359779 100644 --- a/assets/index.md.RTSJRoPP.lean.js +++ b/assets/index.md.LeNbxYYg.lean.js @@ -1 +1 @@ -import{_ as t,o as a,c as i,m as e}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"","titleTemplate":"Home","description":"","frontmatter":{"layout":"home","titleTemplate":"Home","hero":{"name":"Arch Linux Guide","tagline":"My installation instructions and guide for Arch Linux","image":{"src":"https://archlinux.org/static/logos/archlinux-logo-light-1200dpi.7ccd81fd52dc.png","alt":"Logo"},"actions":[{"theme":"brand","text":"Get started →","link":"/installation/"}]},"features":[{"title":"Installation","details":"This guide completely covers installation with different desktop environments on BIOS and UEFI"},{"title":"Post-Installation","details":"It also provides recommendations regarding software and configuration"},{"title":"Fixes & Tweaks","details":"Includes performance tweaks and fixes for common problems"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1710116288000}'),s={name:"index.md"},o=e("div",{style:{margin:"3rem 1rem 0 1rem",display:"flex","flex-wrap":"wrap","justify-content":"center",gap:"1rem"}},[e("img",{src:"https://img.shields.io/github/last-commit/D3SOX/arch-guide.svg?style=for-the-badge&label=Last%20update",alt:"Last Update"}),e("img",{src:"https://img.shields.io/github/stars/D3SOX/arch-guide?style=for-the-badge",alt:"Stars"}),e("img",{src:"https://img.shields.io/github/license/D3SOX/arch-guide?style=for-the-badge",alt:"License"})],-1),n=[o];function r(l,d,c,m,g,h){return a(),i("div",null,n)}const f=t(s,[["render",r]]);export{u as __pageData,f as default}; +import{_ as t,o as a,c as i,m as e}from"./chunks/framework.xR9aiOhR.js";const u=JSON.parse('{"title":"","titleTemplate":"Home","description":"","frontmatter":{"layout":"home","titleTemplate":"Home","hero":{"name":"Arch Linux Guide","tagline":"My installation instructions and guide for Arch Linux","image":{"src":"https://archlinux.org/static/logos/archlinux-logo-light-1200dpi.7ccd81fd52dc.png","alt":"Logo"},"actions":[{"theme":"brand","text":"Get started →","link":"/installation/"}]},"features":[{"title":"Installation","details":"This guide completely covers installation with different desktop environments on BIOS and UEFI"},{"title":"Post-Installation","details":"It also provides recommendations regarding software and configuration"},{"title":"Fixes & Tweaks","details":"Includes performance tweaks and fixes for common problems"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1710118299000}'),s={name:"index.md"},o=e("div",{style:{margin:"3rem 1rem 0 1rem",display:"flex","flex-wrap":"wrap","justify-content":"center",gap:"1rem"}},[e("img",{src:"https://img.shields.io/github/last-commit/D3SOX/arch-guide.svg?style=for-the-badge&label=Last%20update",alt:"Last Update"}),e("img",{src:"https://img.shields.io/github/stars/D3SOX/arch-guide?style=for-the-badge",alt:"Stars"}),e("img",{src:"https://img.shields.io/github/license/D3SOX/arch-guide?style=for-the-badge",alt:"License"})],-1),n=[o];function r(l,d,c,m,g,h){return a(),i("div",null,n)}const f=t(s,[["render",r]]);export{u as __pageData,f as default}; diff --git a/assets/installation_base-installation.md.BYz-3faF.js b/assets/installation_base-installation.md.BYz-3faF.js deleted file mode 100644 index 8b51c386..00000000 --- a/assets/installation_base-installation.md.BYz-3faF.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as a,o as s,c as t,V as i}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Base installation","description":"","frontmatter":{},"headers":[],"relativePath":"installation/base-installation.md","filePath":"installation/base-installation.md","lastUpdated":1710116288000}'),e={name:"installation/base-installation.md"},l=i(`

Base installation

Rank the mirrors before for faster downloads

📊 This will rank the mirrorlist. You may replace United States with your country

bash
reflector -c 'United States' -a 15 -p https --sort rate --save /etc/pacman.d/mirrorlist
-pacman -Syy

Start the installation

⏳ This will install the system and may take a while

WARNING

⚠️ To ensure system stability append the microcode package for your CPU to the following command

bash
pacstrap /mnt base base-devel linux linux-firmware sysfsutils usbutils e2fsprogs inetutils netctl nano less which man-db man-pages

Create filesystem table

This will create the file system table which contains all the partitions and mountpoints

bash
genfstab -U /mnt >> /mnt/etc/fstab

Change root

After you entered this command, you are basically in the installed system

bash
arch-chroot /mnt
`,14),n=[l];function o(h,r,p,d,c,k){return s(),t("div",null,n)}const u=a(e,[["render",o]]);export{g as __pageData,u as default}; diff --git a/assets/installation_base-installation.md.BYz-3faF.lean.js b/assets/installation_base-installation.md.BYz-3faF.lean.js deleted file mode 100644 index 7d36a033..00000000 --- a/assets/installation_base-installation.md.BYz-3faF.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as t,V as i}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Base installation","description":"","frontmatter":{},"headers":[],"relativePath":"installation/base-installation.md","filePath":"installation/base-installation.md","lastUpdated":1710116288000}'),e={name:"installation/base-installation.md"},l=i("",14),n=[l];function o(h,r,p,d,c,k){return s(),t("div",null,n)}const u=a(e,[["render",o]]);export{g as __pageData,u as default}; diff --git a/assets/installation_base-installation.md.W7pmNWqA.js b/assets/installation_base-installation.md.W7pmNWqA.js new file mode 100644 index 00000000..b54d8f0d --- /dev/null +++ b/assets/installation_base-installation.md.W7pmNWqA.js @@ -0,0 +1,2 @@ +import{_ as s,o as a,c as i,a4 as t}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Base installation","description":"","frontmatter":{},"headers":[],"relativePath":"installation/base-installation.md","filePath":"installation/base-installation.md","lastUpdated":1710118299000}'),e={name:"installation/base-installation.md"},l=t(`

Base installation

Rank the mirrors before for faster downloads

📊 This will rank the mirrorlist. You may replace United States with your country

bash
reflector -c 'United States' -a 15 -p https --sort rate --save /etc/pacman.d/mirrorlist
+pacman -Syy

Start the installation

⏳ This will install the system and may take a while

WARNING

⚠️ To ensure system stability append the microcode package for your CPU to the following command

bash
pacstrap /mnt base base-devel linux linux-firmware sysfsutils usbutils e2fsprogs inetutils netctl nano less which man-db man-pages

Create filesystem table

This will create the file system table which contains all the partitions and mountpoints

bash
genfstab -U /mnt >> /mnt/etc/fstab

Change root

After you entered this command, you are basically in the installed system

bash
arch-chroot /mnt
`,14),n=[l];function h(r,o,p,k,d,c){return a(),i("div",null,n)}const y=s(e,[["render",h]]);export{g as __pageData,y as default}; diff --git a/assets/installation_base-installation.md.W7pmNWqA.lean.js b/assets/installation_base-installation.md.W7pmNWqA.lean.js new file mode 100644 index 00000000..1903cee9 --- /dev/null +++ b/assets/installation_base-installation.md.W7pmNWqA.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as i,a4 as t}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Base installation","description":"","frontmatter":{},"headers":[],"relativePath":"installation/base-installation.md","filePath":"installation/base-installation.md","lastUpdated":1710118299000}'),e={name:"installation/base-installation.md"},l=t("",14),n=[l];function h(r,o,p,k,d,c){return a(),i("div",null,n)}const y=s(e,[["render",h]]);export{g as __pageData,y as default}; diff --git a/assets/installation_configure-system.md.nM-fEZ3F.js b/assets/installation_configure-system.md.652Qbr2J.js similarity index 79% rename from assets/installation_configure-system.md.nM-fEZ3F.js rename to assets/installation_configure-system.md.652Qbr2J.js index 7e5f4254..3b6cdd3e 100644 --- a/assets/installation_configure-system.md.nM-fEZ3F.js +++ b/assets/installation_configure-system.md.652Qbr2J.js @@ -1,7 +1,7 @@ -import{_ as a,o as s,c as e,V as i}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Configure system","description":"","frontmatter":{},"headers":[],"relativePath":"installation/configure-system.md","filePath":"installation/configure-system.md","lastUpdated":1710116288000}'),t={name:"installation/configure-system.md"},n=i(`

Configure system

The nano text editor

Nano is the text editor we will use in this tutorial. Basic Usage:

  • Move with arrow keys
  • CTRL + O and then ENTER to save
  • CTRL + X to exit

Setup hostname

📛 This will be the name of your PC on your network (Replace myhostname)

bash
echo myhostname > /etc/hostname
+import{_ as a,o as s,c as e,a4 as i}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Configure system","description":"","frontmatter":{},"headers":[],"relativePath":"installation/configure-system.md","filePath":"installation/configure-system.md","lastUpdated":1710118299000}'),t={name:"installation/configure-system.md"},n=i(`

Configure system

The nano text editor

Nano is the text editor we will use in this tutorial. Basic Usage:

  • Move with arrow keys
  • CTRL + O and then ENTER to save
  • CTRL + X to exit

Setup hostname

📛 This will be the name of your PC on your network (Replace myhostname)

bash
echo myhostname > /etc/hostname
 nano /etc/hosts

Add these lines

127.0.0.1   localhost
 ::1         localhost
 127.0.1.1   myhostname.localdomain  myhostname

Setup locale

🌐 Uncomment (remove the # in front of) all languages you need

bash
nano /etc/locale.gen

🏁 Generate locales

bash
locale-gen

🔘 Set locale

bash
echo LANG=en_US.UTF-8 > /etc/locale.conf
-export LANG=en_US.UTF-8

⌨️ Set tty keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
echo KEYMAP=yourkeymap > /etc/vconsole.conf

Setup time & date

📅 You can tab-complete your stuff after zoneinfo

bash
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
+export LANG=en_US.UTF-8

⌨️ Set tty keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
echo KEYMAP=yourkeymap > /etc/vconsole.conf

Setup time & date

📅 You can tab-complete your stuff after zoneinfo

bash
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
 hwclock --systohc --utc

Configure pacman

Edit pacman configuration file

bash
nano /etc/pacman.conf

Setup multilib

👾 multilib is a repository which contains 32-bit libraries and is disabled by default (needed for some games & software; highly recommended to enable)

💥 Uncomment (remove the # in front of) the following lines

ini
[multilib]
-Include = /etc/pacman.d/mirrorlist

Enable parallel downloads

🌐 Depending on your internet connection enabling parallel downloads may speed up the package download process

💥 Uncomment (remove the # in front of) this line and set it to your desired value

ini
ParallelDownloads = 5

Extra candy

🍬 If you want some extra candy you can uncomment Color and VerbosePkgLists and add ILoveCandy under Misc options.

After configuring

bash
pacman -Syu
`,36),l=[n];function o(p,h,d,c,r,k){return s(),e("div",null,l)}const m=a(t,[["render",o]]);export{g as __pageData,m as default}; +Include = /etc/pacman.d/mirrorlist

Enable parallel downloads

🌐 Depending on your internet connection enabling parallel downloads may speed up the package download process

💥 Uncomment (remove the # in front of) this line and set it to your desired value

ini
ParallelDownloads = 5

Extra candy

🍬 If you want some extra candy you can uncomment Color and VerbosePkgLists and add ILoveCandy under Misc options.

After configuring

bash
pacman -Syu
`,36),l=[n];function o(h,p,d,c,r,k){return s(),e("div",null,l)}const m=a(t,[["render",o]]);export{g as __pageData,m as default}; diff --git a/assets/installation_configure-system.md.652Qbr2J.lean.js b/assets/installation_configure-system.md.652Qbr2J.lean.js new file mode 100644 index 00000000..25e74620 --- /dev/null +++ b/assets/installation_configure-system.md.652Qbr2J.lean.js @@ -0,0 +1 @@ +import{_ as a,o as s,c as e,a4 as i}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Configure system","description":"","frontmatter":{},"headers":[],"relativePath":"installation/configure-system.md","filePath":"installation/configure-system.md","lastUpdated":1710118299000}'),t={name:"installation/configure-system.md"},n=i("",36),l=[n];function o(h,p,d,c,r,k){return s(),e("div",null,l)}const m=a(t,[["render",o]]);export{g as __pageData,m as default}; diff --git a/assets/installation_configure-system.md.nM-fEZ3F.lean.js b/assets/installation_configure-system.md.nM-fEZ3F.lean.js deleted file mode 100644 index 98812fc7..00000000 --- a/assets/installation_configure-system.md.nM-fEZ3F.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,V as i}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Configure system","description":"","frontmatter":{},"headers":[],"relativePath":"installation/configure-system.md","filePath":"installation/configure-system.md","lastUpdated":1710116288000}'),t={name:"installation/configure-system.md"},n=i("",36),l=[n];function o(p,h,d,c,r,k){return s(),e("div",null,l)}const m=a(t,[["render",o]]);export{g as __pageData,m as default}; diff --git a/assets/installation_index.md.XPvRfpVl.js b/assets/installation_index.md.XPvRfpVl.js new file mode 100644 index 00000000..9deb9530 --- /dev/null +++ b/assets/installation_index.md.XPvRfpVl.js @@ -0,0 +1 @@ +import{_ as e,o as t,c as r,a4 as a}from"./chunks/framework.xR9aiOhR.js";const _=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"installation/index.md","filePath":"installation/index.md","lastUpdated":1710118299000}'),i={name:"installation/index.md"},o=a('

Introduction

Why this guide?

The Arch Wiki has this information spread across multiple pages, and I think this is much more clearly laid out and straight forward. It also contains some packages and decisions that are personal preference.

Important other resources

The Arch Wiki is a very powerful resource. If you have any problems it's the first place to search for solutions
https://wiki.archlinux.org

Especially for the installation please read
https://wiki.archlinux.org/index.php/installation_guide

Sometimes packages need manual intervention which is announced at
https://www.archlinux.org/news/
So keep an eye on it or ideally subscribe to the mailing list at
https://lists.archlinux.org/mailman3/lists/arch-announce.lists.archlinux.org/

This tutorial is inspired by https://sourceforge.net/projects/ezos/files/ezarcher/Project_Files/ and have taken out some stuff of it

',8),n=[o];function s(l,h,c,p,d,u){return t(),r("div",null,n)}const m=e(i,[["render",s]]);export{_ as __pageData,m as default}; diff --git a/assets/installation_index.md.XPvRfpVl.lean.js b/assets/installation_index.md.XPvRfpVl.lean.js new file mode 100644 index 00000000..5bafae6a --- /dev/null +++ b/assets/installation_index.md.XPvRfpVl.lean.js @@ -0,0 +1 @@ +import{_ as e,o as t,c as r,a4 as a}from"./chunks/framework.xR9aiOhR.js";const _=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"installation/index.md","filePath":"installation/index.md","lastUpdated":1710118299000}'),i={name:"installation/index.md"},o=a("",8),n=[o];function s(l,h,c,p,d,u){return t(),r("div",null,n)}const m=e(i,[["render",s]]);export{_ as __pageData,m as default}; diff --git a/assets/installation_index.md.e4KqLS7B.js b/assets/installation_index.md.e4KqLS7B.js deleted file mode 100644 index 5fe52e85..00000000 --- a/assets/installation_index.md.e4KqLS7B.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as r,V as a}from"./chunks/framework.HmH449Dw.js";const _=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"installation/index.md","filePath":"installation/index.md","lastUpdated":1710116288000}'),i={name:"installation/index.md"},o=a('

Introduction

Why this guide?

The Arch Wiki has this information spread across multiple pages, and I think this is much more clearly laid out and straight forward. It also contains some packages and decisions that are personal preference.

Important other resources

The Arch Wiki is a very powerful resource. If you have any problems it's the first place to search for solutions
https://wiki.archlinux.org

Especially for the installation please read
https://wiki.archlinux.org/index.php/installation_guide

Sometimes packages need manual intervention which is announced at
https://www.archlinux.org/news/
So keep an eye on it or ideally subscribe to the mailing list at
https://lists.archlinux.org/mailman3/lists/arch-announce.lists.archlinux.org/

This tutorial is inspired by https://sourceforge.net/projects/ezos/files/ezarcher/Project_Files/ and have taken out some stuff of it

',8),n=[o];function s(l,h,c,p,d,u){return t(),r("div",null,n)}const m=e(i,[["render",s]]);export{_ as __pageData,m as default}; diff --git a/assets/installation_index.md.e4KqLS7B.lean.js b/assets/installation_index.md.e4KqLS7B.lean.js deleted file mode 100644 index 866bbbd3..00000000 --- a/assets/installation_index.md.e4KqLS7B.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as r,V as a}from"./chunks/framework.HmH449Dw.js";const _=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"installation/index.md","filePath":"installation/index.md","lastUpdated":1710116288000}'),i={name:"installation/index.md"},o=a("",8),n=[o];function s(l,h,c,p,d,u){return t(),r("div",null,n)}const m=e(i,[["render",s]]);export{_ as __pageData,m as default}; diff --git a/assets/installation_install-bootloader.md.Kl1Ro4gU.js b/assets/installation_install-bootloader.md.Kl1Ro4gU.js deleted file mode 100644 index 83bcc918..00000000 --- a/assets/installation_install-bootloader.md.Kl1Ro4gU.js +++ /dev/null @@ -1,5 +0,0 @@ -import{_ as s,o as i,c as a,V as t}from"./chunks/framework.HmH449Dw.js";const F=JSON.parse('{"title":"Install Bootloader","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-bootloader.md","filePath":"installation/install-bootloader.md","lastUpdated":1710116288000}'),e={name:"installation/install-bootloader.md"},n=t(`

Install Bootloader

TIP

When doing disk encryption, finish the steps on the encryption page. It will guide you back to the main installation when needed.

If you don't know which one you should use re-visit Live Setup/Check if booted in BIOS or UEFI

UEFI

bash
pacman -S grub os-prober efibootmgr dosfstools mtools gptfdisk fatresize
-grub-install --target=x86_64-efi --bootloader-id=grub_uefi --efi-directory=/boot/efi --recheck
-grub-mkconfig -o /boot/grub/grub.cfg

BIOS

bash
pacman -S grub os-prober
-grub-install --target=i386-pc --recheck /dev/sdX
-grub-mkconfig -o /boot/grub/grub.cfg
`,7),l=[n];function o(h,p,r,d,k,c){return i(),a("div",null,l)}const b=s(e,[["render",o]]);export{F as __pageData,b as default}; diff --git a/assets/installation_install-bootloader.md.Kl1Ro4gU.lean.js b/assets/installation_install-bootloader.md.Kl1Ro4gU.lean.js deleted file mode 100644 index d1a174a7..00000000 --- a/assets/installation_install-bootloader.md.Kl1Ro4gU.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,V as t}from"./chunks/framework.HmH449Dw.js";const F=JSON.parse('{"title":"Install Bootloader","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-bootloader.md","filePath":"installation/install-bootloader.md","lastUpdated":1710116288000}'),e={name:"installation/install-bootloader.md"},n=t("",7),l=[n];function o(h,p,r,d,k,c){return i(),a("div",null,l)}const b=s(e,[["render",o]]);export{F as __pageData,b as default}; diff --git a/assets/installation_install-bootloader.md.zOUASgRg.js b/assets/installation_install-bootloader.md.zOUASgRg.js new file mode 100644 index 00000000..1cd7dce3 --- /dev/null +++ b/assets/installation_install-bootloader.md.zOUASgRg.js @@ -0,0 +1,5 @@ +import{_ as s,o as i,c as a,a4 as t}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Install Bootloader","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-bootloader.md","filePath":"installation/install-bootloader.md","lastUpdated":1710118299000}'),e={name:"installation/install-bootloader.md"},n=t(`

Install Bootloader

TIP

When doing disk encryption, finish the steps on the encryption page. It will guide you back to the main installation when needed.

If you don't know which one you should use re-visit Live Setup/Check if booted in BIOS or UEFI

UEFI

bash
pacman -S grub os-prober efibootmgr dosfstools mtools gptfdisk fatresize
+grub-install --target=x86_64-efi --bootloader-id=grub_uefi --efi-directory=/boot/efi --recheck
+grub-mkconfig -o /boot/grub/grub.cfg

BIOS

bash
pacman -S grub os-prober
+grub-install --target=i386-pc --recheck /dev/sdX
+grub-mkconfig -o /boot/grub/grub.cfg
`,7),l=[n];function h(o,p,r,k,d,c){return i(),a("div",null,l)}const b=s(e,[["render",h]]);export{g as __pageData,b as default}; diff --git a/assets/installation_install-bootloader.md.zOUASgRg.lean.js b/assets/installation_install-bootloader.md.zOUASgRg.lean.js new file mode 100644 index 00000000..7065b7a8 --- /dev/null +++ b/assets/installation_install-bootloader.md.zOUASgRg.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as a,a4 as t}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Install Bootloader","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-bootloader.md","filePath":"installation/install-bootloader.md","lastUpdated":1710118299000}'),e={name:"installation/install-bootloader.md"},n=t("",7),l=[n];function h(o,p,r,k,d,c){return i(),a("div",null,l)}const b=s(e,[["render",h]]);export{g as __pageData,b as default}; diff --git a/assets/installation_install-desktop.md.17tEB1ES.js b/assets/installation_install-desktop.md.17tEB1ES.js deleted file mode 100644 index 9b4e4226..00000000 --- a/assets/installation_install-desktop.md.17tEB1ES.js +++ /dev/null @@ -1,8 +0,0 @@ -import{_ as a,o as s,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"Install Desktop","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-desktop.md","filePath":"installation/install-desktop.md","lastUpdated":1710116288000}'),t={name:"installation/install-desktop.md"},n=e(`

Install Desktop

Display Server

🖥️ Xorg is the display server we will use

bash
pacman -S xorg-server xorg-xinit xorg-xrandr xorg-xfontsel xorg-xlsfonts xorg-xkill xorg-xinput xorg-xwininfo

Desktop Environment

🗔 You need to select a desktop environment

  • For beginners coming from Windows I recommend KDE Plasma or Cinnmaon.
  • For a very resource friendy desktop I recommend Xfce or LXQt
  • The instructions for KDE Plasma are tested by me because I use it. Others should work but you may need some extra packages for productive use (pull requests are welcome)

KDE Plasma

bash
pacman -S plasma kdialog packagekit-qt5 kcalc icoutils libappimage konsole dolphin kdegraphics-thumbnailers svgpart ffmpegthumbs kdenetwork-filesharing gwenview kimageformats ark kate okular kcron kdf filelight print-manager

If you want to use KDE Connect (Pairing with Android phone)

bash
pacman -S kdeconnect sshfs

See also https://wiki.archlinux.org/index.php/KDE

Xfce

bash
pacman -S xfce4 xfce4-goodies

See also https://wiki.archlinux.org/index.php/Xfce

GNOME

bash
pacman -S gnome gnome-extra

See also https://wiki.archlinux.org/index.php/GNOME

LXDE

bash
pacman -S lxde lxdm-gtk3

See also https://wiki.archlinux.org/index.php/LXDE

LXQt

bash
pacman -S lxqt breeze-icons pcmanfm-qt qterminal lxqt-sudo polkit-qt5

See also https://wiki.archlinux.org/index.php/LXQt

Cinnamon

bash
pacman -S cinnamon cinnamon-translations nemo-fileroller nemo-image-converter nemo-preview xed xreader gnome-terminal metacity gnome-shell

See also https://wiki.archlinux.org/index.php/Cinnamon

Budgie

bash
pacman -S budgie-desktop network-manager-applet gnome

See also https://wiki.archlinux.org/index.php/Budgie

Mate

bash
pacman -S mate mate-extra gdm

See also https://wiki.archlinux.org/index.php/MATE

Deepin

bash
pacman -S deepin deepin-extra
-nano /etc/lightdm/lightdm.conf
-# append this line to use the deepin specific greeter
-greeter-session=lightdm-deepin-greeter

See also https://wiki.archlinux.org/index.php/Deepin

Display/Desktop Manager

🖥️ A display manager is basically your login screen where you enter your user details and select your Desktop Environment

LXDM (Included with LXDE)

bash
pacman -S lxdm-gtk3
-systemctl enable lxdm

See also https://wiki.archlinux.org/index.php/LXDM

SDDM (Included with KDE Plasma)

bash
pacman -S sddm
-systemctl enable sddm

See also https://wiki.archlinux.org/index.php/SDDM

GDM (Included with GNOME/Budgie/MATE)

bash
pacman -S gdm
-systemctl enable gdm

See also https://wiki.archlinux.org/index.php/GDM

LightDM

bash
pacman -S lightdm lightdm-gtk-greeter
-systemctl enable lightdm

See also https://wiki.archlinux.org/index.php/LightDM

`,50),l=[n];function h(p,r,d,o,k,c){return s(),i("div",null,l)}const m=a(t,[["render",h]]);export{u as __pageData,m as default}; diff --git a/assets/installation_install-desktop.md.17tEB1ES.lean.js b/assets/installation_install-desktop.md.17tEB1ES.lean.js deleted file mode 100644 index 74d12755..00000000 --- a/assets/installation_install-desktop.md.17tEB1ES.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"Install Desktop","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-desktop.md","filePath":"installation/install-desktop.md","lastUpdated":1710116288000}'),t={name:"installation/install-desktop.md"},n=e("",50),l=[n];function h(p,r,d,o,k,c){return s(),i("div",null,l)}const m=a(t,[["render",h]]);export{u as __pageData,m as default}; diff --git a/assets/installation_install-desktop.md.QE6xAbBI.js b/assets/installation_install-desktop.md.QE6xAbBI.js new file mode 100644 index 00000000..81dfae3b --- /dev/null +++ b/assets/installation_install-desktop.md.QE6xAbBI.js @@ -0,0 +1,8 @@ +import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const c=JSON.parse('{"title":"Install Desktop","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-desktop.md","filePath":"installation/install-desktop.md","lastUpdated":1710118299000}'),t={name:"installation/install-desktop.md"},n=e(`

Install Desktop

Display Server

🖥️ Xorg is the display server we will use

bash
pacman -S xorg-server xorg-xinit xorg-xrandr xorg-xfontsel xorg-xlsfonts xorg-xkill xorg-xinput xorg-xwininfo

Desktop Environment

🗔 You need to select a desktop environment

  • For beginners coming from Windows I recommend KDE Plasma or Cinnmaon.
  • For a very resource friendy desktop I recommend Xfce or LXQt
  • The instructions for KDE Plasma are tested by me because I use it. Others should work but you may need some extra packages for productive use (pull requests are welcome)

KDE Plasma

bash
pacman -S plasma kdialog packagekit-qt5 kcalc icoutils libappimage konsole dolphin kdegraphics-thumbnailers svgpart ffmpegthumbs kdenetwork-filesharing gwenview kimageformats ark kate okular kcron kdf filelight print-manager

If you want to use KDE Connect (Pairing with Android phone)

bash
pacman -S kdeconnect sshfs

See also https://wiki.archlinux.org/index.php/KDE

Xfce

bash
pacman -S xfce4 xfce4-goodies

See also https://wiki.archlinux.org/index.php/Xfce

GNOME

bash
pacman -S gnome gnome-extra

See also https://wiki.archlinux.org/index.php/GNOME

LXDE

bash
pacman -S lxde lxdm-gtk3

See also https://wiki.archlinux.org/index.php/LXDE

LXQt

bash
pacman -S lxqt breeze-icons pcmanfm-qt qterminal lxqt-sudo polkit-qt5

See also https://wiki.archlinux.org/index.php/LXQt

Cinnamon

bash
pacman -S cinnamon cinnamon-translations nemo-fileroller nemo-image-converter nemo-preview xed xreader gnome-terminal metacity gnome-shell

See also https://wiki.archlinux.org/index.php/Cinnamon

Budgie

bash
pacman -S budgie-desktop network-manager-applet gnome

See also https://wiki.archlinux.org/index.php/Budgie

Mate

bash
pacman -S mate mate-extra gdm

See also https://wiki.archlinux.org/index.php/MATE

Deepin

bash
pacman -S deepin deepin-extra
+nano /etc/lightdm/lightdm.conf
+# append this line to use the deepin specific greeter
+greeter-session=lightdm-deepin-greeter

See also https://wiki.archlinux.org/index.php/Deepin

Display/Desktop Manager

🖥️ A display manager is basically your login screen where you enter your user details and select your Desktop Environment

LXDM (Included with LXDE)

bash
pacman -S lxdm-gtk3
+systemctl enable lxdm

See also https://wiki.archlinux.org/index.php/LXDM

SDDM (Included with KDE Plasma)

bash
pacman -S sddm
+systemctl enable sddm

See also https://wiki.archlinux.org/index.php/SDDM

GDM (Included with GNOME/Budgie/MATE)

bash
pacman -S gdm
+systemctl enable gdm

See also https://wiki.archlinux.org/index.php/GDM

LightDM

bash
pacman -S lightdm lightdm-gtk-greeter
+systemctl enable lightdm

See also https://wiki.archlinux.org/index.php/LightDM

`,50),h=[n];function l(p,r,k,d,o,g){return i(),a("div",null,h)}const u=s(t,[["render",l]]);export{c as __pageData,u as default}; diff --git a/assets/installation_install-desktop.md.QE6xAbBI.lean.js b/assets/installation_install-desktop.md.QE6xAbBI.lean.js new file mode 100644 index 00000000..9a636bec --- /dev/null +++ b/assets/installation_install-desktop.md.QE6xAbBI.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const c=JSON.parse('{"title":"Install Desktop","description":"","frontmatter":{},"headers":[],"relativePath":"installation/install-desktop.md","filePath":"installation/install-desktop.md","lastUpdated":1710118299000}'),t={name:"installation/install-desktop.md"},n=e("",50),h=[n];function l(p,r,k,d,o,g){return i(),a("div",null,h)}const u=s(t,[["render",l]]);export{c as __pageData,u as default}; diff --git a/assets/installation_live-setup.md.NAdPCT4P.js b/assets/installation_live-setup.md.NAdPCT4P.js new file mode 100644 index 00000000..53a4d73a --- /dev/null +++ b/assets/installation_live-setup.md.NAdPCT4P.js @@ -0,0 +1,8 @@ +import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const y=JSON.parse('{"title":"Live Setup","description":"","frontmatter":{},"headers":[],"relativePath":"installation/live-setup.md","filePath":"installation/live-setup.md","lastUpdated":1710118299000}'),t={name:"installation/live-setup.md"},n=e(`

Live Setup

At this point, I assume you're already in the archiso. Make sure you are using the latest version which can be found on the official download site

Set keyboard layout

⌨️ The default keymap is US. Available layouts can be listed with:

bash
ls /usr/share/kbd/keymaps/**/*.map.gz

Set your keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
loadkeys yourkeymap

If you use Wi-Fi to connect to your router

📶 Use this tool to connect to your network

bash
iwctl
+device list
+# your device name might be different (replace wlan0)
+station wlan0 scan
+station wlan0 get-networks
+# replace <SSID> with your network name from the previous command
+station wlan0 connect <SSID>
+exit

Check internet connection

bash
ping -c 3 archlinux.org

Sync time

🕒 Ensure the system clock is accurate

bash
timedatectl set-ntp true

Check if booted in BIOS or UEFI

bash
ls /sys/firmware/efi/efivars

If the directory does not exist, the system may be booted in Legacy BIOS Mode. Most likely you want to do a UEFI install so please double-check if your system supports UEFI and you selected the correct entry in the boot menu (In most cases prefixed with UEFI)

`,18),l=[n];function h(o,p,r,k,c,d){return i(),a("div",null,l)}const F=s(t,[["render",h]]);export{y as __pageData,F as default}; diff --git a/assets/installation_live-setup.md.NAdPCT4P.lean.js b/assets/installation_live-setup.md.NAdPCT4P.lean.js new file mode 100644 index 00000000..3c00bc5b --- /dev/null +++ b/assets/installation_live-setup.md.NAdPCT4P.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const y=JSON.parse('{"title":"Live Setup","description":"","frontmatter":{},"headers":[],"relativePath":"installation/live-setup.md","filePath":"installation/live-setup.md","lastUpdated":1710118299000}'),t={name:"installation/live-setup.md"},n=e("",18),l=[n];function h(o,p,r,k,c,d){return i(),a("div",null,l)}const F=s(t,[["render",h]]);export{y as __pageData,F as default}; diff --git a/assets/installation_live-setup.md.l-ipLV_0.js b/assets/installation_live-setup.md.l-ipLV_0.js deleted file mode 100644 index f4154ef7..00000000 --- a/assets/installation_live-setup.md.l-ipLV_0.js +++ /dev/null @@ -1,8 +0,0 @@ -import{_ as s,o as a,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const y=JSON.parse('{"title":"Live Setup","description":"","frontmatter":{},"headers":[],"relativePath":"installation/live-setup.md","filePath":"installation/live-setup.md","lastUpdated":1710116288000}'),t={name:"installation/live-setup.md"},n=e(`

Live Setup

At this point, I assume you're already in the archiso. Make sure you are using the latest version which can be found on the official download site

Set keyboard layout

⌨️ The default keymap is US. Available layouts can be listed with:

bash
ls /usr/share/kbd/keymaps/**/*.map.gz

Set your keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
loadkeys yourkeymap

If you use Wi-Fi to connect to your router

📶 Use this tool to connect to your network

bash
iwctl
-device list
-# your device name might be different (replace wlan0)
-station wlan0 scan
-station wlan0 get-networks
-# replace <SSID> with your network name from the previous command
-station wlan0 connect <SSID>
-exit

Check internet connection

bash
ping -c 3 archlinux.org

Sync time

🕒 Ensure the system clock is accurate

bash
timedatectl set-ntp true

Check if booted in BIOS or UEFI

bash
ls /sys/firmware/efi/efivars

If the directory does not exist, the system may be booted in Legacy BIOS Mode. Most likely you want to do a UEFI install so please double-check if your system supports UEFI and you selected the correct entry in the boot menu (In most cases prefixed with UEFI)

`,18),l=[n];function h(o,p,r,c,k,d){return a(),i("div",null,l)}const g=s(t,[["render",h]]);export{y as __pageData,g as default}; diff --git a/assets/installation_live-setup.md.l-ipLV_0.lean.js b/assets/installation_live-setup.md.l-ipLV_0.lean.js deleted file mode 100644 index ce55ae2e..00000000 --- a/assets/installation_live-setup.md.l-ipLV_0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const y=JSON.parse('{"title":"Live Setup","description":"","frontmatter":{},"headers":[],"relativePath":"installation/live-setup.md","filePath":"installation/live-setup.md","lastUpdated":1710116288000}'),t={name:"installation/live-setup.md"},n=e("",18),l=[n];function h(o,p,r,c,k,d){return a(),i("div",null,l)}const g=s(t,[["render",h]]);export{y as __pageData,g as default}; diff --git a/assets/installation_mount-filesystems.md.-U8eM1MQ.js b/assets/installation_mount-filesystems.md.-U8eM1MQ.js new file mode 100644 index 00000000..ee53d44c --- /dev/null +++ b/assets/installation_mount-filesystems.md.-U8eM1MQ.js @@ -0,0 +1,3 @@ +import{_ as s,o as i,c as a,a4 as t}from"./chunks/framework.xR9aiOhR.js";const F=JSON.parse('{"title":"Mount file systems","description":"","frontmatter":{},"headers":[],"relativePath":"installation/mount-filesystems.md","filePath":"installation/mount-filesystems.md","lastUpdated":1710118299000}'),e={name:"installation/mount-filesystems.md"},n=t(`

Mount file systems

💽 Mount root filesystem:

bash
mount /dev/sdXY /mnt

▶️ Only UEFI

bash
mkdir -p /mnt/boot/efi
+mount /dev/sdXY /mnt/boot/efi

🏠 If you created a separate home partition:

bash
mkdir /mnt/home
+mount /dev/sdXY /mnt/home
`,7),l=[n];function p(h,o,d,k,r,c){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{F as __pageData,u as default}; diff --git a/assets/installation_mount-filesystems.md.-U8eM1MQ.lean.js b/assets/installation_mount-filesystems.md.-U8eM1MQ.lean.js new file mode 100644 index 00000000..89e161de --- /dev/null +++ b/assets/installation_mount-filesystems.md.-U8eM1MQ.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as a,a4 as t}from"./chunks/framework.xR9aiOhR.js";const F=JSON.parse('{"title":"Mount file systems","description":"","frontmatter":{},"headers":[],"relativePath":"installation/mount-filesystems.md","filePath":"installation/mount-filesystems.md","lastUpdated":1710118299000}'),e={name:"installation/mount-filesystems.md"},n=t("",7),l=[n];function p(h,o,d,k,r,c){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{F as __pageData,u as default}; diff --git a/assets/installation_mount-filesystems.md.nmv4_n7M.js b/assets/installation_mount-filesystems.md.nmv4_n7M.js deleted file mode 100644 index e581b5c5..00000000 --- a/assets/installation_mount-filesystems.md.nmv4_n7M.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as s,o as t,c as a,V as i}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"Mount file systems","description":"","frontmatter":{},"headers":[],"relativePath":"installation/mount-filesystems.md","filePath":"installation/mount-filesystems.md","lastUpdated":1710116288000}'),e={name:"installation/mount-filesystems.md"},n=i(`

Mount file systems

💽 Mount root filesystem:

bash
mount /dev/sdXY /mnt

▶️ Only UEFI

bash
mkdir -p /mnt/boot/efi
-mount /dev/sdXY /mnt/boot/efi

🏠 If you created a separate home partition:

bash
mkdir /mnt/home
-mount /dev/sdXY /mnt/home
`,7),l=[n];function p(o,h,d,c,r,k){return t(),a("div",null,l)}const g=s(e,[["render",p]]);export{u as __pageData,g as default}; diff --git a/assets/installation_mount-filesystems.md.nmv4_n7M.lean.js b/assets/installation_mount-filesystems.md.nmv4_n7M.lean.js deleted file mode 100644 index 6e9b145e..00000000 --- a/assets/installation_mount-filesystems.md.nmv4_n7M.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as t,c as a,V as i}from"./chunks/framework.HmH449Dw.js";const u=JSON.parse('{"title":"Mount file systems","description":"","frontmatter":{},"headers":[],"relativePath":"installation/mount-filesystems.md","filePath":"installation/mount-filesystems.md","lastUpdated":1710116288000}'),e={name:"installation/mount-filesystems.md"},n=i("",7),l=[n];function p(o,h,d,c,r,k){return t(),a("div",null,l)}const g=s(e,[["render",p]]);export{u as __pageData,g as default}; diff --git a/assets/installation_partitioning-formatting.md.MXk_sgov.js b/assets/installation_partitioning-formatting.md.MXk_sgov.js new file mode 100644 index 00000000..44a59805 --- /dev/null +++ b/assets/installation_partitioning-formatting.md.MXk_sgov.js @@ -0,0 +1,2 @@ +import{_ as t,o as a,c as i,a4 as e}from"./chunks/framework.xR9aiOhR.js";const b=JSON.parse('{"title":"Partitioning & Formatting","description":"","frontmatter":{},"headers":[],"relativePath":"installation/partitioning-formatting.md","filePath":"installation/partitioning-formatting.md","lastUpdated":1710118299000}'),s={name:"installation/partitioning-formatting.md"},n=e(`

Partitioning & Formatting

TIP

In the following X and Y are placeholders. Replace them with your corresponding device and partition number. "sd" could also be different if you don't connect your hard drive via SCSI/SATA

Partitioning

TIP

If you want to do disk encryption, go to the encryption page. It will guide you back to the main installation when needed.

TIP

Also see this awesome video about partitioning by EF - Linux Made Simple

List partition table

To get an overview you can list your partition table to find out the device you want to use

bash
fdisk -l

Start partitioning tool

▶️ Text-based

bash
fdisk /dev/sdX

▶️ UEFI only text-based

bash
gdisk /dev/sdX

▶️ Graphical (Recommended for beginners)

bash
cfdisk /dev/sdX

▶️ UEFI only Graphical (Recommended for beginners)

bash
cgdisk /dev/sdX

Create partitions

Decide partition table type

  • BIOS: You can use both but this guide uses DOS
  • UEFI: You need to use GPT

GPT (UEFI)

NeededPartitionPartition typeMount point
✔️/dev/sdXYEFI system partition/mnt/boot/efi
/dev/sdXYLinux swap-
✔️/dev/sdXYLinux/mnt
/dev/sdXYLinux/mnt/home

DOS (BIOS)

NeededPartitionPartition typeMount pointFlags
/dev/sdXYLinux swap--
✔️/dev/sdXYLinux/mntBootable
/dev/sdXYLinux/mnt/home-

GPT (BIOS)

Size recommendations

EFI system

  • At least: 150MB
  • Recommended: 300MB

Swap

Taken from https://docs.voidlinux.org/installation/live-images/partitions.html

System RAMRecommended swap spaceSwap space if using hibernation
< 2GB2x the amount of RAM3x the amount of RAM
2-8GBEqual to amount of RAM2x the amount of RAM
8-64GBAt least 4GB1.5x the amount of RAM
64GBAt least 4GBHibernation not recommended

Format partitions

EFI system partition

bash
mkfs.fat -F32 -n EFI /dev/sdXY

Create root filesystem

💽 This will create the filesystem where the system will be installed on

bash
mkfs.ext4 -L ROOT /dev/sdXY

Create home partition filesystem

🏠 If you created a separate home partition

bash
mkfs.ext4 -L HOME /dev/sdXY

Create Swap

bash
mkswap -L SWAP /dev/sdXY
+swapon /dev/sdXY
`,42),o=[n];function d(l,h,r,p,c,k){return a(),i("div",null,o)}const g=t(s,[["render",d]]);export{b as __pageData,g as default}; diff --git a/assets/installation_partitioning-formatting.md.MXk_sgov.lean.js b/assets/installation_partitioning-formatting.md.MXk_sgov.lean.js new file mode 100644 index 00000000..d00f48c0 --- /dev/null +++ b/assets/installation_partitioning-formatting.md.MXk_sgov.lean.js @@ -0,0 +1 @@ +import{_ as t,o as a,c as i,a4 as e}from"./chunks/framework.xR9aiOhR.js";const b=JSON.parse('{"title":"Partitioning & Formatting","description":"","frontmatter":{},"headers":[],"relativePath":"installation/partitioning-formatting.md","filePath":"installation/partitioning-formatting.md","lastUpdated":1710118299000}'),s={name:"installation/partitioning-formatting.md"},n=e("",42),o=[n];function d(l,h,r,p,c,k){return a(),i("div",null,o)}const g=t(s,[["render",d]]);export{b as __pageData,g as default}; diff --git a/assets/installation_partitioning-formatting.md.h8YOOk3-.js b/assets/installation_partitioning-formatting.md.h8YOOk3-.js deleted file mode 100644 index 6151303f..00000000 --- a/assets/installation_partitioning-formatting.md.h8YOOk3-.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as t,o as a,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const b=JSON.parse('{"title":"Partitioning & Formatting","description":"","frontmatter":{},"headers":[],"relativePath":"installation/partitioning-formatting.md","filePath":"installation/partitioning-formatting.md","lastUpdated":1710116288000}'),s={name:"installation/partitioning-formatting.md"},n=e(`

Partitioning & Formatting

TIP

In the following X and Y are placeholders. Replace them with your corresponding device and partition number. "sd" could also be different if you don't connect your hard drive via SCSI/SATA

Partitioning

TIP

If you want to do disk encryption, go to the encryption page. It will guide you back to the main installation when needed.

TIP

Also see this awesome video about partitioning by EF - Linux Made Simple

List partition table

To get an overview you can list your partition table to find out the device you want to use

bash
fdisk -l

Start partitioning tool

▶️ Text-based

bash
fdisk /dev/sdX

▶️ UEFI only text-based

bash
gdisk /dev/sdX

▶️ Graphical (Recommended for beginners)

bash
cfdisk /dev/sdX

▶️ UEFI only Graphical (Recommended for beginners)

bash
cgdisk /dev/sdX

Create partitions

Decide partition table type

  • BIOS: You can use both but this guide uses DOS
  • UEFI: You need to use GPT

GPT (UEFI)

NeededPartitionPartition typeMount point
✔️/dev/sdXYEFI system partition/mnt/boot/efi
/dev/sdXYLinux swap-
✔️/dev/sdXYLinux/mnt
/dev/sdXYLinux/mnt/home

DOS (BIOS)

NeededPartitionPartition typeMount pointFlags
/dev/sdXYLinux swap--
✔️/dev/sdXYLinux/mntBootable
/dev/sdXYLinux/mnt/home-

GPT (BIOS)

Size recommendations

EFI system

  • At least: 150MB
  • Recommended: 300MB

Swap

Taken from https://docs.voidlinux.org/installation/live-images/partitions.html

System RAMRecommended swap spaceSwap space if using hibernation
< 2GB2x the amount of RAM3x the amount of RAM
2-8GBEqual to amount of RAM2x the amount of RAM
8-64GBAt least 4GB1.5x the amount of RAM
64GBAt least 4GBHibernation not recommended

Format partitions

EFI system partition

bash
mkfs.fat -F32 -n EFI /dev/sdXY

Create root filesystem

💽 This will create the filesystem where the system will be installed on

bash
mkfs.ext4 -L ROOT /dev/sdXY

Create home partition filesystem

🏠 If you created a separate home partition

bash
mkfs.ext4 -L HOME /dev/sdXY

Create Swap

bash
mkswap -L SWAP /dev/sdXY
-swapon /dev/sdXY
`,42),o=[n];function d(l,r,h,p,c,k){return a(),i("div",null,o)}const m=t(s,[["render",d]]);export{b as __pageData,m as default}; diff --git a/assets/installation_partitioning-formatting.md.h8YOOk3-.lean.js b/assets/installation_partitioning-formatting.md.h8YOOk3-.lean.js deleted file mode 100644 index f1c22138..00000000 --- a/assets/installation_partitioning-formatting.md.h8YOOk3-.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as a,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const b=JSON.parse('{"title":"Partitioning & Formatting","description":"","frontmatter":{},"headers":[],"relativePath":"installation/partitioning-formatting.md","filePath":"installation/partitioning-formatting.md","lastUpdated":1710116288000}'),s={name:"installation/partitioning-formatting.md"},n=e("",42),o=[n];function d(l,r,h,p,c,k){return a(),i("div",null,o)}const m=t(s,[["render",d]]);export{b as __pageData,m as default}; diff --git a/assets/installation_reboot.md.ieehy_Ui.js b/assets/installation_reboot.md.ieehy_Ui.js deleted file mode 100644 index 70700a9b..00000000 --- a/assets/installation_reboot.md.ieehy_Ui.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as t,o as s,c as a,V as e}from"./chunks/framework.HmH449Dw.js";const b=JSON.parse('{"title":"Reboot","description":"","frontmatter":{},"headers":[],"relativePath":"installation/reboot.md","filePath":"installation/reboot.md","lastUpdated":1710116288000}'),i={name:"installation/reboot.md"},o=e(`

Reboot

bash
exit
-umount -R /mnt
-reboot

TIP

Now continue with Post-Installation

`,3),n=[o];function l(p,r,c,h,d,_){return s(),a("div",null,n)}const u=t(i,[["render",l]]);export{b as __pageData,u as default}; diff --git a/assets/installation_reboot.md.ieehy_Ui.lean.js b/assets/installation_reboot.md.ieehy_Ui.lean.js deleted file mode 100644 index 45f7df83..00000000 --- a/assets/installation_reboot.md.ieehy_Ui.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as s,c as a,V as e}from"./chunks/framework.HmH449Dw.js";const b=JSON.parse('{"title":"Reboot","description":"","frontmatter":{},"headers":[],"relativePath":"installation/reboot.md","filePath":"installation/reboot.md","lastUpdated":1710116288000}'),i={name:"installation/reboot.md"},o=e("",3),n=[o];function l(p,r,c,h,d,_){return s(),a("div",null,n)}const u=t(i,[["render",l]]);export{b as __pageData,u as default}; diff --git a/assets/installation_reboot.md.jtKUAeHr.js b/assets/installation_reboot.md.jtKUAeHr.js new file mode 100644 index 00000000..f2afde6f --- /dev/null +++ b/assets/installation_reboot.md.jtKUAeHr.js @@ -0,0 +1,3 @@ +import{_ as t,o as s,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const b=JSON.parse('{"title":"Reboot","description":"","frontmatter":{},"headers":[],"relativePath":"installation/reboot.md","filePath":"installation/reboot.md","lastUpdated":1710118299000}'),i={name:"installation/reboot.md"},o=e(`

Reboot

bash
exit
+umount -R /mnt
+reboot

TIP

Now continue with Post-Installation

`,3),n=[o];function l(p,r,c,h,d,_){return s(),a("div",null,n)}const u=t(i,[["render",l]]);export{b as __pageData,u as default}; diff --git a/assets/installation_reboot.md.jtKUAeHr.lean.js b/assets/installation_reboot.md.jtKUAeHr.lean.js new file mode 100644 index 00000000..4a1ee424 --- /dev/null +++ b/assets/installation_reboot.md.jtKUAeHr.lean.js @@ -0,0 +1 @@ +import{_ as t,o as s,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const b=JSON.parse('{"title":"Reboot","description":"","frontmatter":{},"headers":[],"relativePath":"installation/reboot.md","filePath":"installation/reboot.md","lastUpdated":1710118299000}'),i={name:"installation/reboot.md"},o=e("",3),n=[o];function l(p,r,c,h,d,_){return s(),a("div",null,n)}const u=t(i,[["render",l]]);export{b as __pageData,u as default}; diff --git a/assets/installation_setup-users.md.BZA2_tOQ.js b/assets/installation_setup-users.md.BZA2_tOQ.js deleted file mode 100644 index 5185e67a..00000000 --- a/assets/installation_setup-users.md.BZA2_tOQ.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as s,o as a,c as e,V as i}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Setup users","description":"","frontmatter":{},"headers":[],"relativePath":"installation/setup-users.md","filePath":"installation/setup-users.md","lastUpdated":1710116288000}'),t={name:"installation/setup-users.md"},n=i(`

Setup users

Set root password

🔑 Use a strong and complicated password

bash
passwd

Add your user

🧑 This will be your user you'll use to log in. For group reference see https://wiki.archlinux.org/index.php/Users_and_groups#Group_list

bash
useradd -m -G audio,video,input,wheel,sys,log,rfkill,lp,adm -s /bin/bash yourusername
-passwd yourusername

🎰 If you want to force your user to change password after first login:

bash
chage -d 0 yourusername

Enable sudo

🧐 This will give your user administrative privileges

bash
EDITOR=nano visudo

💥 Uncomment (remove the # in front of) the following lines

%wheel ALL=(ALL) ALL
`,14),l=[n];function p(o,r,h,d,u,c){return a(),e("div",null,l)}const b=s(t,[["render",p]]);export{g as __pageData,b as default}; diff --git a/assets/installation_setup-users.md.BZA2_tOQ.lean.js b/assets/installation_setup-users.md.BZA2_tOQ.lean.js deleted file mode 100644 index a7ba45ff..00000000 --- a/assets/installation_setup-users.md.BZA2_tOQ.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,V as i}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Setup users","description":"","frontmatter":{},"headers":[],"relativePath":"installation/setup-users.md","filePath":"installation/setup-users.md","lastUpdated":1710116288000}'),t={name:"installation/setup-users.md"},n=i("",14),l=[n];function p(o,r,h,d,u,c){return a(),e("div",null,l)}const b=s(t,[["render",p]]);export{g as __pageData,b as default}; diff --git a/assets/installation_setup-users.md.opWI_nGG.js b/assets/installation_setup-users.md.opWI_nGG.js new file mode 100644 index 00000000..952e5abc --- /dev/null +++ b/assets/installation_setup-users.md.opWI_nGG.js @@ -0,0 +1,2 @@ +import{_ as s,o as a,c as e,a4 as i}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Setup users","description":"","frontmatter":{},"headers":[],"relativePath":"installation/setup-users.md","filePath":"installation/setup-users.md","lastUpdated":1710118299000}'),t={name:"installation/setup-users.md"},n=i(`

Setup users

Set root password

🔑 Use a strong and complicated password

bash
passwd

Add your user

🧑 This will be your user you'll use to log in. For group reference see https://wiki.archlinux.org/index.php/Users_and_groups#Group_list

bash
useradd -m -G audio,video,input,wheel,sys,log,rfkill,lp,adm -s /bin/bash yourusername
+passwd yourusername

🎰 If you want to force your user to change password after first login:

bash
chage -d 0 yourusername

Enable sudo

🧐 This will give your user administrative privileges

bash
EDITOR=nano visudo

💥 Uncomment (remove the # in front of) the following lines

%wheel ALL=(ALL) ALL
`,14),l=[n];function p(r,h,o,d,u,c){return a(),e("div",null,l)}const b=s(t,[["render",p]]);export{g as __pageData,b as default}; diff --git a/assets/installation_setup-users.md.opWI_nGG.lean.js b/assets/installation_setup-users.md.opWI_nGG.lean.js new file mode 100644 index 00000000..290aca7c --- /dev/null +++ b/assets/installation_setup-users.md.opWI_nGG.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,a4 as i}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Setup users","description":"","frontmatter":{},"headers":[],"relativePath":"installation/setup-users.md","filePath":"installation/setup-users.md","lastUpdated":1710118299000}'),t={name:"installation/setup-users.md"},n=i("",14),l=[n];function p(r,h,o,d,u,c){return a(),e("div",null,l)}const b=s(t,[["render",p]]);export{g as __pageData,b as default}; diff --git a/assets/installation_useful-packages.md.6qBcebzu.js b/assets/installation_useful-packages.md.6qBcebzu.js new file mode 100644 index 00000000..151be344 --- /dev/null +++ b/assets/installation_useful-packages.md.6qBcebzu.js @@ -0,0 +1,13 @@ +import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Useful packages","description":"","frontmatter":{},"headers":[],"relativePath":"installation/useful-packages.md","filePath":"installation/useful-packages.md","lastUpdated":1710118299000}'),t={name:"installation/useful-packages.md"},n=e(`

Useful packages

General packages

bash
pacman -S linux-headers dkms
+pacman -S jshon expac git wget acpid avahi net-tools xdg-user-dirs
+systemctl enable acpid avahi-daemon systemd-timesyncd

If system is running on an SSD

bash
systemctl enable fstrim.timer

Printer support

🖨️ Add some packages needed for printing and scanning

General packages

bash
pacman -S system-config-printer foomatic-db foomatic-db-engine gutenprint gsfonts cups cups-pdf cups-filters sane
+systemctl enable cups.service saned.socket

Qt Scan Application

Use this if you use KDE Plasma or LXQt

bash
pacman -S skanlite

GTK Scan Application

Use this if you use another desktop environment

bash
pacman -S simple-scan

UI for HP Printers

🖨 Install this if you have an HP Printer

bash
pacman -S hplip

Input Driver

These are some packages needed for certain input devices to function properly. It does no harm to install them, even if you wouldn't need them

bash
pacman -S xf86-input-synaptics xf86-input-libinput xf86-input-evdev

When installing inside a virtual machine:

bash
pacman -S xf86-input-vmmouse

Graphics Driver

Mesa

This is useful for all GPUs

bash
pacman -S mesa lib32-mesa

Vulkan

This is useful for all GPUs

bash
pacman -S vulkan-icd-loader lib32-vulkan-icd-loader

Open Source drivers

Only install this if you use an AMD or Intel GPU or want to use the open source NVIDIA driver (Nouveau, not developed by NVIDIA)

bash
pacman -S <driver>
  • xf86-video-amdgpu is for newer AMD GPUs
  • xf86-video-nouveau is the open source NVIDIA driver
  • xf86-video-intel is the open source Intel driver (You probably want to leave this out, and it will use the modesetting driver. For more information refer to the wiki)
  • xf86-video-ati is for older AMD GPUs
  • xf86-video-vmware for VirtualBox, VMWare, QEMU
  • xf86-video-fbdev for Hyper-V
  • If you don't know it you can install all, but it could happen that the internal graphics card is used if you install the driver for it

Nvidia proprietary driver

Only install these packages if you are using an NVIDIA GPU

bash
pacman -S nvidia nvidia-utils lib32-nvidia-utils libvdpau lib32-libvdpau

Warning

NVIDIA's Linux drivers have a bad reputation when it comes to stability and compatibility with all systems. If you experience any problems later on consult https://wiki.archlinux.org/title/NVIDIA for troubleshooting.

AMD Utils

Only install these packages if you are using an AMD GPU

bash
pacman -S libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau libva-vdpau-driver lib32-libva-vdpau-driver vulkan-radeon lib32-vulkan-radeon

Intel Utils

Only install this package if you are using an Intel GPU

bash
pacman -S vulkan-intel

Early KMS start

Some systems require early KMS start to work properly. Read the Arch Wiki entry about it

bash
nano /etc/mkinitcpio.conf

Change MODULES=() to

  • MODULES=(amdgpu) if you installed xf86-video-amdgpu
  • MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) if you installed nvidia
  • MODULES=(i915) if you are using Intel graphics
  • for any other driver you can skip this step

Remove kms inside HOOKS=() if you installed nvidia

and run

bash
mkinitcpio -P

Networking

🖧 Those are essential networking tools

bash
pacman -S networkmanager networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
+systemctl enable NetworkManager

Wi-Fi connection

📶 Those are essential tools if you connect to the internet via Wi-Fi

bash
pacman -S wireless_tools wpa_supplicant ifplugd dialog

Some archive and file system utils

🗄️ Important tools for archives and file systems

bash
pacman -S p7zip unrar unarchiver unzip unace xz rsync
+pacman -S nfs-utils cifs-utils ntfs-3g exfat-utils gvfs udisks2

Sound

🔊 Some essential packages for sound

PulseAudio

Default audio server for Linux

bash
pacman -S alsa-utils pulseaudio-alsa pulseaudio-equalizer

See https://wiki.archlinux.org/title/PulseAudio

Fix muting some media players

🔇 PulseAudio by default might mute media applications when entering a voice call. To disable this:

bash
mkdir -p /etc/pulse/default.pa.d
+nano /etc/pulse/default.pa.d/no-cork.pa

Put this in the file and save it:

ini
unload-module module-role-cork

Source: https://wiki.archlinux.org/index.php/PulseAudio#Disable_muting_media_on_entering_voice_call_(module-role-cork)

PipeWire

Alternatively use can PipeWire:

bash
pacman -S alsa-utils pipewire pipewire-pulse pipewire-jack wireplumber

See https://wiki.archlinux.org/title/PipeWire

Control app

For Qt based desktops (e.g. KDE Plasma or LXQt)

bash
pacman -S pavucontrol-qt

For GTK based desktop (another desktop environment)

bash
pacman -S pavucontrol

Bluetooth support

🔵 Add some packages needed for proper bluetooth support

bash
pacman -S bluez bluez-utils
+systemctl enable bluetooth
+# only if you installed PulseAudio in the previous step:
+pacman -S pulseaudio-bluetooth

ADB

If you want the Android Debug Bridge working with your user:

bash
pacman -S android-tools android-udev
+usermod -aG adbusers yourusername

Other shells

🐚 You may want to use another shell than bash

zsh (Z Shell)

bash
pacman -S zsh zsh-completions
+chsh -s /usr/bin/zsh yourusername

fish (Friendly interactive shell)

bash
pacman -S fish
+chsh -s /usr/bin/fish yourusername
`,94),l=[n];function h(p,r,k,d,o,c){return i(),a("div",null,l)}const u=s(t,[["render",h]]);export{g as __pageData,u as default}; diff --git a/assets/installation_useful-packages.md.6qBcebzu.lean.js b/assets/installation_useful-packages.md.6qBcebzu.lean.js new file mode 100644 index 00000000..04fa3f49 --- /dev/null +++ b/assets/installation_useful-packages.md.6qBcebzu.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.xR9aiOhR.js";const g=JSON.parse('{"title":"Useful packages","description":"","frontmatter":{},"headers":[],"relativePath":"installation/useful-packages.md","filePath":"installation/useful-packages.md","lastUpdated":1710118299000}'),t={name:"installation/useful-packages.md"},n=e("",94),l=[n];function h(p,r,k,d,o,c){return i(),a("div",null,l)}const u=s(t,[["render",h]]);export{g as __pageData,u as default}; diff --git a/assets/installation_useful-packages.md.mCaNWI0D.js b/assets/installation_useful-packages.md.mCaNWI0D.js deleted file mode 100644 index e2602427..00000000 --- a/assets/installation_useful-packages.md.mCaNWI0D.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as a,o as s,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Useful packages","description":"","frontmatter":{},"headers":[],"relativePath":"installation/useful-packages.md","filePath":"installation/useful-packages.md","lastUpdated":1710116288000}'),t={name:"installation/useful-packages.md"},n=e(`

Useful packages

General packages

bash
pacman -S linux-headers dkms
-pacman -S jshon expac git wget acpid avahi net-tools xdg-user-dirs
-systemctl enable acpid avahi-daemon systemd-timesyncd

If system is running on an SSD

bash
systemctl enable fstrim.timer

Printer support

🖨️ Add some packages needed for printing and scanning

General packages

bash
pacman -S system-config-printer foomatic-db foomatic-db-engine gutenprint gsfonts cups cups-pdf cups-filters sane
-systemctl enable cups.service saned.socket

Qt Scan Application

Use this if you use KDE Plasma or LXQt

bash
pacman -S skanlite

GTK Scan Application

Use this if you use another desktop environment

bash
pacman -S simple-scan

UI for HP Printers

🖨 Install this if you have an HP Printer

bash
pacman -S hplip

Input Driver

These are some packages needed for certain input devices to function properly. It does no harm to install them, even if you wouldn't need them

bash
pacman -S xf86-input-synaptics xf86-input-libinput xf86-input-evdev

When installing inside a virtual machine:

bash
pacman -S xf86-input-vmmouse

Graphics Driver

Mesa

This is useful for all GPUs

bash
pacman -S mesa lib32-mesa

Vulkan

This is useful for all GPUs

bash
pacman -S vulkan-icd-loader lib32-vulkan-icd-loader

Open Source drivers

Only install this if you use an AMD or Intel GPU or want to use the open source NVIDIA driver (Nouveau, not developed by NVIDIA)

bash
pacman -S <driver>
  • xf86-video-amdgpu is for newer AMD GPUs
  • xf86-video-nouveau is the open source NVIDIA driver
  • xf86-video-intel is the open source Intel driver (You probably want to leave this out, and it will use the modesetting driver. For more information refer to the wiki)
  • xf86-video-ati is for older AMD GPUs
  • xf86-video-vmware for VirtualBox, VMWare, QEMU
  • xf86-video-fbdev for Hyper-V
  • If you don't know it you can install all, but it could happen that the internal graphics card is used if you install the driver for it

Nvidia proprietary driver

Only install these packages if you are using an NVIDIA GPU

bash
pacman -S nvidia nvidia-utils lib32-nvidia-utils libvdpau lib32-libvdpau

Warning

NVIDIA's Linux drivers have a bad reputation when it comes to stability and compatibility with all systems. If you experience any problems later on consult https://wiki.archlinux.org/title/NVIDIA for troubleshooting.

AMD Utils

Only install these packages if you are using an AMD GPU

bash
pacman -S libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau libva-vdpau-driver lib32-libva-vdpau-driver vulkan-radeon lib32-vulkan-radeon

Intel Utils

Only install this package if you are using an Intel GPU

bash
pacman -S vulkan-intel

Early KMS start

Some systems require early KMS start to work properly. Read the Arch Wiki entry about it

bash
nano /etc/mkinitcpio.conf

Change MODULES=() to

  • MODULES=(amdgpu) if you installed xf86-video-amdgpu
  • MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) if you installed nvidia
  • MODULES=(i915) if you are using Intel graphics
  • for any other driver you can skip this step

Remove kms inside HOOKS=() if you installed nvidia

and run

bash
mkinitcpio -P

Networking

🖧 Those are essential networking tools

bash
pacman -S networkmanager networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
-systemctl enable NetworkManager

Wi-Fi connection

📶 Those are essential tools if you connect to the internet via Wi-Fi

bash
pacman -S wireless_tools wpa_supplicant ifplugd dialog

Some archive and file system utils

🗄️ Important tools for archives and file systems

bash
pacman -S p7zip unrar unarchiver unzip unace xz rsync
-pacman -S nfs-utils cifs-utils ntfs-3g exfat-utils gvfs udisks2

Sound

🔊 Some essential packages for sound

PulseAudio

Default audio server for Linux

bash
pacman -S alsa-utils pulseaudio-alsa pulseaudio-equalizer

See https://wiki.archlinux.org/title/PulseAudio

Fix muting some media players

🔇 PulseAudio by default might mute media applications when entering a voice call. To disable this:

bash
mkdir -p /etc/pulse/default.pa.d
-nano /etc/pulse/default.pa.d/no-cork.pa

Put this in the file and save it:

ini
unload-module module-role-cork

Source: https://wiki.archlinux.org/index.php/PulseAudio#Disable_muting_media_on_entering_voice_call_(module-role-cork)

PipeWire

Alternatively use can PipeWire:

bash
pacman -S alsa-utils pipewire pipewire-pulse pipewire-jack wireplumber

See https://wiki.archlinux.org/title/PipeWire

Control app

For Qt based desktops (e.g. KDE Plasma or LXQt)

bash
pacman -S pavucontrol-qt

For GTK based desktop (another desktop environment)

bash
pacman -S pavucontrol

Bluetooth support

🔵 Add some packages needed for proper bluetooth support

bash
pacman -S bluez bluez-utils
-systemctl enable bluetooth
-# only if you installed PulseAudio in the previous step:
-pacman -S pulseaudio-bluetooth

ADB

If you want the Android Debug Bridge working with your user:

bash
pacman -S android-tools android-udev
-usermod -aG adbusers yourusername

Other shells

🐚 You may want to use another shell than bash

zsh (Z Shell)

bash
pacman -S zsh zsh-completions
-chsh -s /usr/bin/zsh yourusername

fish (Friendly interactive shell)

bash
pacman -S fish
-chsh -s /usr/bin/fish yourusername
`,94),l=[n];function p(h,r,o,d,c,k){return s(),i("div",null,l)}const b=a(t,[["render",p]]);export{g as __pageData,b as default}; diff --git a/assets/installation_useful-packages.md.mCaNWI0D.lean.js b/assets/installation_useful-packages.md.mCaNWI0D.lean.js deleted file mode 100644 index a3ea7a0c..00000000 --- a/assets/installation_useful-packages.md.mCaNWI0D.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const g=JSON.parse('{"title":"Useful packages","description":"","frontmatter":{},"headers":[],"relativePath":"installation/useful-packages.md","filePath":"installation/useful-packages.md","lastUpdated":1710116288000}'),t={name:"installation/useful-packages.md"},n=e("",94),l=[n];function p(h,r,o,d,c,k){return s(),i("div",null,l)}const b=a(t,[["render",p]]);export{g as __pageData,b as default}; diff --git a/assets/post-installation_index.md.PyfIgiKP.js b/assets/post-installation_index.md.PyfIgiKP.js new file mode 100644 index 00000000..f33bb993 --- /dev/null +++ b/assets/post-installation_index.md.PyfIgiKP.js @@ -0,0 +1,20 @@ +import{_ as s,o as a,c as i,a4 as t}from"./chunks/framework.xR9aiOhR.js";const y=JSON.parse('{"title":"Post-Installation","description":"","frontmatter":{},"headers":[],"relativePath":"post-installation/index.md","filePath":"post-installation/index.md","lastUpdated":1710118299000}'),e={name:"post-installation/index.md"},n=t(`

Post-Installation

Set X11 Keymap

⌨️ It's recommended to set this to your keymap. Some Display Manager and Desktop Environments use this (replace yourkeymap with your keymap e.g. de)

bash
localectl set-x11-keymap yourkeymap

Wi-Fi

📶 You can use nmtui or wifi-menu to configure your network profile

Oh My Zsh

🤖 A delightful & open source framework for Zsh

bash
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Oh my Fish

🤖 The Fishshell Framework

bash
curl -L https://get.oh-my.fish | fish

AUR Setup

The Arch User Repository is a community-driven repository for Arch users. yay is a pacman wrapper that allows installing AUR packages

bash
git clone https://aur.archlinux.org/yay.git
+cd yay
+makepkg -rsi
+cd .. && rm -rf yay

paru is a good alternative to yay. It's easy to use due to its similarity with yay's CLI. To install it, simply execute the following commands.

bash
git clone https://aur.archlinux.org/paru.git
+cd paru
+makepkg -rsi
+cd .. && rm -rf paru

In the following commands replace yay with paru.

Hold up

WARNING

Be careful when using AUR packages. You might need to re-build them when the dependencies in the repositories get updated.
I recommend installing rebuild-detector to get notified when a package needs to be re-built.

bash
yay -S rebuild-detector

Cheat sheet

(Unless explicitly mentioned, this also applies to paru)

  • yay Update system
  • yay xyz Install xyz
  • yay -Rns xyz Uninstall xyz
  • yay -Rdd xyz Force remove xyz (should not be used)
  • yay -Yc / paru -c Uninstall not explicitly installed optional dependencies
  • yay -Si xyz Show remote package
  • yay -Qi xyz Show local package
  • yay -Qq List installed packages
  • yay -Qqe List explicitly installed packages

Graphical package manager

📦 I recommend only to use yay/paru to update and install packages but (especially if you are a beginner) you may want a graphical package manager

  • Simple GTK: yay -S gnome-packagekit
  • Simple Qt: yay -S apper
  • Complex GTK: yay -S pamac-aur (Most beginner-friendly)
  • Complex Qt: yay -S octopi

🛒 If you want an even easier to use GUI, you can install a Software Center. They can't install AUR packages though.

  • GTK Software Center: yay -S gnome-software gnome-software-packagekit-plugin
  • Qt Software Center: yay -S discover packagekit-qt5

Media Codecs

bash
yay -S gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer-vaapi x265 x264 lame

Qt theme on GTK Desktop

If you use a GTK desktop and want Qt apps to use your GTK Theme you have 2 choices

You need to install the Qt5 Style plugins for both

bash
yay -S qt5-styleplugins

Convert GTK2 theme

🧮 This may not look good with every GTK Theme

bash
echo "export QT_QPA_PLATFORMTHEME=gtk2" >> ~/.profile

Qt5

You can use Qt5Ct instead

bash
yay -S qt5ct
+echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> ~/.profile

If you want to read APFS Partitions

💽 If you have a Hackintosh installation you can use this to access your files from it

bash
yay -S linux-apfs-rw-dkms-git

Fonts

General Fonts

🗛 Those are some essential font packages

bash
yay -S adobe-source-sans-pro-fonts ttf-dejavu ttf-opensans noto-fonts freetype2 terminus-font ttf-bitstream-vera ttf-dejavu ttf-droid ttf-fira-mono ttf-fira-sans ttf-freefont ttf-inconsolata ttf-liberation libertinus-font

If you want you can install all available fonts which takes about 1 GB of space

bash
yay -S all-repository-fonts

Windows Fonts

🗛 If you want the Windows/Microsoft fonts (f.e. for Office Suites and required by certain games under Wine)

With an existing Windows Installation / ISO

When you have an existing Windows Installation / ISO you can use the following package script

bash
git clone https://aur.archlinux.org/ttf-ms-win11.git
+cd ttf-ms-win11

Read PKGBUILD and copy all Windows files into the directory and then run makepkg -rsi --skipchecksums

Without an existing Windows Installation / ISO

TIP

There's a package that automatically downloads and extracts the fonts

bash
yay -S ttf-ms-win11-auto

macOS Fonts

🗚 If you want the San Francisco Font by Apple

bash
yay -S otf-san-francisco otf-san-francisco-mono

Nano syntax highlighting

📃 This package provides syntax highlighting enhancements to the nano text editor

bash
yay -S nano-syntax-highlighting

Auto clean package cache

🗑️ This will clear the package cache to only keep 1 version after every action

bash
yay -S pacman-contrib
+sudo mkdir /etc/pacman.d/hooks
+sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
Click me to view the code
ini
[Trigger]
+Operation = Upgrade
+Operation = Install
+Operation = Remove
+Type = Package
+Target = *
+[Action]
+Description = Cleaning pacman cache...
+When = PostTransaction
+Exec = /usr/bin/paccache -rk 2
`,67),h=[n];function l(p,o,k,d,r,c){return a(),i("div",null,h)}const F=s(e,[["render",l]]);export{y as __pageData,F as default}; diff --git a/assets/post-installation_index.md.PyfIgiKP.lean.js b/assets/post-installation_index.md.PyfIgiKP.lean.js new file mode 100644 index 00000000..281dbdc6 --- /dev/null +++ b/assets/post-installation_index.md.PyfIgiKP.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as i,a4 as t}from"./chunks/framework.xR9aiOhR.js";const y=JSON.parse('{"title":"Post-Installation","description":"","frontmatter":{},"headers":[],"relativePath":"post-installation/index.md","filePath":"post-installation/index.md","lastUpdated":1710118299000}'),e={name:"post-installation/index.md"},n=t("",67),h=[n];function l(p,o,k,d,r,c){return a(),i("div",null,h)}const F=s(e,[["render",l]]);export{y as __pageData,F as default}; diff --git a/assets/post-installation_index.md.QVARgM51.js b/assets/post-installation_index.md.QVARgM51.js deleted file mode 100644 index 1a3d5dbd..00000000 --- a/assets/post-installation_index.md.QVARgM51.js +++ /dev/null @@ -1,20 +0,0 @@ -import{_ as a,o as s,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const y=JSON.parse('{"title":"Post-Installation","description":"","frontmatter":{},"headers":[],"relativePath":"post-installation/index.md","filePath":"post-installation/index.md","lastUpdated":1710116288000}'),t={name:"post-installation/index.md"},n=e(`

Post-Installation

Set X11 Keymap

⌨️ It's recommended to set this to your keymap. Some Display Manager and Desktop Environments use this (replace yourkeymap with your keymap e.g. de)

bash
localectl set-x11-keymap yourkeymap

Wi-Fi

📶 You can use nmtui or wifi-menu to configure your network profile

Oh My Zsh

🤖 A delightful & open source framework for Zsh

bash
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Oh my Fish

🤖 The Fishshell Framework

bash
curl -L https://get.oh-my.fish | fish

AUR Setup

The Arch User Repository is a community-driven repository for Arch users. yay is a pacman wrapper that allows installing AUR packages

bash
git clone https://aur.archlinux.org/yay.git
-cd yay
-makepkg -rsi
-cd .. && rm -rf yay

paru is a good alternative to yay. It's easy to use due to its similarity with yay's CLI. To install it, simply execute the following commands.

bash
git clone https://aur.archlinux.org/paru.git
-cd paru
-makepkg -rsi
-cd .. && rm -rf paru

In the following commands replace yay with paru.

Hold up

WARNING

Be careful when using AUR packages. You might need to re-build them when the dependencies in the repositories get updated.
I recommend installing rebuild-detector to get notified when a package needs to be re-built.

bash
yay -S rebuild-detector

Cheat sheet

(Unless explicitly mentioned, this also applies to paru)

  • yay Update system
  • yay xyz Install xyz
  • yay -Rns xyz Uninstall xyz
  • yay -Rdd xyz Force remove xyz (should not be used)
  • yay -Yc / paru -c Uninstall not explicitly installed optional dependencies
  • yay -Si xyz Show remote package
  • yay -Qi xyz Show local package
  • yay -Qq List installed packages
  • yay -Qqe List explicitly installed packages

Graphical package manager

📦 I recommend only to use yay/paru to update and install packages but (especially if you are a beginner) you may want a graphical package manager

  • Simple GTK: yay -S gnome-packagekit
  • Simple Qt: yay -S apper
  • Complex GTK: yay -S pamac-aur (Most beginner-friendly)
  • Complex Qt: yay -S octopi

🛒 If you want an even easier to use GUI, you can install a Software Center. They can't install AUR packages though.

  • GTK Software Center: yay -S gnome-software gnome-software-packagekit-plugin
  • Qt Software Center: yay -S discover packagekit-qt5

Media Codecs

bash
yay -S gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer-vaapi x265 x264 lame

Qt theme on GTK Desktop

If you use a GTK desktop and want Qt apps to use your GTK Theme you have 2 choices

You need to install the Qt5 Style plugins for both

bash
yay -S qt5-styleplugins

Convert GTK2 theme

🧮 This may not look good with every GTK Theme

bash
echo "export QT_QPA_PLATFORMTHEME=gtk2" >> ~/.profile

Qt5

You can use Qt5Ct instead

bash
yay -S qt5ct
-echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> ~/.profile

If you want to read APFS Partitions

💽 If you have a Hackintosh installation you can use this to access your files from it

bash
yay -S linux-apfs-rw-dkms-git

Fonts

General Fonts

🗛 Those are some essential font packages

bash
yay -S adobe-source-sans-pro-fonts ttf-dejavu ttf-opensans noto-fonts freetype2 terminus-font ttf-bitstream-vera ttf-dejavu ttf-droid ttf-fira-mono ttf-fira-sans ttf-freefont ttf-inconsolata ttf-liberation libertinus-font

If you want you can install all available fonts which takes about 1 GB of space

bash
yay -S all-repository-fonts

Windows Fonts

🗛 If you want the Windows/Microsoft fonts (f.e. for Office Suites and required by certain games under Wine)

With an existing Windows Installation / ISO

When you have an existing Windows Installation / ISO you can use the following package script

bash
git clone https://aur.archlinux.org/ttf-ms-win11.git
-cd ttf-ms-win11

Read PKGBUILD and copy all Windows files into the directory and then run makepkg -rsi --skipchecksums

Without an existing Windows Installation / ISO

TIP

There's a package that automatically downloads and extracts the fonts

bash
yay -S ttf-ms-win11-auto

macOS Fonts

🗚 If you want the San Francisco Font by Apple

bash
yay -S otf-san-francisco otf-san-francisco-mono

Nano syntax highlighting

📃 This package provides syntax highlighting enhancements to the nano text editor

bash
yay -S nano-syntax-highlighting

Auto clean package cache

🗑️ This will clear the package cache to only keep 1 version after every action

bash
yay -S pacman-contrib
-sudo mkdir /etc/pacman.d/hooks
-sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
Click me to view the code
ini
[Trigger]
-Operation = Upgrade
-Operation = Install
-Operation = Remove
-Type = Package
-Target = *
-[Action]
-Description = Cleaning pacman cache...
-When = PostTransaction
-Exec = /usr/bin/paccache -rk 2
`,67),l=[n];function h(p,o,d,c,r,k){return s(),i("div",null,l)}const u=a(t,[["render",h]]);export{y as __pageData,u as default}; diff --git a/assets/post-installation_index.md.QVARgM51.lean.js b/assets/post-installation_index.md.QVARgM51.lean.js deleted file mode 100644 index 7d7ccc36..00000000 --- a/assets/post-installation_index.md.QVARgM51.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as i,V as e}from"./chunks/framework.HmH449Dw.js";const y=JSON.parse('{"title":"Post-Installation","description":"","frontmatter":{},"headers":[],"relativePath":"post-installation/index.md","filePath":"post-installation/index.md","lastUpdated":1710116288000}'),t={name:"post-installation/index.md"},n=e("",67),l=[n];function h(p,o,d,c,r,k){return s(),i("div",null,l)}const u=a(t,[["render",h]]);export{y as __pageData,u as default}; diff --git a/assets/style.M9sAzlDw.css b/assets/style.M9sAzlDw.css new file mode 100644 index 00000000..39a08490 --- /dev/null +++ b/assets/style.M9sAzlDw.css @@ -0,0 +1 @@ +@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.jIZ9REo5.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.8T9wMG5w.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.Cb5wWeGA.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.9JiNzaSO.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.bvIUbFQP.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.GZWE-KO4.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.paY3CzEB.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.-nLMcIwj.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.OVycGSDq.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.PSfer2Kc.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.hznxWNZO.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.27E69YJn.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.RnFly65-.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.xzQHe1q1.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-c79a1216]{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-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{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-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{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-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{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-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-09de1c0f]{margin-top:64px}.edit-info[data-v-09de1c0f]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-09de1c0f]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-09de1c0f]{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-09de1c0f]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-09de1c0f]{margin-right:8px}.prev-next[data-v-09de1c0f]{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-09de1c0f]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-09de1c0f]{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-09de1c0f]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-09de1c0f]{margin-left:auto;text-align:right}.desc[data-v-09de1c0f]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-09de1c0f]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{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-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{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-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-cad61b99]{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-cad61b99]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-cad61b99]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-cad61b99]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-cad61b99]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-cad61b99]: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-cad61b99]: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-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-303bb580]{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-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-303bb580]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-303bb580]{flex-direction:row}}.main[data-v-303bb580]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-303bb580]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-303bb580]{text-align:left}}@media (min-width: 960px){.main[data-v-303bb580]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-303bb580]{max-width:592px}}.name[data-v-303bb580],.text[data-v-303bb580]{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-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0 auto}.name[data-v-303bb580]{color:var(--vp-home-hero-name-color)}.clip[data-v-303bb580]{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-303bb580],.text[data-v-303bb580]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-303bb580],.text[data-v-303bb580]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0}}.tagline[data-v-303bb580]{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-303bb580]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-303bb580]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-303bb580]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-303bb580]{margin:0}}.actions[data-v-303bb580]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-303bb580]{justify-content:center}@media (min-width: 640px){.actions[data-v-303bb580]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-303bb580]{justify-content:flex-start}}.action[data-v-303bb580]{flex-shrink:0;padding:6px}.image[data-v-303bb580]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-303bb580]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-303bb580]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-303bb580]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-303bb580]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-303bb580]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-303bb580]{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-303bb580]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-303bb580]{width:320px;height:320px}}[data-v-303bb580] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-303bb580] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-303bb580] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-a3976bdc]{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-a3976bdc]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-a3976bdc]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-a3976bdc]>.VPImage{margin-bottom:20px}.icon[data-v-a3976bdc]{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-a3976bdc]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-a3976bdc]{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-a3976bdc]{padding-top:8px}.link-text-value[data-v-a3976bdc]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-a3976bdc]{margin-left:6px}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.container[data-v-82d4af08]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-82d4af08]{padding:0 48px}}@media (min-width: 960px){.container[data-v-82d4af08]{width:100%;padding:0 64px}}.vp-doc[data-v-82d4af08] .VPHomeSponsors,.vp-doc[data-v-82d4af08] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw));margin-right:var(--vp-offset, calc(50% - 50vw))}.vp-doc[data-v-82d4af08] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-82d4af08] .VPHomeSponsors a,.vp-doc[data-v-82d4af08] .VPTeamPage a{text-decoration:none}.VPHome[data-v-686f80a6]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-686f80a6]{margin-bottom:128px}}.VPContent[data-v-1428d186]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-1428d186]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-1428d186]{margin:0}@media (min-width: 960px){.VPContent[data-v-1428d186]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-1428d186]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-1428d186]{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-e315a0ad]{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-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-d2ecc192]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-d2ecc192]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-d2ecc192]{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-d2ecc192]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-d2ecc192]{color:var(--vp-c-text-1)}.icon[data-v-d2ecc192]{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-d2ecc192]{font-size:14px}.icon[data-v-d2ecc192]{font-size:16px}}.open>.icon[data-v-d2ecc192]{transform:rotate(90deg)}.items[data-v-d2ecc192]{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-d2ecc192]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-d2ecc192]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-d2ecc192]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-d2ecc192]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-d2ecc192]{transition:all .2s ease-out}.flyout-leave-active[data-v-d2ecc192]{transition:all .15s ease-in}.flyout-enter-from[data-v-d2ecc192],.flyout-leave-to[data-v-d2ecc192]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-a6f0e41e]{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-a6f0e41e]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-a6f0e41e]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-a6f0e41e]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-a6f0e41e]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-a6f0e41e]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-a6f0e41e]{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-a6f0e41e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-a6f0e41e]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-a6f0e41e]{display:none}}.menu-icon[data-v-a6f0e41e]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 32px 11px}}.VPSwitch[data-v-1d5665e3]{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-1d5665e3]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1d5665e3]{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-1d5665e3]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1d5665e3] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-1d5665e3] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-d1f28634]{opacity:1}.moon[data-v-d1f28634],.dark .sun[data-v-d1f28634]{opacity:0}.dark .moon[data-v-d1f28634]{opacity:1}.dark .VPSwitchAppearance[data-v-d1f28634] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{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-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{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-e7ea1737]{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-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .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-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-b6c34ac9]{position:relative}.VPFlyout[data-v-b6c34ac9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-b6c34ac9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-b6c34ac9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-b6c34ac9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-b6c34ac9]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-b6c34ac9],.button[aria-expanded=true]+.menu[data-v-b6c34ac9]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-b6c34ac9]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-b6c34ac9]{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-b6c34ac9]{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-b6c34ac9]{margin-right:0;font-size:16px}.text-icon[data-v-b6c34ac9]{margin-left:4px;font-size:14px}.icon[data-v-b6c34ac9]{font-size:20px;transition:fill .25s}.menu[data-v-b6c34ac9]{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-eee4e7cb]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-eee4e7cb]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-eee4e7cb]>svg,.VPSocialLink[data-v-eee4e7cb]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-42ef59de]{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-42ef59de],.VPNavBarMenuLink[data-v-42ef59de]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{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:rgba(0,0,0,.2);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:rgba(0,0,0,.2);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-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-ab179fa1]{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-ab179fa1]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ab179fa1]{border-bottom-color:var(--vp-c-divider)}}[data-v-ab179fa1] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-88af2de4]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-88af2de4]{display:flex;align-items:center}}.title[data-v-88af2de4]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-19c990f1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:transparent}.VPNavBar[data-v-19c990f1]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-19c990f1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-19c990f1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-19c990f1]{padding:0}}.container[data-v-19c990f1]{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-19c990f1],.container>.content[data-v-19c990f1]{pointer-events:none}.container[data-v-19c990f1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-19c990f1]{max-width:100%}}.title[data-v-19c990f1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{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-19c990f1]{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-19c990f1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{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-19c990f1]{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-19c990f1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-19c990f1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-19c990f1]{column-gap:.5rem}}.menu+.translations[data-v-19c990f1]:before,.menu+.appearance[data-v-19c990f1]:before,.menu+.social-links[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before,.appearance+.social-links[data-v-19c990f1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before{margin-right:16px}.appearance+.social-links[data-v-19c990f1]:before{margin-left:16px}.social-links[data-v-19c990f1]{margin-right:-8px}.divider[data-v-19c990f1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-19c990f1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-19c990f1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{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-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-05f27b2a]{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-05f27b2a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{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-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-ff6087d4]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-ff6087d4]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-ff6087d4]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-ff6087d4]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-ff6087d4]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-ff6087d4]{transform:rotate(45deg)}.button[data-v-ff6087d4]{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-ff6087d4]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-ff6087d4]{transition:transform .25s}.group[data-v-ff6087d4]:first-child{padding-top:0}.group+.group[data-v-ff6087d4],.group+.item[data-v-ff6087d4]{padding-top:4px}.VPNavScreenTranslations[data-v-858fe1a4]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-858fe1a4]{height:auto}.title[data-v-858fe1a4]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-858fe1a4]{font-size:16px}.icon.lang[data-v-858fe1a4]{margin-right:8px}.icon.chevron[data-v-858fe1a4]{margin-left:4px}.list[data-v-858fe1a4]{padding:4px 0 0 24px}.link[data-v-858fe1a4]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{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-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{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-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-93e7e794]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-93e7e794]{padding-bottom:10px}.item[data-v-93e7e794]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-93e7e794]{cursor:pointer}.indicator[data-v-93e7e794]{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-93e7e794],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-93e7e794],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-93e7e794],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-93e7e794]{background-color:var(--vp-c-brand-1)}.link[data-v-93e7e794]{display:flex;align-items:center;flex-grow:1}.text[data-v-93e7e794]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-93e7e794]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-93e7e794],.VPSidebarItem.level-2 .text[data-v-93e7e794],.VPSidebarItem.level-3 .text[data-v-93e7e794],.VPSidebarItem.level-4 .text[data-v-93e7e794],.VPSidebarItem.level-5 .text[data-v-93e7e794]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-93e7e794],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-93e7e794],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-93e7e794],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-93e7e794],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-93e7e794],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-93e7e794]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-93e7e794],.VPSidebarItem.level-1.has-active>.item>.text[data-v-93e7e794],.VPSidebarItem.level-2.has-active>.item>.text[data-v-93e7e794],.VPSidebarItem.level-3.has-active>.item>.text[data-v-93e7e794],.VPSidebarItem.level-4.has-active>.item>.text[data-v-93e7e794],.VPSidebarItem.level-5.has-active>.item>.text[data-v-93e7e794],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-93e7e794],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-93e7e794],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-93e7e794],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-93e7e794],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-93e7e794],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-93e7e794]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-93e7e794],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-93e7e794],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-93e7e794],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-93e7e794],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-93e7e794],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-93e7e794]{color:var(--vp-c-brand-1)}.caret[data-v-93e7e794]{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-93e7e794]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-93e7e794]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-93e7e794]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-93e7e794]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-93e7e794],.VPSidebarItem.level-2 .items[data-v-93e7e794],.VPSidebarItem.level-3 .items[data-v-93e7e794],.VPSidebarItem.level-4 .items[data-v-93e7e794],.VPSidebarItem.level-5 .items[data-v-93e7e794]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-93e7e794]{display:none}.VPSidebar[data-v-575e6a36]{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-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{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-575e6a36]{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-575e6a36]{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-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{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-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5d98c3a5]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3d121b4a]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-3d121b4a]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{margin:128px 0}}.VPHomeSponsors[data-v-3d121b4a]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 64px}}.container[data-v-3d121b4a]{margin:0 auto;max-width:1152px}.love[data-v-3d121b4a]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-3d121b4a]{display:inline-block}.message[data-v-3d121b4a]{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-3d121b4a]{padding-top:32px}.action[data-v-3d121b4a]{padding-top:40px;text-align:center}.VPTeamPage[data-v-7c57f839]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-7c57f839]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-7c57f839-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-7c57f839-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:96px}}.VPTeamMembers[data-v-7c57f839-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{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-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{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-b1a88750]{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-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-f3fa364a]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f3fa364a]{padding:32px}.VPTeamMembersItem.small .data[data-v-f3fa364a]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f3fa364a]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f3fa364a]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f3fa364a]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f3fa364a]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f3fa364a]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f3fa364a]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f3fa364a]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f3fa364a]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f3fa364a]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f3fa364a]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f3fa364a]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f3fa364a]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f3fa364a]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f3fa364a]{text-align:center}.avatar[data-v-f3fa364a]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f3fa364a]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f3fa364a]{margin:0;font-weight:600}.affiliation[data-v-f3fa364a]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f3fa364a]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f3fa364a]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f3fa364a]{margin:0 auto}.desc[data-v-f3fa364a] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f3fa364a]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f3fa364a]{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-f3fa364a]:hover,.sp .sp-link.link[data-v-f3fa364a]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f3fa364a]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #646cff;--vp-c-brand-light: #747bff;--vp-c-brand-lighter: #9499ff;--vp-c-brand-lightest: #bcc0ff;--vp-c-brand-dark: #535bf2;--vp-c-brand-darker: #454ce1;--vp-c-brand-dimm: rgba(100, 108, 255, .08)}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, var(--vp-c-brand) 30%, var(--vp-c-brand-lighter) );--vp-home-hero-image-background-image: linear-gradient( -45deg, var(--vp-c-brand) 50%, #47caff 50% );--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-darker);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}.dark .vp-doc a,.dark .vp-doc a>code,.dark .VPNavBarMenuLink.VPNavBarMenuLink:hover,.dark .VPNavBarMenuLink.VPNavBarMenuLink.active,.dark .link.link:hover,.dark .link.link.active,.dark .edit-link-button.edit-link-button,.dark .pager-link .title{color:var(--vp-c-brand-lighter)}.dark .vp-doc a:hover,.dark .vp-doc a>code:hover{color:var(--vp-c-brand-lightest);opacity:1}.dark .vp-doc .custom-block a{transition:color .25s} diff --git a/assets/style.lLnZnGE8.css b/assets/style.lLnZnGE8.css deleted file mode 100644 index a4e9a7ab..00000000 --- a/assets/style.lLnZnGE8.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.jIZ9REo5.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.8T9wMG5w.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.Cb5wWeGA.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.9JiNzaSO.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.bvIUbFQP.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.GZWE-KO4.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.paY3CzEB.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.-nLMcIwj.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.OVycGSDq.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.PSfer2Kc.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.hznxWNZO.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.27E69YJn.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.RnFly65-.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.xzQHe1q1.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-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}: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{margin:auto}.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-bottom:4px;text-align:center;letter-spacing:1px;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-c79a1216]{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-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{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-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{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-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{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-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-48f9bb55]{margin-top:64px}.edit-info[data-v-48f9bb55]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-48f9bb55]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-48f9bb55]{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-48f9bb55]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-48f9bb55]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-48f9bb55]{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-48f9bb55]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-48f9bb55]{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-48f9bb55]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-48f9bb55]{margin-left:auto;text-align:right}.desc[data-v-48f9bb55]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-48f9bb55]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{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-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{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-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-c1c5efc1]{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-c1c5efc1]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-c1c5efc1]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-c1c5efc1]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-c1c5efc1]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-c1c5efc1]: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-c1c5efc1]: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-c1c5efc1]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-c1c5efc1]: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-c1c5efc1]: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-c1c5efc1]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-c1c5efc1]: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-c1c5efc1]: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-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-da5d1713]{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-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-da5d1713]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-da5d1713]{flex-direction:row}}.main[data-v-da5d1713]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-da5d1713]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-da5d1713]{text-align:left}}@media (min-width: 960px){.main[data-v-da5d1713]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-da5d1713]{max-width:592px}}.name[data-v-da5d1713],.text[data-v-da5d1713]{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-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0 auto}.name[data-v-da5d1713]{color:var(--vp-home-hero-name-color)}.clip[data-v-da5d1713]{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-da5d1713],.text[data-v-da5d1713]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-da5d1713],.text[data-v-da5d1713]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0}}.tagline[data-v-da5d1713]{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-da5d1713]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-da5d1713]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-da5d1713]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0}}.actions[data-v-da5d1713]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-da5d1713]{justify-content:center}@media (min-width: 640px){.actions[data-v-da5d1713]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-da5d1713]{justify-content:flex-start}}.action[data-v-da5d1713]{flex-shrink:0;padding:6px}.image[data-v-da5d1713]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-da5d1713]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-da5d1713]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-da5d1713]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-da5d1713]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-da5d1713]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-da5d1713]{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-da5d1713]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-da5d1713]{width:320px;height:320px}}[data-v-da5d1713] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-da5d1713] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-da5d1713] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-33204567]{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-33204567]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-33204567]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-33204567]>.VPImage{margin-bottom:20px}.icon[data-v-33204567]{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-33204567]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-33204567]{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-33204567]{padding-top:8px}.link-text-value[data-v-33204567]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-33204567]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.VPHome[data-v-d82743a8]{padding-bottom:96px}.VPHome[data-v-d82743a8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-d82743a8]{padding-bottom:128px}}.VPContent[data-v-669faec9]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-669faec9]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-669faec9]{margin:0}@media (min-width: 960px){.VPContent[data-v-669faec9]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-669faec9]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-669faec9]{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-e315a0ad]{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-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{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-af18c0d5]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-af18c0d5]{color:var(--vp-c-text-1)}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{font-size:14px}}.icon[data-v-af18c0d5]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}.open>.icon[data-v-af18c0d5]{transform:rotate(90deg)}.items[data-v-af18c0d5]{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-af18c0d5]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-af18c0d5]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-af18c0d5]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-af18c0d5]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-af18c0d5]{transition:all .2s ease-out}.flyout-leave-active[data-v-af18c0d5]{transition:all .15s ease-in}.flyout-enter-from[data-v-af18c0d5],.flyout-leave-to[data-v-af18c0d5]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-0282ae07]{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-0282ae07]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-0282ae07]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-0282ae07]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-0282ae07]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-0282ae07]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-0282ae07]{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-0282ae07]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-0282ae07]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-0282ae07]{display:none}}.menu-icon[data-v-0282ae07]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-0282ae07]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-0282ae07]{padding:12px 32px 11px}}.VPSwitch[data-v-b1685198]{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-b1685198]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-b1685198]{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-b1685198]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-b1685198] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-b1685198] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-1736f215]{opacity:1}.moon[data-v-1736f215],.dark .sun[data-v-1736f215]{opacity:0}.dark .moon[data-v-1736f215]{opacity:1}.dark .VPSwitchAppearance[data-v-1736f215] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{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-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{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-e7ea1737]{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-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .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-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-9c007e85]{position:relative}.VPFlyout[data-v-9c007e85]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-9c007e85]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-9c007e85]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-9c007e85]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-9c007e85]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-9c007e85],.button[aria-expanded=true]+.menu[data-v-9c007e85]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-9c007e85]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-9c007e85]{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-9c007e85]{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-9c007e85]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-9c007e85]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-9c007e85]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-9c007e85]{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-f80f8133]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-f80f8133]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-f80f8133]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-42ef59de]{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-42ef59de],.VPNavBarMenuLink[data-v-42ef59de]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{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:rgba(0,0,0,.2);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:rgba(0,0,0,.2);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}.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-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-8460f0a8]{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-8460f0a8]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-8460f0a8]{border-bottom-color:var(--vp-c-divider)}}[data-v-8460f0a8] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-19c990f1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:transparent}.VPNavBar[data-v-19c990f1]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-19c990f1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-19c990f1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-19c990f1]{padding:0}}.container[data-v-19c990f1]{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-19c990f1],.container>.content[data-v-19c990f1]{pointer-events:none}.container[data-v-19c990f1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-19c990f1]{max-width:100%}}.title[data-v-19c990f1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{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-19c990f1]{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-19c990f1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{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-19c990f1]{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-19c990f1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-19c990f1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-19c990f1]{column-gap:.5rem}}.menu+.translations[data-v-19c990f1]:before,.menu+.appearance[data-v-19c990f1]:before,.menu+.social-links[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before,.appearance+.social-links[data-v-19c990f1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before{margin-right:16px}.appearance+.social-links[data-v-19c990f1]:before{margin-left:16px}.social-links[data-v-19c990f1]{margin-right:-8px}.divider[data-v-19c990f1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-19c990f1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-19c990f1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{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-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-05f27b2a]{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-05f27b2a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{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-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-65ef89ca]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-65ef89ca]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-65ef89ca]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-65ef89ca]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-65ef89ca]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-65ef89ca]{transform:rotate(45deg)}.button[data-v-65ef89ca]{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-65ef89ca]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-65ef89ca]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-65ef89ca]:first-child{padding-top:0}.group+.group[data-v-65ef89ca],.group+.item[data-v-65ef89ca]{padding-top:4px}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{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-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{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-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-e31bd47b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-e31bd47b]{padding-bottom:10px}.item[data-v-e31bd47b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-e31bd47b]{cursor:pointer}.indicator[data-v-e31bd47b]{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-e31bd47b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-e31bd47b]{background-color:var(--vp-c-brand-1)}.link[data-v-e31bd47b]{display:flex;align-items:center;flex-grow:1}.text[data-v-e31bd47b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-e31bd47b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-e31bd47b],.VPSidebarItem.level-2 .text[data-v-e31bd47b],.VPSidebarItem.level-3 .text[data-v-e31bd47b],.VPSidebarItem.level-4 .text[data-v-e31bd47b],.VPSidebarItem.level-5 .text[data-v-e31bd47b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-e31bd47b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.caret[data-v-e31bd47b]{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-e31bd47b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-e31bd47b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-e31bd47b]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-e31bd47b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-e31bd47b],.VPSidebarItem.level-2 .items[data-v-e31bd47b],.VPSidebarItem.level-3 .items[data-v-e31bd47b],.VPSidebarItem.level-4 .items[data-v-e31bd47b],.VPSidebarItem.level-5 .items[data-v-e31bd47b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-e31bd47b]{display:none}.VPSidebar[data-v-575e6a36]{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-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{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-575e6a36]{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-575e6a36]{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-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{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-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5a346dfe]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-96bd69d5]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-96bd69d5]{margin:0 auto;max-width:1152px}.love[data-v-96bd69d5]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-96bd69d5]{width:28px;height:28px;fill:currentColor}.message[data-v-96bd69d5]{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-96bd69d5]{padding-top:32px}.action[data-v-96bd69d5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{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-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{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-b1a88750]{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-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-0d3d0d4d]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-0d3d0d4d]{padding:32px}.VPTeamMembersItem.small .data[data-v-0d3d0d4d]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-0d3d0d4d]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-0d3d0d4d]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-0d3d0d4d]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-0d3d0d4d]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-0d3d0d4d]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-0d3d0d4d]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-0d3d0d4d]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-0d3d0d4d]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-0d3d0d4d]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-0d3d0d4d]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-0d3d0d4d]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-0d3d0d4d]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-0d3d0d4d]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-0d3d0d4d]{text-align:center}.avatar[data-v-0d3d0d4d]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-0d3d0d4d]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-0d3d0d4d]{margin:0;font-weight:600}.affiliation[data-v-0d3d0d4d]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-0d3d0d4d]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-0d3d0d4d]:hover{color:var(--vp-c-brand-1)}.desc[data-v-0d3d0d4d]{margin:0 auto}.desc[data-v-0d3d0d4d] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-0d3d0d4d]{display:flex;justify-content:center;height:56px}.sp-link[data-v-0d3d0d4d]{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-0d3d0d4d]:hover,.sp .sp-link.link[data-v-0d3d0d4d]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-0d3d0d4d]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #646cff;--vp-c-brand-light: #747bff;--vp-c-brand-lighter: #9499ff;--vp-c-brand-lightest: #bcc0ff;--vp-c-brand-dark: #535bf2;--vp-c-brand-darker: #454ce1;--vp-c-brand-dimm: rgba(100, 108, 255, .08)}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, var(--vp-c-brand) 30%, var(--vp-c-brand-lighter) );--vp-home-hero-image-background-image: linear-gradient( -45deg, var(--vp-c-brand) 50%, #47caff 50% );--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-darker);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}.dark .vp-doc a,.dark .vp-doc a>code,.dark .VPNavBarMenuLink.VPNavBarMenuLink:hover,.dark .VPNavBarMenuLink.VPNavBarMenuLink.active,.dark .link.link:hover,.dark .link.link.active,.dark .edit-link-button.edit-link-button,.dark .pager-link .title{color:var(--vp-c-brand-lighter)}.dark .vp-doc a:hover,.dark .vp-doc a>code:hover{color:var(--vp-c-brand-lightest);opacity:1}.dark .vp-doc .custom-block a{transition:color .25s} diff --git a/assets/tweaks_index.md.Pw9jVxno.lean.js b/assets/tweaks_index.md.Pw9jVxno.lean.js deleted file mode 100644 index 2db4991d..00000000 --- a/assets/tweaks_index.md.Pw9jVxno.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,V as t}from"./chunks/framework.HmH449Dw.js";const o=JSON.parse('{"title":"Some fixes and tweaks","description":"","frontmatter":{},"headers":[],"relativePath":"tweaks/index.md","filePath":"tweaks/index.md","lastUpdated":1710116288000}'),h={name:"tweaks/index.md"},n=t("",41),k=[n];function l(p,E,e,g,r,d){return i(),a("div",null,k)}const F=s(h,[["render",l]]);export{o as __pageData,F as default}; diff --git a/assets/tweaks_index.md.Pw9jVxno.js b/assets/tweaks_index.md.mWAcSz7f.js similarity index 87% rename from assets/tweaks_index.md.Pw9jVxno.js rename to assets/tweaks_index.md.mWAcSz7f.js index 962a3c1e..46ad630e 100644 --- a/assets/tweaks_index.md.Pw9jVxno.js +++ b/assets/tweaks_index.md.mWAcSz7f.js @@ -1,5 +1,5 @@ -import{_ as s,o as i,c as a,V as t}from"./chunks/framework.HmH449Dw.js";const o=JSON.parse('{"title":"Some fixes and tweaks","description":"","frontmatter":{},"headers":[],"relativePath":"tweaks/index.md","filePath":"tweaks/index.md","lastUpdated":1710116288000}'),h={name:"tweaks/index.md"},n=t(`

Some fixes and tweaks

Performance tweaks

Decrease swappiness

You may want to decrease the swappiness if you have enough RAM, so the system only uses swap when it absolutely has to

bash
sudo nano /etc/sysctl.d/99-swappiness.conf
ini
vm.swappiness = 10

Install OOM killer

An Out Of Memory (OOM) killer terminates applications when you would otherwise run out of memory.

WARNING

⚠️ This may lead to data loss if an application with unsaved data is killed.

bash
yay -S earlyoom

Compatibility tweaks

🐛 This will fix some bugs and compatibility issues

Citra Emulator

bash
sudo ln -sf /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.5
-yay -S libsndio-61-compat

Spotify local files

bash
yay -S ffmpeg-compat-57 ffmpeg

Fix on shutdown "Failed to start user manager service for user 174" (sddm)

bash
sudo chage --expiredate -1 sddm

Force Color Emoji

bash
yay -S ttf-joypixels

If the default font includes some emoji characters, they will be used over the characters provided by a dedicated emoji font, resulting in inconsistent display. Use the following config to enforce rendering emojis via JoyPixels.

WARNING

⚠️ Be aware that some websites may incorrectly display certain characters (like numbers) when you do not have the Windows Fonts installed. See https://bugs.archlinux.org/task/66080

bash
sudo nano /etc/fonts/conf.d/75-joypixels.conf
Click me to view the code
xml
<?xml version="1.0" encoding="UTF-8"?>
+import{_ as s,o as i,c as a,a4 as t}from"./chunks/framework.xR9aiOhR.js";const o=JSON.parse('{"title":"Some fixes and tweaks","description":"","frontmatter":{},"headers":[],"relativePath":"tweaks/index.md","filePath":"tweaks/index.md","lastUpdated":1710118299000}'),h={name:"tweaks/index.md"},n=t(`

Some fixes and tweaks

Performance tweaks

Decrease swappiness

You may want to decrease the swappiness if you have enough RAM, so the system only uses swap when it absolutely has to

bash
sudo nano /etc/sysctl.d/99-swappiness.conf
ini
vm.swappiness = 10

Install OOM killer

An Out Of Memory (OOM) killer terminates applications when you would otherwise run out of memory.

WARNING

⚠️ This may lead to data loss if an application with unsaved data is killed.

bash
yay -S earlyoom

Compatibility tweaks

🐛 This will fix some bugs and compatibility issues

Citra Emulator

bash
sudo ln -sf /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.5
+yay -S libsndio-61-compat

Spotify local files

bash
yay -S ffmpeg-compat-57 ffmpeg

Fix on shutdown "Failed to start user manager service for user 174" (sddm)

bash
sudo chage --expiredate -1 sddm

Force Color Emoji

bash
yay -S ttf-joypixels

If the default font includes some emoji characters, they will be used over the characters provided by a dedicated emoji font, resulting in inconsistent display. Use the following config to enforce rendering emojis via JoyPixels.

WARNING

⚠️ Be aware that some websites may incorrectly display certain characters (like numbers) when you do not have the Windows Fonts installed. See https://bugs.archlinux.org/task/66080

bash
sudo nano /etc/fonts/conf.d/75-joypixels.conf
Click me to view the code
xml
<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
 
@@ -155,7 +155,7 @@ import{_ as s,o as i,c as a,V as t}from"./chunks/framework.HmH449Dw.js";const o=
         <test qual="any" name="family"><string>Symbola</string></test>
         <edit name="family" mode="assign" binding="same"><string>JoyPixels</string></edit>
     </match>
-</fontconfig>

Desktop icons for nemo

bash
gsettings set org.nemo.desktop show-desktop-icons true

Backup / Restore

System

I recommend Timeshift to back up your system. Install it with

bash
yay -S timeshift cronie
-systemctl enable --now cronie

For more information please refer to https://github.com/teejee2008/timeshift

Personal files

I recommend Déjà Dup to back up your personal files. Install it with

bash
yay -S deja-dup

You may want to exclude certain folders (like Nextcloud or other cloud services, Games, .cache, .config and .local/share if you don't want to back up your program config files)

Packages / Services List

See https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages

Backup

bash
yay -Qqe > pkglist.txt
-systemctl list-unit-files --state=enabled > enabled-services.txt

Restore

bash
yay -S --needed - < pkglist.txt
+</fontconfig>

Desktop icons for nemo

bash
gsettings set org.nemo.desktop show-desktop-icons true

Backup / Restore

System

I recommend Timeshift to back up your system. Install it with

bash
yay -S timeshift cronie
+systemctl enable --now cronie

For more information please refer to https://github.com/teejee2008/timeshift

Personal files

I recommend Déjà Dup to back up your personal files. Install it with

bash
yay -S deja-dup

You may want to exclude certain folders (like Nextcloud or other cloud services, Games, .cache, .config and .local/share if you don't want to back up your program config files)

Packages / Services List

See https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages

Backup

bash
yay -Qqe > pkglist.txt
+systemctl list-unit-files --state=enabled > enabled-services.txt

Restore

bash
yay -S --needed - < pkglist.txt
 # Re-enable services with systemctl enable
`,41),k=[n];function l(p,E,e,g,r,d){return i(),a("div",null,k)}const F=s(h,[["render",l]]);export{o as __pageData,F as default}; diff --git a/assets/tweaks_index.md.mWAcSz7f.lean.js b/assets/tweaks_index.md.mWAcSz7f.lean.js new file mode 100644 index 00000000..9ee18861 --- /dev/null +++ b/assets/tweaks_index.md.mWAcSz7f.lean.js @@ -0,0 +1 @@ +import{_ as s,o as i,c as a,a4 as t}from"./chunks/framework.xR9aiOhR.js";const o=JSON.parse('{"title":"Some fixes and tweaks","description":"","frontmatter":{},"headers":[],"relativePath":"tweaks/index.md","filePath":"tweaks/index.md","lastUpdated":1710118299000}'),h={name:"tweaks/index.md"},n=t("",41),k=[n];function l(p,E,e,g,r,d){return i(),a("div",null,k)}const F=s(h,[["render",l]]);export{o as __pageData,F as default}; diff --git a/encryption/index.html b/encryption/index.html index ed2f31a3..c51f3bf3 100644 --- a/encryption/index.html +++ b/encryption/index.html @@ -5,34 +5,34 @@ Encryption | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Encryption

WARNING

This guide will mostly care for UEFI systems. Steps shouldn't be much different for non-UEFI systems. Have a look at the Arch wiki regarding system encryption for more information.

TIP

This guide uses X, Y and Z as placeholders. Adjust them accordingly to your setup. Additionally, "sd" could be different depending on the used connection method of your drive.

In this guide, the encryption configuration we want to achieve is this:

                |----------|----------------------|
+    
Skip to content

Encryption

WARNING

This guide will mostly care for UEFI systems. Steps shouldn't be much different for non-UEFI systems. Have a look at the Arch wiki regarding system encryption for more information.

TIP

This guide uses X, Y and Z as placeholders. Adjust them accordingly to your setup. Additionally, "sd" could be different depending on the used connection method of your drive.

In this guide, the encryption configuration we want to achieve is this:

                |----------|----------------------|
                 |   Swap   |   Other partitions   |
                 |          |   e.g. / or /home    |
 |---------------|---------------------------------|
 |   Grub boot   |   Encrypted container (LUKS)    |
-|---------------|---------------------------------|

At first, we have a /boot partition that contains the Grub bootloader as well as the necessary files for UEFI. Then we have an encrypted container that uses LUKS that contains the swap and other partitions, like the root partition or /home. All your data as well as the system will be encrypted as a result of that.

This results in you having to type in a password directly after booting, which will unlock the encrypted LUKS container and then boot the system normally.

Partitioning

To get a brief overview of the disks, use the command

bash
fdisk -l

After you got the disk to use, run

bash
gdisk /dev/sdX

to partition the disk accordingly. For more information on how to use gdisk, see the Arch wiki. For completeness, the most used commands are:

CommandWhat does this do?
oNew partition table
nCreate new partition
wWrite table to disk

After partitioning, you want to have a layout that looks like this:

PartitionUsageSizePartition codePartition type
/dev/sdXYGrub bootDepends, 300M are recommendedef00EFI System
/dev/sdXZLUKS containerRemaining8E00Linux Filesystem

The crypt container

Create crypt container

Now we create a crypt container on sdXZ using LUKS. For more information, see these two pages on the Arch wiki regarding dm-crypt:

Encrypt dev/sdXZ. You will be prompted for a password. Care for different keyboard layouts when typing in the password!

bash
cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sdXZ

Now open the encrypted container and map it to the device cryptroot. You will be prompted for the encryption password.

bash
cryptsetup open /dev/sdXZ cryptroot

Creating LVM within the LUKS container

We currently have an (open and) encrypted container, but no LVM inside. To do this, we first have to create a volume group. We will call it main:

bash
vgcreate main /dev/mapper/cryptroot

Now we create the partitions we need. Since we just want a swap partition and a root partition, we need these two commands. If you want additional partitions, e.g. for a separate home partition, adjust the following commands (in the other sections, too) according to your needs. For recommendations regarding the swap size, see the partitioning section of this guide.

bash
lvcreate -L 32G main -n swap
-lvcreate -l 100%FREE main -n root

Create the filesystems

Now we format the newly created volumes and partitions. The UEFI partition needs to be of type fat32. Additionally, this will get you a ext4 root partition. You can adjust this freely if you like.

bash
mkfs.fat -F 32 /dev/sdXY
+|---------------|---------------------------------|

At first, we have a /boot partition that contains the Grub bootloader as well as the necessary files for UEFI. Then we have an encrypted container that uses LUKS that contains the swap and other partitions, like the root partition or /home. All your data as well as the system will be encrypted as a result of that.

This results in you having to type in a password directly after booting, which will unlock the encrypted LUKS container and then boot the system normally.

Partitioning

To get a brief overview of the disks, use the command

bash
fdisk -l

After you got the disk to use, run

bash
gdisk /dev/sdX

to partition the disk accordingly. For more information on how to use gdisk, see the Arch wiki. For completeness, the most used commands are:

CommandWhat does this do?
oNew partition table
nCreate new partition
wWrite table to disk

After partitioning, you want to have a layout that looks like this:

PartitionUsageSizePartition codePartition type
/dev/sdXYGrub bootDepends, 300M are recommendedef00EFI System
/dev/sdXZLUKS containerRemaining8E00Linux Filesystem

The crypt container

Create crypt container

Now we create a crypt container on sdXZ using LUKS. For more information, see these two pages on the Arch wiki regarding dm-crypt:

Encrypt dev/sdXZ. You will be prompted for a password. Care for different keyboard layouts when typing in the password!

bash
cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sdXZ

Now open the encrypted container and map it to the device cryptroot. You will be prompted for the encryption password.

bash
cryptsetup open /dev/sdXZ cryptroot

Creating LVM within the LUKS container

We currently have an (open and) encrypted container, but no LVM inside. To do this, we first have to create a volume group. We will call it main:

bash
vgcreate main /dev/mapper/cryptroot

Now we create the partitions we need. Since we just want a swap partition and a root partition, we need these two commands. If you want additional partitions, e.g. for a separate home partition, adjust the following commands (in the other sections, too) according to your needs. For recommendations regarding the swap size, see the partitioning section of this guide.

bash
lvcreate -L 32G main -n swap
+lvcreate -l 100%FREE main -n root

Create the filesystems

Now we format the newly created volumes and partitions. The UEFI partition needs to be of type fat32. Additionally, this will get you a ext4 root partition. You can adjust this freely if you like.

bash
mkfs.fat -F 32 /dev/sdXY
 mkswap /dev/mapper/main-swap
-mkfs.ext4 /dev/mapper/main-root

Mounting the system

Mount the system

bash
mount /dev/mapper/main-root /mnt
+mkfs.ext4 /dev/mapper/main-root

Mounting the system

Mount the system

bash
mount /dev/mapper/main-root /mnt
 mkdir /mnt/boot
-mount /dev/sdXY /mnt/boot

Additionally, enable the swap

bash
swapon /dev/mapper/main-swap

When following the guide for a normal installation, you can go back to the base installation page now.

Adjust linux kernel hooks

Edit the file /etc/mkinitcpio.conf to contain the following line

ini
HOOKS=(base udev autodetect modconf block filesystems keyboard keymap encrypt lvm2 fsck)

After that, run the command to create the initial ramdisk environment

bash
mkinitcpio -P

Install grub

Before installing grub, we have to mount the efi variables and install important packages

bash
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
-pacman -S grub efibootmgr dosfstools

Additionally, install the microcode packages for your cpu, e.g. intel-ucode or amd-ucode.

Now find the UUID of the root partition (in the line starting with /dev/sdXZ) and note it down

bash
blkid | grep "UUID="

Adjust /etc/default/grub because of the encryption. Replace <UUID> with the UUID of the device you found earlier.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root"

TIP

If you want to type the password with the keyboard layout of your home country, you can adjust the line like this with the languages of your choice. This example uses the german keyboard layout.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root lang=de locale=de_DE.UTF-8"

After that, you can install grub. Use the following commands to do that. Make sure no errors are reported here.

bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
-grub-mkconfig -o /boot/grub/grub.cfg

When following the guide for a normal installation, you can go back to the configure system page now.

Additional resources

For more information, you can visit the following pages:

This guide tries to sum them all up in one neat page.

Made by D3SOX with ❤️

- +mount /dev/sdXY /mnt/boot

Additionally, enable the swap

bash
swapon /dev/mapper/main-swap

When following the guide for a normal installation, you can go back to the base installation page now.

Adjust linux kernel hooks

Edit the file /etc/mkinitcpio.conf to contain the following line

ini
HOOKS=(base udev autodetect modconf block filesystems keyboard keymap encrypt lvm2 fsck)

After that, run the command to create the initial ramdisk environment

bash
mkinitcpio -P

Install grub

Before installing grub, we have to mount the efi variables and install important packages

bash
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
+pacman -S grub efibootmgr dosfstools

Additionally, install the microcode packages for your cpu, e.g. intel-ucode or amd-ucode.

Now find the UUID of the root partition (in the line starting with /dev/sdXZ) and note it down

bash
blkid | grep "UUID="

Adjust /etc/default/grub because of the encryption. Replace <UUID> with the UUID of the device you found earlier.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root"

TIP

If you want to type the password with the keyboard layout of your home country, you can adjust the line like this with the languages of your choice. This example uses the german keyboard layout.

ini
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/main-root lang=de locale=de_DE.UTF-8"

After that, you can install grub. Use the following commands to do that. Make sure no errors are reported here.

bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
+grub-mkconfig -o /boot/grub/grub.cfg

When following the guide for a normal installation, you can go back to the configure system page now.

Additional resources

For more information, you can visit the following pages:

This guide tries to sum them all up in one neat page.

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/gaming/index.html b/gaming/index.html index d1072cad..85f8732d 100644 --- a/gaming/index.html +++ b/gaming/index.html @@ -5,25 +5,25 @@ Gaming | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Gaming

Video driver

If you followed Installation/Useful packages/Graphics Driver your graphics driver & Vulkan should be already set-up correctly

Graphics card configuration tool

AMD

bash
yay -S radeon-profile-git radeon-profile-daemon-git
-systemctl enable --now radeon-profile-daemon

NVIDIA

bash
yay -S nvidia-settings

Wine

Libraries

Recommended by Lutris

bash
yay -S --needed wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses ocl-icd lib32-ocl-icd libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

Other packages not listed by Lutris

bash
yay -S vkd3d lib32-vkd3d faudio lib32-faudio

Custom Wine/Proton

For custom Proton, I recommend GloriousEgroll's builds. For Steam and Lutris. These can be installed using ProtonUp-Qt

bash
yay -S protonup-qt

For custom Wine, I recommend Tk-Glitch which can be downloaded from here and installed with unzip wine-tkg-build.zip && yay -U wine-tkg-*.pkg.tar.zst

Programs

Install basic gaming tools

bash
yay -S lutris steam gamemode lib32-gamemode

Custom kernel

WARNING

If you are using NVIDIA and want to use a custom kernel you need to use nvidia-dkms since nvidia is just for the mainline linux kernel and nvidia-lts for linux-lts

bash
yay -Rdd nvidia
-yay -S nvidia-dkms

Alternatively you can use nvidia-all to get the latest NVIDIA driver for all kernels

Zen

bash
yay -S linux-zen linux-zen-headers

Tk-Glitch

See linux-tkg

After installing

You need to re-generate your grub config

bash
sudo grub-mkconfig -o /boot/grub/grub.cfg

Tweak Esync

If this command prints out a value which is equal or greater to 524288 you're all set

bash
ulimit -Hn

However, if it doesn't, or you want to further improve it:

bash
sudo nano /etc/systemd/system.conf
-sudo nano /etc/systemd/user.conf

append this in both files

ini
DefaultLimitNOFILE=1024:1048576

Source: https://github.com/zfigura/wine/blob/master/README.esync

Other tweaks

The Arch wiki has a page dedicated to Gaming with a few other tweaks you might want to look into.

Made by D3SOX with ❤️

- +
Skip to content

Gaming

Video driver

If you followed Installation/Useful packages/Graphics Driver your graphics driver & Vulkan should be already set-up correctly

Graphics card configuration tool

AMD

bash
yay -S radeon-profile-git radeon-profile-daemon-git
+systemctl enable --now radeon-profile-daemon

NVIDIA

bash
yay -S nvidia-settings

Wine

Libraries

Recommended by Lutris

bash
yay -S --needed wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses ocl-icd lib32-ocl-icd libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

Other packages not listed by Lutris

bash
yay -S vkd3d lib32-vkd3d faudio lib32-faudio

Custom Wine/Proton

For custom Proton, I recommend GloriousEgroll's builds. For Steam and Lutris. These can be installed using ProtonUp-Qt

bash
yay -S protonup-qt

For custom Wine, I recommend Tk-Glitch which can be downloaded from here and installed with unzip wine-tkg-build.zip && yay -U wine-tkg-*.pkg.tar.zst

Programs

Install basic gaming tools

bash
yay -S lutris steam gamemode lib32-gamemode

Custom kernel

WARNING

If you are using NVIDIA and want to use a custom kernel you need to use nvidia-dkms since nvidia is just for the mainline linux kernel and nvidia-lts for linux-lts

bash
yay -Rdd nvidia
+yay -S nvidia-dkms

Alternatively you can use nvidia-all to get the latest NVIDIA driver for all kernels

Zen

bash
yay -S linux-zen linux-zen-headers

Tk-Glitch

See linux-tkg

After installing

You need to re-generate your grub config

bash
sudo grub-mkconfig -o /boot/grub/grub.cfg

Tweak Esync

If this command prints out a value which is equal or greater to 524288 you're all set

bash
ulimit -Hn

However, if it doesn't, or you want to further improve it:

bash
sudo nano /etc/systemd/system.conf
+sudo nano /etc/systemd/user.conf

append this in both files

ini
DefaultLimitNOFILE=1024:1048576

Source: https://github.com/zfigura/wine/blob/master/README.esync

Other tweaks

The Arch wiki has a page dedicated to Gaming with a few other tweaks you might want to look into.

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index a06c962f..b65cfda0 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"installation_install-bootloader.md":"Kl1Ro4gU","gaming_index.md":"9UH0paLi","installation_configure-system.md":"nM-fEZ3F","installation_index.md":"e4KqLS7B","installation_install-desktop.md":"17tEB1ES","post-installation_index.md":"QVARgM51","installation_live-setup.md":"l-ipLV_0","installation_reboot.md":"ieehy_Ui","installation_useful-packages.md":"mCaNWI0D","index.md":"RTSJRoPP","installation_mount-filesystems.md":"nmv4_n7M","installation_base-installation.md":"BYz-3faF","installation_partitioning-formatting.md":"h8YOOk3-","installation_setup-users.md":"BZA2_tOQ","tweaks_index.md":"Pw9jVxno","encryption_index.md":"dJyOp6Qj"} +{"installation_index.md":"XPvRfpVl","installation_base-installation.md":"W7pmNWqA","installation_install-bootloader.md":"zOUASgRg","index.md":"LeNbxYYg","installation_live-setup.md":"NAdPCT4P","installation_mount-filesystems.md":"-U8eM1MQ","installation_configure-system.md":"652Qbr2J","installation_install-desktop.md":"QE6xAbBI","installation_reboot.md":"jtKUAeHr","encryption_index.md":"RRBXRbgZ","installation_partitioning-formatting.md":"MXk_sgov","installation_useful-packages.md":"6qBcebzu","installation_setup-users.md":"opWI_nGG","gaming_index.md":"sZSOw66Q","tweaks_index.md":"mWAcSz7f","post-installation_index.md":"PyfIgiKP"} diff --git a/index.html b/index.html index e92abdb8..8ce76f84 100644 --- a/index.html +++ b/index.html @@ -5,22 +5,22 @@ Arch Linux Guide | Home - - + + - + - - - + + + -
Skip to content

Arch Linux Guide

My installation instructions and guide for Arch Linux

Logo
Last UpdateStarsLicense

Made by D3SOX with ❤️

- +
Skip to content

Arch Linux Guide

My installation instructions and guide for Arch Linux

Logo
Last UpdateStarsLicense

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/base-installation.html b/installation/base-installation.html index e6a49dc3..35f4a184 100644 --- a/installation/base-installation.html +++ b/installation/base-installation.html @@ -5,23 +5,23 @@ Base installation | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Base installation

Rank the mirrors before for faster downloads

📊 This will rank the mirrorlist. You may replace United States with your country

bash
reflector -c 'United States' -a 15 -p https --sort rate --save /etc/pacman.d/mirrorlist
-pacman -Syy

Start the installation

⏳ This will install the system and may take a while

WARNING

⚠️ To ensure system stability append the microcode package for your CPU to the following command

bash
pacstrap /mnt base base-devel linux linux-firmware sysfsutils usbutils e2fsprogs inetutils netctl nano less which man-db man-pages

Create filesystem table

This will create the file system table which contains all the partitions and mountpoints

bash
genfstab -U /mnt >> /mnt/etc/fstab

Change root

After you entered this command, you are basically in the installed system

bash
arch-chroot /mnt

Made by D3SOX with ❤️

- +
Skip to content

Base installation

Rank the mirrors before for faster downloads

📊 This will rank the mirrorlist. You may replace United States with your country

bash
reflector -c 'United States' -a 15 -p https --sort rate --save /etc/pacman.d/mirrorlist
+pacman -Syy

Start the installation

⏳ This will install the system and may take a while

WARNING

⚠️ To ensure system stability append the microcode package for your CPU to the following command

bash
pacstrap /mnt base base-devel linux linux-firmware sysfsutils usbutils e2fsprogs inetutils netctl nano less which man-db man-pages

Create filesystem table

This will create the file system table which contains all the partitions and mountpoints

bash
genfstab -U /mnt >> /mnt/etc/fstab

Change root

After you entered this command, you are basically in the installed system

bash
arch-chroot /mnt

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/configure-system.html b/installation/configure-system.html index f14cb0b2..d353947a 100644 --- a/installation/configure-system.html +++ b/installation/configure-system.html @@ -5,28 +5,28 @@ Configure system | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Configure system

The nano text editor

Nano is the text editor we will use in this tutorial. Basic Usage:

  • Move with arrow keys
  • CTRL + O and then ENTER to save
  • CTRL + X to exit

Setup hostname

📛 This will be the name of your PC on your network (Replace myhostname)

bash
echo myhostname > /etc/hostname
+    
Skip to content

Configure system

The nano text editor

Nano is the text editor we will use in this tutorial. Basic Usage:

  • Move with arrow keys
  • CTRL + O and then ENTER to save
  • CTRL + X to exit

Setup hostname

📛 This will be the name of your PC on your network (Replace myhostname)

bash
echo myhostname > /etc/hostname
 nano /etc/hosts

Add these lines

127.0.0.1   localhost
 ::1         localhost
 127.0.1.1   myhostname.localdomain  myhostname

Setup locale

🌐 Uncomment (remove the # in front of) all languages you need

bash
nano /etc/locale.gen

🏁 Generate locales

bash
locale-gen

🔘 Set locale

bash
echo LANG=en_US.UTF-8 > /etc/locale.conf
-export LANG=en_US.UTF-8

⌨️ Set tty keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
echo KEYMAP=yourkeymap > /etc/vconsole.conf

Setup time & date

📅 You can tab-complete your stuff after zoneinfo

bash
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
+export LANG=en_US.UTF-8

⌨️ Set tty keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
echo KEYMAP=yourkeymap > /etc/vconsole.conf

Setup time & date

📅 You can tab-complete your stuff after zoneinfo

bash
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
 hwclock --systohc --utc

Configure pacman

Edit pacman configuration file

bash
nano /etc/pacman.conf

Setup multilib

👾 multilib is a repository which contains 32-bit libraries and is disabled by default (needed for some games & software; highly recommended to enable)

💥 Uncomment (remove the # in front of) the following lines

ini
[multilib]
-Include = /etc/pacman.d/mirrorlist

Enable parallel downloads

🌐 Depending on your internet connection enabling parallel downloads may speed up the package download process

💥 Uncomment (remove the # in front of) this line and set it to your desired value

ini
ParallelDownloads = 5

Extra candy

🍬 If you want some extra candy you can uncomment Color and VerbosePkgLists and add ILoveCandy under Misc options.

After configuring

bash
pacman -Syu

Made by D3SOX with ❤️

- +Include = /etc/pacman.d/mirrorlist

Enable parallel downloads

🌐 Depending on your internet connection enabling parallel downloads may speed up the package download process

💥 Uncomment (remove the # in front of) this line and set it to your desired value

ini
ParallelDownloads = 5

Extra candy

🍬 If you want some extra candy you can uncomment Color and VerbosePkgLists and add ILoveCandy under Misc options.

After configuring

bash
pacman -Syu

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/index.html b/installation/index.html index f487903a..1e1c6b59 100644 --- a/installation/index.html +++ b/installation/index.html @@ -5,22 +5,22 @@ Introduction | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Introduction

Why this guide?

The Arch Wiki has this information spread across multiple pages, and I think this is much more clearly laid out and straight forward. It also contains some packages and decisions that are personal preference.

Important other resources

The Arch Wiki is a very powerful resource. If you have any problems it's the first place to search for solutions
https://wiki.archlinux.org

Especially for the installation please read
https://wiki.archlinux.org/index.php/installation_guide

Sometimes packages need manual intervention which is announced at
https://www.archlinux.org/news/
So keep an eye on it or ideally subscribe to the mailing list at
https://lists.archlinux.org/mailman3/lists/arch-announce.lists.archlinux.org/

This tutorial is inspired by https://sourceforge.net/projects/ezos/files/ezarcher/Project_Files/ and have taken out some stuff of it

Made by D3SOX with ❤️

- +
Skip to content

Introduction

Why this guide?

The Arch Wiki has this information spread across multiple pages, and I think this is much more clearly laid out and straight forward. It also contains some packages and decisions that are personal preference.

Important other resources

The Arch Wiki is a very powerful resource. If you have any problems it's the first place to search for solutions
https://wiki.archlinux.org

Especially for the installation please read
https://wiki.archlinux.org/index.php/installation_guide

Sometimes packages need manual intervention which is announced at
https://www.archlinux.org/news/
So keep an eye on it or ideally subscribe to the mailing list at
https://lists.archlinux.org/mailman3/lists/arch-announce.lists.archlinux.org/

This tutorial is inspired by https://sourceforge.net/projects/ezos/files/ezarcher/Project_Files/ and have taken out some stuff of it

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/install-bootloader.html b/installation/install-bootloader.html index 38505cdf..cecbf120 100644 --- a/installation/install-bootloader.html +++ b/installation/install-bootloader.html @@ -5,26 +5,26 @@ Install Bootloader | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Install Bootloader

TIP

When doing disk encryption, finish the steps on the encryption page. It will guide you back to the main installation when needed.

If you don't know which one you should use re-visit Live Setup/Check if booted in BIOS or UEFI

UEFI

bash
pacman -S grub os-prober efibootmgr dosfstools mtools gptfdisk fatresize
+    
Skip to content

Install Bootloader

TIP

When doing disk encryption, finish the steps on the encryption page. It will guide you back to the main installation when needed.

If you don't know which one you should use re-visit Live Setup/Check if booted in BIOS or UEFI

UEFI

bash
pacman -S grub os-prober efibootmgr dosfstools mtools gptfdisk fatresize
 grub-install --target=x86_64-efi --bootloader-id=grub_uefi --efi-directory=/boot/efi --recheck
-grub-mkconfig -o /boot/grub/grub.cfg

BIOS

bash
pacman -S grub os-prober
+grub-mkconfig -o /boot/grub/grub.cfg

BIOS

bash
pacman -S grub os-prober
 grub-install --target=i386-pc --recheck /dev/sdX
-grub-mkconfig -o /boot/grub/grub.cfg

Made by D3SOX with ❤️

- +grub-mkconfig -o /boot/grub/grub.cfg

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/install-desktop.html b/installation/install-desktop.html index c5d5b884..b046d7a3 100644 --- a/installation/install-desktop.html +++ b/installation/install-desktop.html @@ -5,29 +5,29 @@ Install Desktop | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Install Desktop

Display Server

🖥️ Xorg is the display server we will use

bash
pacman -S xorg-server xorg-xinit xorg-xrandr xorg-xfontsel xorg-xlsfonts xorg-xkill xorg-xinput xorg-xwininfo

Desktop Environment

🗔 You need to select a desktop environment

  • For beginners coming from Windows I recommend KDE Plasma or Cinnmaon.
  • For a very resource friendy desktop I recommend Xfce or LXQt
  • The instructions for KDE Plasma are tested by me because I use it. Others should work but you may need some extra packages for productive use (pull requests are welcome)

KDE Plasma

bash
pacman -S plasma kdialog packagekit-qt5 kcalc icoutils libappimage konsole dolphin kdegraphics-thumbnailers svgpart ffmpegthumbs kdenetwork-filesharing gwenview kimageformats ark kate okular kcron kdf filelight print-manager

If you want to use KDE Connect (Pairing with Android phone)

bash
pacman -S kdeconnect sshfs

See also https://wiki.archlinux.org/index.php/KDE

Xfce

bash
pacman -S xfce4 xfce4-goodies

See also https://wiki.archlinux.org/index.php/Xfce

GNOME

bash
pacman -S gnome gnome-extra

See also https://wiki.archlinux.org/index.php/GNOME

LXDE

bash
pacman -S lxde lxdm-gtk3

See also https://wiki.archlinux.org/index.php/LXDE

LXQt

bash
pacman -S lxqt breeze-icons pcmanfm-qt qterminal lxqt-sudo polkit-qt5

See also https://wiki.archlinux.org/index.php/LXQt

Cinnamon

bash
pacman -S cinnamon cinnamon-translations nemo-fileroller nemo-image-converter nemo-preview xed xreader gnome-terminal metacity gnome-shell

See also https://wiki.archlinux.org/index.php/Cinnamon

Budgie

bash
pacman -S budgie-desktop network-manager-applet gnome

See also https://wiki.archlinux.org/index.php/Budgie

Mate

bash
pacman -S mate mate-extra gdm

See also https://wiki.archlinux.org/index.php/MATE

Deepin

bash
pacman -S deepin deepin-extra
+    
Skip to content

Install Desktop

Display Server

🖥️ Xorg is the display server we will use

bash
pacman -S xorg-server xorg-xinit xorg-xrandr xorg-xfontsel xorg-xlsfonts xorg-xkill xorg-xinput xorg-xwininfo

Desktop Environment

🗔 You need to select a desktop environment

  • For beginners coming from Windows I recommend KDE Plasma or Cinnmaon.
  • For a very resource friendy desktop I recommend Xfce or LXQt
  • The instructions for KDE Plasma are tested by me because I use it. Others should work but you may need some extra packages for productive use (pull requests are welcome)

KDE Plasma

bash
pacman -S plasma kdialog packagekit-qt5 kcalc icoutils libappimage konsole dolphin kdegraphics-thumbnailers svgpart ffmpegthumbs kdenetwork-filesharing gwenview kimageformats ark kate okular kcron kdf filelight print-manager

If you want to use KDE Connect (Pairing with Android phone)

bash
pacman -S kdeconnect sshfs

See also https://wiki.archlinux.org/index.php/KDE

Xfce

bash
pacman -S xfce4 xfce4-goodies

See also https://wiki.archlinux.org/index.php/Xfce

GNOME

bash
pacman -S gnome gnome-extra

See also https://wiki.archlinux.org/index.php/GNOME

LXDE

bash
pacman -S lxde lxdm-gtk3

See also https://wiki.archlinux.org/index.php/LXDE

LXQt

bash
pacman -S lxqt breeze-icons pcmanfm-qt qterminal lxqt-sudo polkit-qt5

See also https://wiki.archlinux.org/index.php/LXQt

Cinnamon

bash
pacman -S cinnamon cinnamon-translations nemo-fileroller nemo-image-converter nemo-preview xed xreader gnome-terminal metacity gnome-shell

See also https://wiki.archlinux.org/index.php/Cinnamon

Budgie

bash
pacman -S budgie-desktop network-manager-applet gnome

See also https://wiki.archlinux.org/index.php/Budgie

Mate

bash
pacman -S mate mate-extra gdm

See also https://wiki.archlinux.org/index.php/MATE

Deepin

bash
pacman -S deepin deepin-extra
 nano /etc/lightdm/lightdm.conf
 # append this line to use the deepin specific greeter
 greeter-session=lightdm-deepin-greeter

See also https://wiki.archlinux.org/index.php/Deepin

Display/Desktop Manager

🖥️ A display manager is basically your login screen where you enter your user details and select your Desktop Environment

LXDM (Included with LXDE)

bash
pacman -S lxdm-gtk3
-systemctl enable lxdm

See also https://wiki.archlinux.org/index.php/LXDM

SDDM (Included with KDE Plasma)

bash
pacman -S sddm
-systemctl enable sddm

See also https://wiki.archlinux.org/index.php/SDDM

GDM (Included with GNOME/Budgie/MATE)

bash
pacman -S gdm
-systemctl enable gdm

See also https://wiki.archlinux.org/index.php/GDM

LightDM

bash
pacman -S lightdm lightdm-gtk-greeter
-systemctl enable lightdm

See also https://wiki.archlinux.org/index.php/LightDM

Made by D3SOX with ❤️

- +systemctl enable lxdm

See also https://wiki.archlinux.org/index.php/LXDM

SDDM (Included with KDE Plasma)

bash
pacman -S sddm
+systemctl enable sddm

See also https://wiki.archlinux.org/index.php/SDDM

GDM (Included with GNOME/Budgie/MATE)

bash
pacman -S gdm
+systemctl enable gdm

See also https://wiki.archlinux.org/index.php/GDM

LightDM

bash
pacman -S lightdm lightdm-gtk-greeter
+systemctl enable lightdm

See also https://wiki.archlinux.org/index.php/LightDM

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/live-setup.html b/installation/live-setup.html index 332f1a18..fe72e95c 100644 --- a/installation/live-setup.html +++ b/installation/live-setup.html @@ -5,29 +5,29 @@ Live Setup | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Live Setup

At this point, I assume you're already in the archiso. Make sure you are using the latest version which can be found on the official download site

Set keyboard layout

⌨️ The default keymap is US. Available layouts can be listed with:

bash
ls /usr/share/kbd/keymaps/**/*.map.gz

Set your keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
loadkeys yourkeymap

If you use Wi-Fi to connect to your router

📶 Use this tool to connect to your network

bash
iwctl
+    
Skip to content

Live Setup

At this point, I assume you're already in the archiso. Make sure you are using the latest version which can be found on the official download site

Set keyboard layout

⌨️ The default keymap is US. Available layouts can be listed with:

bash
ls /usr/share/kbd/keymaps/**/*.map.gz

Set your keymap (replace yourkeymap with your keymap e.g. de-latin1)

bash
loadkeys yourkeymap

If you use Wi-Fi to connect to your router

📶 Use this tool to connect to your network

bash
iwctl
 device list
 # your device name might be different (replace wlan0)
-station wlan0 scan
-station wlan0 get-networks
+station wlan0 scan
+station wlan0 get-networks
 # replace <SSID> with your network name from the previous command
-station wlan0 connect <SSID>
-exit

Check internet connection

bash
ping -c 3 archlinux.org

Sync time

🕒 Ensure the system clock is accurate

bash
timedatectl set-ntp true

Check if booted in BIOS or UEFI

bash
ls /sys/firmware/efi/efivars

If the directory does not exist, the system may be booted in Legacy BIOS Mode. Most likely you want to do a UEFI install so please double-check if your system supports UEFI and you selected the correct entry in the boot menu (In most cases prefixed with UEFI)

Made by D3SOX with ❤️

- +station wlan0 connect <SSID> +exit

Check internet connection

bash
ping -c 3 archlinux.org

Sync time

🕒 Ensure the system clock is accurate

bash
timedatectl set-ntp true

Check if booted in BIOS or UEFI

bash
ls /sys/firmware/efi/efivars

If the directory does not exist, the system may be booted in Legacy BIOS Mode. Most likely you want to do a UEFI install so please double-check if your system supports UEFI and you selected the correct entry in the boot menu (In most cases prefixed with UEFI)

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/mount-filesystems.html b/installation/mount-filesystems.html index 726c2e2b..7b586f57 100644 --- a/installation/mount-filesystems.html +++ b/installation/mount-filesystems.html @@ -5,24 +5,24 @@ Mount file systems | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Mount file systems

💽 Mount root filesystem:

bash
mount /dev/sdXY /mnt

▶️ Only UEFI

bash
mkdir -p /mnt/boot/efi
-mount /dev/sdXY /mnt/boot/efi

🏠 If you created a separate home partition:

bash
mkdir /mnt/home
-mount /dev/sdXY /mnt/home

Made by D3SOX with ❤️

- +
Skip to content

Mount file systems

💽 Mount root filesystem:

bash
mount /dev/sdXY /mnt

▶️ Only UEFI

bash
mkdir -p /mnt/boot/efi
+mount /dev/sdXY /mnt/boot/efi

🏠 If you created a separate home partition:

bash
mkdir /mnt/home
+mount /dev/sdXY /mnt/home

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/partitioning-formatting.html b/installation/partitioning-formatting.html index b242edc6..9d4d77a0 100644 --- a/installation/partitioning-formatting.html +++ b/installation/partitioning-formatting.html @@ -5,23 +5,23 @@ Partitioning & Formatting | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Partitioning & Formatting

TIP

In the following X and Y are placeholders. Replace them with your corresponding device and partition number. "sd" could also be different if you don't connect your hard drive via SCSI/SATA

Partitioning

TIP

If you want to do disk encryption, go to the encryption page. It will guide you back to the main installation when needed.

TIP

Also see this awesome video about partitioning by EF - Linux Made Simple

List partition table

To get an overview you can list your partition table to find out the device you want to use

bash
fdisk -l

Start partitioning tool

▶️ Text-based

bash
fdisk /dev/sdX

▶️ UEFI only text-based

bash
gdisk /dev/sdX

▶️ Graphical (Recommended for beginners)

bash
cfdisk /dev/sdX

▶️ UEFI only Graphical (Recommended for beginners)

bash
cgdisk /dev/sdX

Create partitions

Decide partition table type

  • BIOS: You can use both but this guide uses DOS
  • UEFI: You need to use GPT

GPT (UEFI)

NeededPartitionPartition typeMount point
✔️/dev/sdXYEFI system partition/mnt/boot/efi
/dev/sdXYLinux swap-
✔️/dev/sdXYLinux/mnt
/dev/sdXYLinux/mnt/home

DOS (BIOS)

NeededPartitionPartition typeMount pointFlags
/dev/sdXYLinux swap--
✔️/dev/sdXYLinux/mntBootable
/dev/sdXYLinux/mnt/home-

GPT (BIOS)

Size recommendations

EFI system

  • At least: 150MB
  • Recommended: 300MB

Swap

Taken from https://docs.voidlinux.org/installation/live-images/partitions.html

System RAMRecommended swap spaceSwap space if using hibernation
< 2GB2x the amount of RAM3x the amount of RAM
2-8GBEqual to amount of RAM2x the amount of RAM
8-64GBAt least 4GB1.5x the amount of RAM
64GBAt least 4GBHibernation not recommended

Format partitions

EFI system partition

bash
mkfs.fat -F32 -n EFI /dev/sdXY

Create root filesystem

💽 This will create the filesystem where the system will be installed on

bash
mkfs.ext4 -L ROOT /dev/sdXY

Create home partition filesystem

🏠 If you created a separate home partition

bash
mkfs.ext4 -L HOME /dev/sdXY

Create Swap

bash
mkswap -L SWAP /dev/sdXY
-swapon /dev/sdXY

Made by D3SOX with ❤️

- +
Skip to content

Partitioning & Formatting

TIP

In the following X and Y are placeholders. Replace them with your corresponding device and partition number. "sd" could also be different if you don't connect your hard drive via SCSI/SATA

Partitioning

TIP

If you want to do disk encryption, go to the encryption page. It will guide you back to the main installation when needed.

TIP

Also see this awesome video about partitioning by EF - Linux Made Simple

List partition table

To get an overview you can list your partition table to find out the device you want to use

bash
fdisk -l

Start partitioning tool

▶️ Text-based

bash
fdisk /dev/sdX

▶️ UEFI only text-based

bash
gdisk /dev/sdX

▶️ Graphical (Recommended for beginners)

bash
cfdisk /dev/sdX

▶️ UEFI only Graphical (Recommended for beginners)

bash
cgdisk /dev/sdX

Create partitions

Decide partition table type

  • BIOS: You can use both but this guide uses DOS
  • UEFI: You need to use GPT

GPT (UEFI)

NeededPartitionPartition typeMount point
✔️/dev/sdXYEFI system partition/mnt/boot/efi
/dev/sdXYLinux swap-
✔️/dev/sdXYLinux/mnt
/dev/sdXYLinux/mnt/home

DOS (BIOS)

NeededPartitionPartition typeMount pointFlags
/dev/sdXYLinux swap--
✔️/dev/sdXYLinux/mntBootable
/dev/sdXYLinux/mnt/home-

GPT (BIOS)

Size recommendations

EFI system

  • At least: 150MB
  • Recommended: 300MB

Swap

Taken from https://docs.voidlinux.org/installation/live-images/partitions.html

System RAMRecommended swap spaceSwap space if using hibernation
< 2GB2x the amount of RAM3x the amount of RAM
2-8GBEqual to amount of RAM2x the amount of RAM
8-64GBAt least 4GB1.5x the amount of RAM
64GBAt least 4GBHibernation not recommended

Format partitions

EFI system partition

bash
mkfs.fat -F32 -n EFI /dev/sdXY

Create root filesystem

💽 This will create the filesystem where the system will be installed on

bash
mkfs.ext4 -L ROOT /dev/sdXY

Create home partition filesystem

🏠 If you created a separate home partition

bash
mkfs.ext4 -L HOME /dev/sdXY

Create Swap

bash
mkswap -L SWAP /dev/sdXY
+swapon /dev/sdXY

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/reboot.html b/installation/reboot.html index 98f7e5b0..57277d66 100644 --- a/installation/reboot.html +++ b/installation/reboot.html @@ -5,24 +5,24 @@ Reboot | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Reboot

bash
exit
+    
Skip to content

Reboot

bash
exit
 umount -R /mnt
-reboot

TIP

Now continue with Post-Installation

Made by D3SOX with ❤️

- +reboot

TIP

Now continue with Post-Installation

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/setup-users.html b/installation/setup-users.html index 7c303e84..8a5f8dbf 100644 --- a/installation/setup-users.html +++ b/installation/setup-users.html @@ -5,23 +5,23 @@ Setup users | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Setup users

Set root password

🔑 Use a strong and complicated password

bash
passwd

Add your user

🧑 This will be your user you'll use to log in. For group reference see https://wiki.archlinux.org/index.php/Users_and_groups#Group_list

bash
useradd -m -G audio,video,input,wheel,sys,log,rfkill,lp,adm -s /bin/bash yourusername
-passwd yourusername

🎰 If you want to force your user to change password after first login:

bash
chage -d 0 yourusername

Enable sudo

🧐 This will give your user administrative privileges

bash
EDITOR=nano visudo

💥 Uncomment (remove the # in front of) the following lines

%wheel ALL=(ALL) ALL

Made by D3SOX with ❤️

- +
Skip to content

Setup users

Set root password

🔑 Use a strong and complicated password

bash
passwd

Add your user

🧑 This will be your user you'll use to log in. For group reference see https://wiki.archlinux.org/index.php/Users_and_groups#Group_list

bash
useradd -m -G audio,video,input,wheel,sys,log,rfkill,lp,adm -s /bin/bash yourusername
+passwd yourusername

🎰 If you want to force your user to change password after first login:

bash
chage -d 0 yourusername

Enable sudo

🧐 This will give your user administrative privileges

bash
EDITOR=nano visudo

💥 Uncomment (remove the # in front of) the following lines

%wheel ALL=(ALL) ALL

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/installation/useful-packages.html b/installation/useful-packages.html index 4b1f7b8b..0620aa64 100644 --- a/installation/useful-packages.html +++ b/installation/useful-packages.html @@ -5,34 +5,34 @@ Useful packages | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Useful packages

General packages

bash
pacman -S linux-headers dkms
-pacman -S jshon expac git wget acpid avahi net-tools xdg-user-dirs
-systemctl enable acpid avahi-daemon systemd-timesyncd

If system is running on an SSD

bash
systemctl enable fstrim.timer

Printer support

🖨️ Add some packages needed for printing and scanning

General packages

bash
pacman -S system-config-printer foomatic-db foomatic-db-engine gutenprint gsfonts cups cups-pdf cups-filters sane
-systemctl enable cups.service saned.socket

Qt Scan Application

Use this if you use KDE Plasma or LXQt

bash
pacman -S skanlite

GTK Scan Application

Use this if you use another desktop environment

bash
pacman -S simple-scan

UI for HP Printers

🖨 Install this if you have an HP Printer

bash
pacman -S hplip

Input Driver

These are some packages needed for certain input devices to function properly. It does no harm to install them, even if you wouldn't need them

bash
pacman -S xf86-input-synaptics xf86-input-libinput xf86-input-evdev

When installing inside a virtual machine:

bash
pacman -S xf86-input-vmmouse

Graphics Driver

Mesa

This is useful for all GPUs

bash
pacman -S mesa lib32-mesa

Vulkan

This is useful for all GPUs

bash
pacman -S vulkan-icd-loader lib32-vulkan-icd-loader

Open Source drivers

Only install this if you use an AMD or Intel GPU or want to use the open source NVIDIA driver (Nouveau, not developed by NVIDIA)

bash
pacman -S <driver>
  • xf86-video-amdgpu is for newer AMD GPUs
  • xf86-video-nouveau is the open source NVIDIA driver
  • xf86-video-intel is the open source Intel driver (You probably want to leave this out, and it will use the modesetting driver. For more information refer to the wiki)
  • xf86-video-ati is for older AMD GPUs
  • xf86-video-vmware for VirtualBox, VMWare, QEMU
  • xf86-video-fbdev for Hyper-V
  • If you don't know it you can install all, but it could happen that the internal graphics card is used if you install the driver for it

Nvidia proprietary driver

Only install these packages if you are using an NVIDIA GPU

bash
pacman -S nvidia nvidia-utils lib32-nvidia-utils libvdpau lib32-libvdpau

Warning

NVIDIA's Linux drivers have a bad reputation when it comes to stability and compatibility with all systems. If you experience any problems later on consult https://wiki.archlinux.org/title/NVIDIA for troubleshooting.

AMD Utils

Only install these packages if you are using an AMD GPU

bash
pacman -S libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau libva-vdpau-driver lib32-libva-vdpau-driver vulkan-radeon lib32-vulkan-radeon

Intel Utils

Only install this package if you are using an Intel GPU

bash
pacman -S vulkan-intel

Early KMS start

Some systems require early KMS start to work properly. Read the Arch Wiki entry about it

bash
nano /etc/mkinitcpio.conf

Change MODULES=() to

  • MODULES=(amdgpu) if you installed xf86-video-amdgpu
  • MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) if you installed nvidia
  • MODULES=(i915) if you are using Intel graphics
  • for any other driver you can skip this step

Remove kms inside HOOKS=() if you installed nvidia

and run

bash
mkinitcpio -P

Networking

🖧 Those are essential networking tools

bash
pacman -S networkmanager networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
-systemctl enable NetworkManager

Wi-Fi connection

📶 Those are essential tools if you connect to the internet via Wi-Fi

bash
pacman -S wireless_tools wpa_supplicant ifplugd dialog

Some archive and file system utils

🗄️ Important tools for archives and file systems

bash
pacman -S p7zip unrar unarchiver unzip unace xz rsync
-pacman -S nfs-utils cifs-utils ntfs-3g exfat-utils gvfs udisks2

Sound

🔊 Some essential packages for sound

PulseAudio

Default audio server for Linux

bash
pacman -S alsa-utils pulseaudio-alsa pulseaudio-equalizer

See https://wiki.archlinux.org/title/PulseAudio

Fix muting some media players

🔇 PulseAudio by default might mute media applications when entering a voice call. To disable this:

bash
mkdir -p /etc/pulse/default.pa.d
-nano /etc/pulse/default.pa.d/no-cork.pa

Put this in the file and save it:

ini
unload-module module-role-cork

Source: https://wiki.archlinux.org/index.php/PulseAudio#Disable_muting_media_on_entering_voice_call_(module-role-cork)

PipeWire

Alternatively use can PipeWire:

bash
pacman -S alsa-utils pipewire pipewire-pulse pipewire-jack wireplumber

See https://wiki.archlinux.org/title/PipeWire

Control app

For Qt based desktops (e.g. KDE Plasma or LXQt)

bash
pacman -S pavucontrol-qt

For GTK based desktop (another desktop environment)

bash
pacman -S pavucontrol

Bluetooth support

🔵 Add some packages needed for proper bluetooth support

bash
pacman -S bluez bluez-utils
-systemctl enable bluetooth
+    
Skip to content

Useful packages

General packages

bash
pacman -S linux-headers dkms
+pacman -S jshon expac git wget acpid avahi net-tools xdg-user-dirs
+systemctl enable acpid avahi-daemon systemd-timesyncd

If system is running on an SSD

bash
systemctl enable fstrim.timer

Printer support

🖨️ Add some packages needed for printing and scanning

General packages

bash
pacman -S system-config-printer foomatic-db foomatic-db-engine gutenprint gsfonts cups cups-pdf cups-filters sane
+systemctl enable cups.service saned.socket

Qt Scan Application

Use this if you use KDE Plasma or LXQt

bash
pacman -S skanlite

GTK Scan Application

Use this if you use another desktop environment

bash
pacman -S simple-scan

UI for HP Printers

🖨 Install this if you have an HP Printer

bash
pacman -S hplip

Input Driver

These are some packages needed for certain input devices to function properly. It does no harm to install them, even if you wouldn't need them

bash
pacman -S xf86-input-synaptics xf86-input-libinput xf86-input-evdev

When installing inside a virtual machine:

bash
pacman -S xf86-input-vmmouse

Graphics Driver

Mesa

This is useful for all GPUs

bash
pacman -S mesa lib32-mesa

Vulkan

This is useful for all GPUs

bash
pacman -S vulkan-icd-loader lib32-vulkan-icd-loader

Open Source drivers

Only install this if you use an AMD or Intel GPU or want to use the open source NVIDIA driver (Nouveau, not developed by NVIDIA)

bash
pacman -S <driver>
  • xf86-video-amdgpu is for newer AMD GPUs
  • xf86-video-nouveau is the open source NVIDIA driver
  • xf86-video-intel is the open source Intel driver (You probably want to leave this out, and it will use the modesetting driver. For more information refer to the wiki)
  • xf86-video-ati is for older AMD GPUs
  • xf86-video-vmware for VirtualBox, VMWare, QEMU
  • xf86-video-fbdev for Hyper-V
  • If you don't know it you can install all, but it could happen that the internal graphics card is used if you install the driver for it

Nvidia proprietary driver

Only install these packages if you are using an NVIDIA GPU

bash
pacman -S nvidia nvidia-utils lib32-nvidia-utils libvdpau lib32-libvdpau

Warning

NVIDIA's Linux drivers have a bad reputation when it comes to stability and compatibility with all systems. If you experience any problems later on consult https://wiki.archlinux.org/title/NVIDIA for troubleshooting.

AMD Utils

Only install these packages if you are using an AMD GPU

bash
pacman -S libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau libva-vdpau-driver lib32-libva-vdpau-driver vulkan-radeon lib32-vulkan-radeon

Intel Utils

Only install this package if you are using an Intel GPU

bash
pacman -S vulkan-intel

Early KMS start

Some systems require early KMS start to work properly. Read the Arch Wiki entry about it

bash
nano /etc/mkinitcpio.conf

Change MODULES=() to

  • MODULES=(amdgpu) if you installed xf86-video-amdgpu
  • MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) if you installed nvidia
  • MODULES=(i915) if you are using Intel graphics
  • for any other driver you can skip this step

Remove kms inside HOOKS=() if you installed nvidia

and run

bash
mkinitcpio -P

Networking

🖧 Those are essential networking tools

bash
pacman -S networkmanager networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
+systemctl enable NetworkManager

Wi-Fi connection

📶 Those are essential tools if you connect to the internet via Wi-Fi

bash
pacman -S wireless_tools wpa_supplicant ifplugd dialog

Some archive and file system utils

🗄️ Important tools for archives and file systems

bash
pacman -S p7zip unrar unarchiver unzip unace xz rsync
+pacman -S nfs-utils cifs-utils ntfs-3g exfat-utils gvfs udisks2

Sound

🔊 Some essential packages for sound

PulseAudio

Default audio server for Linux

bash
pacman -S alsa-utils pulseaudio-alsa pulseaudio-equalizer

See https://wiki.archlinux.org/title/PulseAudio

Fix muting some media players

🔇 PulseAudio by default might mute media applications when entering a voice call. To disable this:

bash
mkdir -p /etc/pulse/default.pa.d
+nano /etc/pulse/default.pa.d/no-cork.pa

Put this in the file and save it:

ini
unload-module module-role-cork

Source: https://wiki.archlinux.org/index.php/PulseAudio#Disable_muting_media_on_entering_voice_call_(module-role-cork)

PipeWire

Alternatively use can PipeWire:

bash
pacman -S alsa-utils pipewire pipewire-pulse pipewire-jack wireplumber

See https://wiki.archlinux.org/title/PipeWire

Control app

For Qt based desktops (e.g. KDE Plasma or LXQt)

bash
pacman -S pavucontrol-qt

For GTK based desktop (another desktop environment)

bash
pacman -S pavucontrol

Bluetooth support

🔵 Add some packages needed for proper bluetooth support

bash
pacman -S bluez bluez-utils
+systemctl enable bluetooth
 # only if you installed PulseAudio in the previous step:
-pacman -S pulseaudio-bluetooth

ADB

If you want the Android Debug Bridge working with your user:

bash
pacman -S android-tools android-udev
-usermod -aG adbusers yourusername

Other shells

🐚 You may want to use another shell than bash

zsh (Z Shell)

bash
pacman -S zsh zsh-completions
-chsh -s /usr/bin/zsh yourusername

fish (Friendly interactive shell)

bash
pacman -S fish
-chsh -s /usr/bin/fish yourusername

Made by D3SOX with ❤️

- +pacman -S pulseaudio-bluetooth

ADB

If you want the Android Debug Bridge working with your user:

bash
pacman -S android-tools android-udev
+usermod -aG adbusers yourusername

Other shells

🐚 You may want to use another shell than bash

zsh (Z Shell)

bash
pacman -S zsh zsh-completions
+chsh -s /usr/bin/zsh yourusername

fish (Friendly interactive shell)

bash
pacman -S fish
+chsh -s /usr/bin/fish yourusername

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/post-installation/index.html b/post-installation/index.html index 768fc0ac..beb2b461 100644 --- a/post-installation/index.html +++ b/post-installation/index.html @@ -5,31 +5,31 @@ Post-Installation | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Post-Installation

Set X11 Keymap

⌨️ It's recommended to set this to your keymap. Some Display Manager and Desktop Environments use this (replace yourkeymap with your keymap e.g. de)

bash
localectl set-x11-keymap yourkeymap

Wi-Fi

📶 You can use nmtui or wifi-menu to configure your network profile

Oh My Zsh

🤖 A delightful & open source framework for Zsh

bash
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Oh my Fish

🤖 The Fishshell Framework

bash
curl -L https://get.oh-my.fish | fish

AUR Setup

The Arch User Repository is a community-driven repository for Arch users. yay is a pacman wrapper that allows installing AUR packages

bash
git clone https://aur.archlinux.org/yay.git
+    
Skip to content

Post-Installation

Set X11 Keymap

⌨️ It's recommended to set this to your keymap. Some Display Manager and Desktop Environments use this (replace yourkeymap with your keymap e.g. de)

bash
localectl set-x11-keymap yourkeymap

Wi-Fi

📶 You can use nmtui or wifi-menu to configure your network profile

Oh My Zsh

🤖 A delightful & open source framework for Zsh

bash
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Oh my Fish

🤖 The Fishshell Framework

bash
curl -L https://get.oh-my.fish | fish

AUR Setup

The Arch User Repository is a community-driven repository for Arch users. yay is a pacman wrapper that allows installing AUR packages

bash
git clone https://aur.archlinux.org/yay.git
 cd yay
 makepkg -rsi
-cd .. && rm -rf yay

paru is a good alternative to yay. It's easy to use due to its similarity with yay's CLI. To install it, simply execute the following commands.

bash
git clone https://aur.archlinux.org/paru.git
+cd .. && rm -rf yay

paru is a good alternative to yay. It's easy to use due to its similarity with yay's CLI. To install it, simply execute the following commands.

bash
git clone https://aur.archlinux.org/paru.git
 cd paru
 makepkg -rsi
-cd .. && rm -rf paru

In the following commands replace yay with paru.

Hold up

WARNING

Be careful when using AUR packages. You might need to re-build them when the dependencies in the repositories get updated.
I recommend installing rebuild-detector to get notified when a package needs to be re-built.

bash
yay -S rebuild-detector

Cheat sheet

(Unless explicitly mentioned, this also applies to paru)

  • yay Update system
  • yay xyz Install xyz
  • yay -Rns xyz Uninstall xyz
  • yay -Rdd xyz Force remove xyz (should not be used)
  • yay -Yc / paru -c Uninstall not explicitly installed optional dependencies
  • yay -Si xyz Show remote package
  • yay -Qi xyz Show local package
  • yay -Qq List installed packages
  • yay -Qqe List explicitly installed packages

Graphical package manager

📦 I recommend only to use yay/paru to update and install packages but (especially if you are a beginner) you may want a graphical package manager

  • Simple GTK: yay -S gnome-packagekit
  • Simple Qt: yay -S apper
  • Complex GTK: yay -S pamac-aur (Most beginner-friendly)
  • Complex Qt: yay -S octopi

🛒 If you want an even easier to use GUI, you can install a Software Center. They can't install AUR packages though.

  • GTK Software Center: yay -S gnome-software gnome-software-packagekit-plugin
  • Qt Software Center: yay -S discover packagekit-qt5

Media Codecs

bash
yay -S gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer-vaapi x265 x264 lame

Qt theme on GTK Desktop

If you use a GTK desktop and want Qt apps to use your GTK Theme you have 2 choices

You need to install the Qt5 Style plugins for both

bash
yay -S qt5-styleplugins

Convert GTK2 theme

🧮 This may not look good with every GTK Theme

bash
echo "export QT_QPA_PLATFORMTHEME=gtk2" >> ~/.profile

Qt5

You can use Qt5Ct instead

bash
yay -S qt5ct
-echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> ~/.profile

If you want to read APFS Partitions

💽 If you have a Hackintosh installation you can use this to access your files from it

bash
yay -S linux-apfs-rw-dkms-git

Fonts

General Fonts

🗛 Those are some essential font packages

bash
yay -S adobe-source-sans-pro-fonts ttf-dejavu ttf-opensans noto-fonts freetype2 terminus-font ttf-bitstream-vera ttf-dejavu ttf-droid ttf-fira-mono ttf-fira-sans ttf-freefont ttf-inconsolata ttf-liberation libertinus-font

If you want you can install all available fonts which takes about 1 GB of space

bash
yay -S all-repository-fonts

Windows Fonts

🗛 If you want the Windows/Microsoft fonts (f.e. for Office Suites and required by certain games under Wine)

With an existing Windows Installation / ISO

When you have an existing Windows Installation / ISO you can use the following package script

bash
git clone https://aur.archlinux.org/ttf-ms-win11.git
-cd ttf-ms-win11

Read PKGBUILD and copy all Windows files into the directory and then run makepkg -rsi --skipchecksums

Without an existing Windows Installation / ISO

TIP

There's a package that automatically downloads and extracts the fonts

bash
yay -S ttf-ms-win11-auto

macOS Fonts

🗚 If you want the San Francisco Font by Apple

bash
yay -S otf-san-francisco otf-san-francisco-mono

Nano syntax highlighting

📃 This package provides syntax highlighting enhancements to the nano text editor

bash
yay -S nano-syntax-highlighting

Auto clean package cache

🗑️ This will clear the package cache to only keep 1 version after every action

bash
yay -S pacman-contrib
-sudo mkdir /etc/pacman.d/hooks
-sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
Click me to view the code
ini
[Trigger]
+cd .. && rm -rf paru

In the following commands replace yay with paru.

Hold up

WARNING

Be careful when using AUR packages. You might need to re-build them when the dependencies in the repositories get updated.
I recommend installing rebuild-detector to get notified when a package needs to be re-built.

bash
yay -S rebuild-detector

Cheat sheet

(Unless explicitly mentioned, this also applies to paru)

  • yay Update system
  • yay xyz Install xyz
  • yay -Rns xyz Uninstall xyz
  • yay -Rdd xyz Force remove xyz (should not be used)
  • yay -Yc / paru -c Uninstall not explicitly installed optional dependencies
  • yay -Si xyz Show remote package
  • yay -Qi xyz Show local package
  • yay -Qq List installed packages
  • yay -Qqe List explicitly installed packages

Graphical package manager

📦 I recommend only to use yay/paru to update and install packages but (especially if you are a beginner) you may want a graphical package manager

  • Simple GTK: yay -S gnome-packagekit
  • Simple Qt: yay -S apper
  • Complex GTK: yay -S pamac-aur (Most beginner-friendly)
  • Complex Qt: yay -S octopi

🛒 If you want an even easier to use GUI, you can install a Software Center. They can't install AUR packages though.

  • GTK Software Center: yay -S gnome-software gnome-software-packagekit-plugin
  • Qt Software Center: yay -S discover packagekit-qt5

Media Codecs

bash
yay -S gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer-vaapi x265 x264 lame

Qt theme on GTK Desktop

If you use a GTK desktop and want Qt apps to use your GTK Theme you have 2 choices

You need to install the Qt5 Style plugins for both

bash
yay -S qt5-styleplugins

Convert GTK2 theme

🧮 This may not look good with every GTK Theme

bash
echo "export QT_QPA_PLATFORMTHEME=gtk2" >> ~/.profile

Qt5

You can use Qt5Ct instead

bash
yay -S qt5ct
+echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> ~/.profile

If you want to read APFS Partitions

💽 If you have a Hackintosh installation you can use this to access your files from it

bash
yay -S linux-apfs-rw-dkms-git

Fonts

General Fonts

🗛 Those are some essential font packages

bash
yay -S adobe-source-sans-pro-fonts ttf-dejavu ttf-opensans noto-fonts freetype2 terminus-font ttf-bitstream-vera ttf-dejavu ttf-droid ttf-fira-mono ttf-fira-sans ttf-freefont ttf-inconsolata ttf-liberation libertinus-font

If you want you can install all available fonts which takes about 1 GB of space

bash
yay -S all-repository-fonts

Windows Fonts

🗛 If you want the Windows/Microsoft fonts (f.e. for Office Suites and required by certain games under Wine)

With an existing Windows Installation / ISO

When you have an existing Windows Installation / ISO you can use the following package script

bash
git clone https://aur.archlinux.org/ttf-ms-win11.git
+cd ttf-ms-win11

Read PKGBUILD and copy all Windows files into the directory and then run makepkg -rsi --skipchecksums

Without an existing Windows Installation / ISO

TIP

There's a package that automatically downloads and extracts the fonts

bash
yay -S ttf-ms-win11-auto

macOS Fonts

🗚 If you want the San Francisco Font by Apple

bash
yay -S otf-san-francisco otf-san-francisco-mono

Nano syntax highlighting

📃 This package provides syntax highlighting enhancements to the nano text editor

bash
yay -S nano-syntax-highlighting

Auto clean package cache

🗑️ This will clear the package cache to only keep 1 version after every action

bash
yay -S pacman-contrib
+sudo mkdir /etc/pacman.d/hooks
+sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
Click me to view the code
ini
[Trigger]
 Operation = Upgrade
 Operation = Install
 Operation = Remove
@@ -38,8 +38,8 @@
 [Action]
 Description = Cleaning pacman cache...
 When = PostTransaction
-Exec = /usr/bin/paccache -rk 2

Made by D3SOX with ❤️

- +Exec = /usr/bin/paccache -rk 2

Made by D3SOX with ❤️

+ \ No newline at end of file diff --git a/tweaks/index.html b/tweaks/index.html index 3bb142f8..b47e1f05 100644 --- a/tweaks/index.html +++ b/tweaks/index.html @@ -5,22 +5,22 @@ Some fixes and tweaks | Arch Linux Guide - - + + - + - - - + + + -
Skip to content

Some fixes and tweaks

Performance tweaks

Decrease swappiness

You may want to decrease the swappiness if you have enough RAM, so the system only uses swap when it absolutely has to

bash
sudo nano /etc/sysctl.d/99-swappiness.conf
ini
vm.swappiness = 10

Install OOM killer

An Out Of Memory (OOM) killer terminates applications when you would otherwise run out of memory.

WARNING

⚠️ This may lead to data loss if an application with unsaved data is killed.

bash
yay -S earlyoom

Compatibility tweaks

🐛 This will fix some bugs and compatibility issues

Citra Emulator

bash
sudo ln -sf /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.5
-yay -S libsndio-61-compat

Spotify local files

bash
yay -S ffmpeg-compat-57 ffmpeg

Fix on shutdown "Failed to start user manager service for user 174" (sddm)

bash
sudo chage --expiredate -1 sddm

Force Color Emoji

bash
yay -S ttf-joypixels

If the default font includes some emoji characters, they will be used over the characters provided by a dedicated emoji font, resulting in inconsistent display. Use the following config to enforce rendering emojis via JoyPixels.

WARNING

⚠️ Be aware that some websites may incorrectly display certain characters (like numbers) when you do not have the Windows Fonts installed. See https://bugs.archlinux.org/task/66080

bash
sudo nano /etc/fonts/conf.d/75-joypixels.conf
Click me to view the code
xml
<?xml version="1.0" encoding="UTF-8"?>
+    
Skip to content

Some fixes and tweaks

Performance tweaks

Decrease swappiness

You may want to decrease the swappiness if you have enough RAM, so the system only uses swap when it absolutely has to

bash
sudo nano /etc/sysctl.d/99-swappiness.conf
ini
vm.swappiness = 10

Install OOM killer

An Out Of Memory (OOM) killer terminates applications when you would otherwise run out of memory.

WARNING

⚠️ This may lead to data loss if an application with unsaved data is killed.

bash
yay -S earlyoom

Compatibility tweaks

🐛 This will fix some bugs and compatibility issues

Citra Emulator

bash
sudo ln -sf /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.5
+yay -S libsndio-61-compat

Spotify local files

bash
yay -S ffmpeg-compat-57 ffmpeg

Fix on shutdown "Failed to start user manager service for user 174" (sddm)

bash
sudo chage --expiredate -1 sddm

Force Color Emoji

bash
yay -S ttf-joypixels

If the default font includes some emoji characters, they will be used over the characters provided by a dedicated emoji font, resulting in inconsistent display. Use the following config to enforce rendering emojis via JoyPixels.

WARNING

⚠️ Be aware that some websites may incorrectly display certain characters (like numbers) when you do not have the Windows Fonts installed. See https://bugs.archlinux.org/task/66080

bash
sudo nano /etc/fonts/conf.d/75-joypixels.conf
Click me to view the code
xml
<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
 
@@ -176,11 +176,11 @@
         <test qual="any" name="family"><string>Symbola</string></test>
         <edit name="family" mode="assign" binding="same"><string>JoyPixels</string></edit>
     </match>
-</fontconfig>

Desktop icons for nemo

bash
gsettings set org.nemo.desktop show-desktop-icons true

Backup / Restore

System

I recommend Timeshift to back up your system. Install it with

bash
yay -S timeshift cronie
-systemctl enable --now cronie

For more information please refer to https://github.com/teejee2008/timeshift

Personal files

I recommend Déjà Dup to back up your personal files. Install it with

bash
yay -S deja-dup

You may want to exclude certain folders (like Nextcloud or other cloud services, Games, .cache, .config and .local/share if you don't want to back up your program config files)

Packages / Services List

See https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages

Backup

bash
yay -Qqe > pkglist.txt
-systemctl list-unit-files --state=enabled > enabled-services.txt

Restore

bash
yay -S --needed - < pkglist.txt
-# Re-enable services with systemctl enable

Made by D3SOX with ❤️

- +</fontconfig>

Desktop icons for nemo

bash
gsettings set org.nemo.desktop show-desktop-icons true

Backup / Restore

System

I recommend Timeshift to back up your system. Install it with

bash
yay -S timeshift cronie
+systemctl enable --now cronie

For more information please refer to https://github.com/teejee2008/timeshift

Personal files

I recommend Déjà Dup to back up your personal files. Install it with

bash
yay -S deja-dup

You may want to exclude certain folders (like Nextcloud or other cloud services, Games, .cache, .config and .local/share if you don't want to back up your program config files)

Packages / Services List

See https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#List_of_installed_packages

Backup

bash
yay -Qqe > pkglist.txt
+systemctl list-unit-files --state=enabled > enabled-services.txt

Restore

bash
yay -S --needed - < pkglist.txt
+# Re-enable services with systemctl enable

Made by D3SOX with ❤️

+ \ No newline at end of file