diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..d2e9d69 --- /dev/null +++ b/404.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + + +

404

How did we get here?
Take me home
+ + + diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..bf0f0cc --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +m.evoevo.org diff --git a/assets/404.html-60b35caa.js b/assets/404.html-60b35caa.js new file mode 100644 index 0000000..7a25b17 --- /dev/null +++ b/assets/404.html-60b35caa.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{t as data}; diff --git a/assets/404.html-ec94efa1.js b/assets/404.html-ec94efa1.js new file mode 100644 index 0000000..41e5625 --- /dev/null +++ b/assets/404.html-ec94efa1.js @@ -0,0 +1 @@ +import{_ as e,o as c,c as t}from"./app-c95ebecd.js";const _={};function o(r,n){return c(),t("div")}const a=e(_,[["render",o],["__file","404.html.vue"]]);export{a as default}; diff --git a/assets/app-c95ebecd.js b/assets/app-c95ebecd.js new file mode 100644 index 0000000..d1aa5f9 --- /dev/null +++ b/assets/app-c95ebecd.js @@ -0,0 +1,10 @@ +const zl="modulepreload",jl=function(e){return"/"+e},Yo={},or=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=jl(s),s in Yo)return;Yo[s]=!0;const i=s.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const f=o[u];if(f.href===s&&(!i||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${l}`))return;const c=document.createElement("link");if(c.rel=i?"stylesheet":zl,i||(c.as="script",c.crossOrigin=""),c.href=s,document.head.appendChild(c),i)return new Promise((u,f)=>{c.addEventListener("load",u),c.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})};function uo(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const ye={},Xt=[],nt=()=>{},Ul=()=>!1,Wl=/^on[^a-z]/,Mn=e=>Wl.test(e),fo=e=>e.startsWith("onUpdate:"),ke=Object.assign,ho=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ql=Object.prototype.hasOwnProperty,ce=(e,t)=>ql.call(e,t),J=Array.isArray,en=e=>_r(e)==="[object Map]",li=e=>_r(e)==="[object Set]",oe=e=>typeof e=="function",he=e=>typeof e=="string",po=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",ai=e=>we(e)&&oe(e.then)&&oe(e.catch),ci=Object.prototype.toString,_r=e=>ci.call(e),Kl=e=>_r(e).slice(8,-1),ui=e=>_r(e)==="[object Object]",mo=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,En=uo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),br=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Vl=/-(\w)/g,ct=br(e=>e.replace(Vl,(t,n)=>n?n.toUpperCase():"")),Yl=/\B([A-Z])/g,qt=br(e=>e.replace(Yl,"-$1").toLowerCase()),yr=br(e=>e.charAt(0).toUpperCase()+e.slice(1)),$r=br(e=>e?`on${yr(e)}`:""),kn=(e,t)=>!Object.is(e,t),Ir=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Gl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Jl=e=>{const t=he(e)?Number(e):NaN;return isNaN(t)?e:t};let Go;const Yr=()=>Go||(Go=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Nn(e){if(J(e)){const t={};for(let n=0;n{if(n){const r=n.split(Zl);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ue(e){let t="";if(he(e))t=e;else if(J(e))for(let n=0;nhe(e)?e:e==null?"":J(e)||we(e)&&(e.toString===ci||!oe(e.toString))?JSON.stringify(e,di,2):String(e),di=(e,t)=>t&&t.__v_isRef?di(e,t.value):en(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o])=>(n[`${r} =>`]=o,n),{})}:li(t)?{[`Set(${t.size})`]:[...t.values()]}:we(t)&&!J(t)&&!ui(t)?String(t):t;let Ke;class ra{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ke;try{return Ke=this,t()}finally{Ke=n}}}on(){Ke=this}off(){Ke=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},pi=e=>(e.w&At)>0,mi=e=>(e.n&At)>0,ia=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(u==="length"||u>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":J(e)?mo(n)&&l.push(i.get("length")):(l.push(i.get(zt)),en(e)&&l.push(i.get(Jr)));break;case"delete":J(e)||(l.push(i.get(zt)),en(e)&&l.push(i.get(Jr)));break;case"set":en(e)&&l.push(i.get(zt));break}if(l.length===1)l[0]&&Qr(l[0]);else{const a=[];for(const c of l)c&&a.push(...c);Qr(go(a))}}function Qr(e,t){const n=J(e)?e:[...e];for(const r of n)r.computed&&Qo(r);for(const r of n)r.computed||Qo(r)}function Qo(e,t){(e!==et||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function aa(e,t){var n;return(n=ir.get(e))==null?void 0:n.get(t)}const ca=uo("__proto__,__v_isRef,__isVue"),_i=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(po)),ua=_o(),fa=_o(!1,!0),da=_o(!0),Zo=ha();function ha(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=fe(this);for(let s=0,i=this.length;s{e[t]=function(...n){dn();const r=fe(this)[t].apply(this,n);return hn(),r}}),e}function pa(e){const t=fe(this);return We(t,"has",e),t.hasOwnProperty(e)}function _o(e=!1,t=!1){return function(r,o,s){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&s===(e?t?Pa:Ci:t?Ei:wi).get(r))return r;const i=J(r);if(!e){if(i&&ce(Zo,o))return Reflect.get(Zo,o,s);if(o==="hasOwnProperty")return pa}const l=Reflect.get(r,o,s);return(po(o)?_i.has(o):ca(o))||(e||We(r,"get",o),t)?l:Oe(l)?i&&mo(o)?l:l.value:we(l)?e?Fn(l):Hn(l):l}}const ma=bi(),ga=bi(!0);function bi(e=!1){return function(n,r,o,s){let i=n[r];if(on(i)&&Oe(i)&&!Oe(o))return!1;if(!e&&(!lr(o)&&!on(o)&&(i=fe(i),o=fe(o)),!J(n)&&Oe(i)&&!Oe(o)))return i.value=o,!0;const l=J(n)&&mo(r)?Number(r)e,wr=e=>Reflect.getPrototypeOf(e);function Un(e,t,n=!1,r=!1){e=e.__v_raw;const o=fe(e),s=fe(t);n||(t!==s&&We(o,"get",t),We(o,"get",s));const{has:i}=wr(o),l=r?bo:n?Eo:An;if(i.call(o,t))return l(e.get(t));if(i.call(o,s))return l(e.get(s));e!==o&&e.get(t)}function Wn(e,t=!1){const n=this.__v_raw,r=fe(n),o=fe(e);return t||(e!==o&&We(r,"has",e),We(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function qn(e,t=!1){return e=e.__v_raw,!t&&We(fe(e),"iterate",zt),Reflect.get(e,"size",e)}function Xo(e){e=fe(e);const t=fe(this);return wr(t).has.call(t,e)||(t.add(e),gt(t,"add",e,e)),this}function es(e,t){t=fe(t);const n=fe(this),{has:r,get:o}=wr(n);let s=r.call(n,e);s||(e=fe(e),s=r.call(n,e));const i=o.call(n,e);return n.set(e,t),s?kn(t,i)&>(n,"set",e,t):gt(n,"add",e,t),this}function ts(e){const t=fe(this),{has:n,get:r}=wr(t);let o=n.call(t,e);o||(e=fe(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&>(t,"delete",e,void 0),s}function ns(){const e=fe(this),t=e.size!==0,n=e.clear();return t&>(e,"clear",void 0,void 0),n}function Kn(e,t){return function(r,o){const s=this,i=s.__v_raw,l=fe(i),a=t?bo:e?Eo:An;return!e&&We(l,"iterate",zt),i.forEach((c,u)=>r.call(o,a(c),a(u),s))}}function Vn(e,t,n){return function(...r){const o=this.__v_raw,s=fe(o),i=en(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=o[e](...r),u=n?bo:t?Eo:An;return!t&&We(s,"iterate",a?Jr:zt),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:l?[u(f[0]),u(f[1])]:u(f),done:h}},[Symbol.iterator](){return this}}}}function wt(e){return function(...t){return e==="delete"?!1:this}}function Ea(){const e={get(s){return Un(this,s)},get size(){return qn(this)},has:Wn,add:Xo,set:es,delete:ts,clear:ns,forEach:Kn(!1,!1)},t={get(s){return Un(this,s,!1,!0)},get size(){return qn(this)},has:Wn,add:Xo,set:es,delete:ts,clear:ns,forEach:Kn(!1,!0)},n={get(s){return Un(this,s,!0)},get size(){return qn(this,!0)},has(s){return Wn.call(this,s,!0)},add:wt("add"),set:wt("set"),delete:wt("delete"),clear:wt("clear"),forEach:Kn(!0,!1)},r={get(s){return Un(this,s,!0,!0)},get size(){return qn(this,!0)},has(s){return Wn.call(this,s,!0)},add:wt("add"),set:wt("set"),delete:wt("delete"),clear:wt("clear"),forEach:Kn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Vn(s,!1,!1),n[s]=Vn(s,!0,!1),t[s]=Vn(s,!1,!0),r[s]=Vn(s,!0,!0)}),[e,n,t,r]}const[Ca,xa,Sa,La]=Ea();function yo(e,t){const n=t?e?La:Sa:e?xa:Ca;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ce(n,o)&&o in r?n:r,o,s)}const Ta={get:yo(!1,!1)},ka={get:yo(!1,!0)},Aa={get:yo(!0,!1)},wi=new WeakMap,Ei=new WeakMap,Ci=new WeakMap,Pa=new WeakMap;function Ra(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Oa(e){return e.__v_skip||!Object.isExtensible(e)?0:Ra(Kl(e))}function Hn(e){return on(e)?e:wo(e,!1,yi,Ta,wi)}function xi(e){return wo(e,!1,wa,ka,Ei)}function Fn(e){return wo(e,!0,ya,Aa,Ci)}function wo(e,t,n,r,o){if(!we(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Oa(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function tn(e){return on(e)?tn(e.__v_raw):!!(e&&e.__v_isReactive)}function on(e){return!!(e&&e.__v_isReadonly)}function lr(e){return!!(e&&e.__v_isShallow)}function Si(e){return tn(e)||on(e)}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Li(e){return sr(e,"__v_skip",!0),e}const An=e=>we(e)?Hn(e):e,Eo=e=>we(e)?Fn(e):e;function Co(e){Tt&&et&&(e=fe(e),vi(e.dep||(e.dep=go())))}function xo(e,t){e=fe(e);const n=e.dep;n&&Qr(n)}function Oe(e){return!!(e&&e.__v_isRef===!0)}function Ee(e){return Ti(e,!1)}function So(e){return Ti(e,!0)}function Ti(e,t){return Oe(e)?e:new $a(e,t)}class $a{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:fe(t),this._value=n?t:An(t)}get value(){return Co(this),this._value}set value(t){const n=this.__v_isShallow||lr(t)||on(t);t=n?t:fe(t),kn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:An(t),xo(this))}}function Z(e){return Oe(e)?e.value:e}const Ia={get:(e,t,n)=>Z(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Oe(o)&&!Oe(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function ki(e){return tn(e)?e:new Proxy(e,Ia)}class Ma{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Co(this),()=>xo(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function Na(e){return new Ma(e)}function Lo(e){const t=J(e)?new Array(e.length):{};for(const n in e)t[n]=Fa(e,n);return t}class Ha{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return aa(fe(this._object),this._key)}}function Fa(e,t,n){const r=e[t];return Oe(r)?r:new Ha(e,t,n)}class Da{constructor(t,n,r,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new vo(t,()=>{this._dirty||(this._dirty=!0,xo(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=fe(this);return Co(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ba(e,t,n=!1){let r,o;const s=oe(e);return s?(r=e,o=nt):(r=e.get,o=e.set),new Da(r,o,s||!o,n)}function kt(e,t,n,r){let o;try{o=r?e(...r):e()}catch(s){Dn(s,t,n)}return o}function Je(e,t,n,r){if(oe(e)){const s=kt(e,t,n,r);return s&&ai(s)&&s.catch(i=>{Dn(i,t,n)}),s}const o=[];for(let s=0;s>>1;Rn(Fe[r])at&&Fe.splice(t,1)}function Wa(e){J(e)?nn.push(...e):(!ht||!ht.includes(e,e.allowRecurse?Ht+1:Ht))&&nn.push(e),Pi()}function rs(e,t=Pn?at+1:0){for(;tRn(n)-Rn(r)),Ht=0;Hte.id==null?1/0:e.id,qa=(e,t)=>{const n=Rn(e)-Rn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ri(e){Zr=!1,Pn=!0,Fe.sort(qa);const t=nt;try{for(at=0;athe(g)?g.trim():g)),f&&(o=n.map(Gl))}let l,a=r[l=$r(t)]||r[l=$r(ct(t))];!a&&s&&(a=r[l=$r(qt(t))]),a&&Je(a,e,6,o);const c=r[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Je(c,e,6,o)}}function Oi(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!oe(e)){const a=c=>{const u=Oi(c,t,!0);u&&(l=!0,ke(i,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(we(e)&&r.set(e,null),null):(J(s)?s.forEach(a=>i[a]=null):ke(i,s),we(e)&&r.set(e,i),i)}function xr(e,t){return!e||!Mn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,qt(t))||ce(e,t))}let Me=null,$i=null;function cr(e){const t=Me;return Me=e,$i=e&&e.type.__scopeId||null,t}function Ie(e,t=Me,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&gs(-1);const s=cr(t);let i;try{i=e(...o)}finally{cr(s),r._d&&gs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Mr(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:l,attrs:a,emit:c,render:u,renderCache:f,data:h,setupState:g,ctx:y,inheritAttrs:E}=e;let L,v;const b=cr(e);try{if(n.shapeFlag&4){const A=o||r;L=Xe(u.call(A,A,f,s,g,h,y)),v=a}else{const A=t;L=Xe(A.length>1?A(s,{attrs:a,slots:l,emit:c}):A(s,null)),v=t.props?a:Va(a)}}catch(A){Sn.length=0,Dn(A,e,1),L=ee(Ve)}let P=L;if(v&&E!==!1){const A=Object.keys(v),{shapeFlag:q}=P;A.length&&q&7&&(i&&A.some(fo)&&(v=Ya(v,i)),P=Rt(P,v))}return n.dirs&&(P=Rt(P),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition&&(P.transition=n.transition),L=P,cr(b),L}const Va=e=>{let t;for(const n in e)(n==="class"||n==="style"||Mn(n))&&((t||(t={}))[n]=e[n]);return t},Ya=(e,t)=>{const n={};for(const r in e)(!fo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ga(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?os(r,i,c):!!i;if(a&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense;function Ii(e,t){t&&t.pendingBranch?J(e)?t.effects.push(...e):t.effects.push(e):Wa(e)}function Mi(e,t){return ko(e,null,t)}const Yn={};function rt(e,t,n){return ko(e,t,n)}function ko(e,t,{immediate:n,deep:r,flush:o,onTrack:s,onTrigger:i}=ye){var l;const a=hi()===((l=Ae)==null?void 0:l.scope)?Ae:null;let c,u=!1,f=!1;if(Oe(e)?(c=()=>e.value,u=lr(e)):tn(e)?(c=()=>e,r=!0):J(e)?(f=!0,u=e.some(A=>tn(A)||lr(A)),c=()=>e.map(A=>{if(Oe(A))return A.value;if(tn(A))return Bt(A);if(oe(A))return kt(A,a,2)})):oe(e)?t?c=()=>kt(e,a,2):c=()=>{if(!(a&&a.isUnmounted))return h&&h(),Je(e,a,3,[g])}:c=nt,t&&r){const A=c;c=()=>Bt(A())}let h,g=A=>{h=b.onStop=()=>{kt(A,a,4)}},y;if(an)if(g=nt,t?n&&Je(t,a,3,[c(),f?[]:void 0,g]):c(),o==="sync"){const A=Kc();y=A.__watcherHandles||(A.__watcherHandles=[])}else return nt;let E=f?new Array(e.length).fill(Yn):Yn;const L=()=>{if(b.active)if(t){const A=b.run();(r||u||(f?A.some((q,X)=>kn(q,E[X])):kn(A,E)))&&(h&&h(),Je(t,a,3,[A,E===Yn?void 0:f&&E[0]===Yn?[]:E,g]),E=A)}else b.run()};L.allowRecurse=!!t;let v;o==="sync"?v=L:o==="post"?v=()=>je(L,a&&a.suspense):(L.pre=!0,a&&(L.id=a.uid),v=()=>Cr(L));const b=new vo(c,v);t?n?L():E=b.run():o==="post"?je(b.run.bind(b),a&&a.suspense):b.run();const P=()=>{b.stop(),a&&a.scope&&ho(a.scope.effects,b)};return y&&y.push(P),P}function Za(e,t,n){const r=this.proxy,o=he(e)?e.includes(".")?Ni(r,e):()=>r[e]:e.bind(r,r);let s;oe(t)?s=t:(s=t.handler,n=t);const i=Ae;ln(this);const l=ko(o,s.bind(r),n);return i?ln(i):Ut(),l}function Ni(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Bt(n,t)});else if(ui(e))for(const n in e)Bt(e[n],t);return e}function ur(e,t){const n=Me;if(n===null)return e;const r=Ar(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Lr(()=>{e.isUnmounting=!0}),e}const Ye=[Function,Array],Hi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ye,onEnter:Ye,onAfterEnter:Ye,onEnterCancelled:Ye,onBeforeLeave:Ye,onLeave:Ye,onAfterLeave:Ye,onLeaveCancelled:Ye,onBeforeAppear:Ye,onAppear:Ye,onAfterAppear:Ye,onAppearCancelled:Ye},ec={name:"BaseTransition",props:Hi,setup(e,{slots:t}){const n=Xi(),r=Xa();let o;return()=>{const s=t.default&&Di(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1){for(const E of s)if(E.type!==Ve){i=E;break}}const l=fe(e),{mode:a}=l;if(r.isLeaving)return Nr(i);const c=ss(i);if(!c)return Nr(i);const u=Xr(c,l,r,n);eo(c,u);const f=n.subTree,h=f&&ss(f);let g=!1;const{getTransitionKey:y}=c.type;if(y){const E=y();o===void 0?o=E:E!==o&&(o=E,g=!0)}if(h&&h.type!==Ve&&(!Ft(c,h)||g)){const E=Xr(h,l,r,n);if(eo(h,E),a==="out-in")return r.isLeaving=!0,E.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},Nr(i);a==="in-out"&&c.type!==Ve&&(E.delayLeave=(L,v,b)=>{const P=Fi(r,h);P[String(h.key)]=h,L._leaveCb=()=>{v(),L._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=b})}return i}}},tc=ec;function Fi(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Xr(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:f,onLeave:h,onAfterLeave:g,onLeaveCancelled:y,onBeforeAppear:E,onAppear:L,onAfterAppear:v,onAppearCancelled:b}=t,P=String(e.key),A=Fi(n,e),q=(m,z)=>{m&&Je(m,r,9,z)},X=(m,z)=>{const H=z[1];q(m,z),J(m)?m.every(V=>V.length<=1)&&H():m.length<=1&&H()},N={mode:s,persisted:i,beforeEnter(m){let z=l;if(!n.isMounted)if(o)z=E||l;else return;m._leaveCb&&m._leaveCb(!0);const H=A[P];H&&Ft(e,H)&&H.el._leaveCb&&H.el._leaveCb(),q(z,[m])},enter(m){let z=a,H=c,V=u;if(!n.isMounted)if(o)z=L||a,H=v||c,V=b||u;else return;let S=!1;const O=m._enterCb=$=>{S||(S=!0,$?q(V,[m]):q(H,[m]),N.delayedLeave&&N.delayedLeave(),m._enterCb=void 0)};z?X(z,[m,O]):O()},leave(m,z){const H=String(e.key);if(m._enterCb&&m._enterCb(!0),n.isUnmounting)return z();q(f,[m]);let V=!1;const S=m._leaveCb=O=>{V||(V=!0,z(),O?q(y,[m]):q(g,[m]),m._leaveCb=void 0,A[H]===e&&delete A[H])};A[H]=e,h?X(h,[m,S]):S()},clone(m){return Xr(m,t,n,r)}};return N}function Nr(e){if(Bn(e))return e=Rt(e),e.children=null,e}function ss(e){return Bn(e)?e.children?e.children[0]:void 0:e}function eo(e,t){e.shapeFlag&6&&e.component?eo(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 Di(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;ske({name:e.name},t,{setup:e}))():e}const rn=e=>!!e.type.__asyncLoader;function is(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:l}=e;let a=null,c,u=0;const f=()=>(u++,a=null,h()),h=()=>{let g;return a||(g=a=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((E,L)=>{l(y,()=>E(f()),()=>L(y),u+1)});throw y}).then(y=>g!==a&&a?a:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),c=y,y)))};return de({name:"AsyncComponentWrapper",__asyncLoader:h,get __asyncResolved(){return c},setup(){const g=Ae;if(c)return()=>Hr(c,g);const y=b=>{a=null,Dn(b,g,13,!r)};if(i&&g.suspense||an)return h().then(b=>()=>Hr(b,g)).catch(b=>(y(b),()=>r?ee(r,{error:b}):null));const E=Ee(!1),L=Ee(),v=Ee(!!o);return o&&setTimeout(()=>{v.value=!1},o),s!=null&&setTimeout(()=>{if(!E.value&&!L.value){const b=new Error(`Async component timed out after ${s}ms.`);y(b),L.value=b}},s),h().then(()=>{E.value=!0,g.parent&&Bn(g.parent.vnode)&&Cr(g.parent.update)}).catch(b=>{y(b),L.value=b}),()=>{if(E.value&&c)return Hr(c,g);if(L.value&&r)return ee(r,{error:L.value});if(n&&!v.value)return ee(n)}}})}function Hr(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=ee(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Bn=e=>e.type.__isKeepAlive;function nc(e,t){Bi(e,"a",t)}function rc(e,t){Bi(e,"da",t)}function Bi(e,t,n=Ae){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Sr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)Bn(o.parent.vnode)&&oc(r,t,n,o),o=o.parent}}function oc(e,t,n,r){const o=Sr(t,e,r,!0);Tr(()=>{ho(r[t],o)},n)}function Sr(e,t,n=Ae,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dn(),ln(n);const l=Je(t,n,e,i);return Ut(),hn(),l});return r?o.unshift(s):o.push(s),s}}const _t=e=>(t,n=Ae)=>(!an||e==="sp")&&Sr(e,(...r)=>t(...r),n),sc=_t("bm"),Qe=_t("m"),ic=_t("bu"),lc=_t("u"),Lr=_t("bum"),Tr=_t("um"),ac=_t("sp"),cc=_t("rtg"),uc=_t("rtc");function fc(e,t=Ae){Sr("ec",e,t)}const zi="components";function vt(e,t){return hc(zi,e,!0,t)||e}const dc=Symbol.for("v-ndc");function hc(e,t,n=!0,r=!1){const o=Me||Ae;if(o){const s=o.type;if(e===zi){const l=Uc(s,!1);if(l&&(l===t||l===ct(t)||l===yr(ct(t))))return s}const i=ls(o[e]||s[e],t)||ls(o.appContext[e],t);return!i&&r?s:i}}function ls(e,t){return e&&(e[t]||e[ct(t)]||e[yr(ct(t))])}function Pt(e,t,n,r){let o;const s=n&&n[r];if(J(e)||he(e)){o=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,s&&s[l]));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,a=i.length;lpr(t)?!(t.type===Ve||t.type===be&&!ji(t.children)):!0)?e:null}const to=e=>e?el(e)?Ar(e)||e.proxy:to(e.parent):null,Cn=ke(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=>to(e.parent),$root:e=>to(e.root),$emit:e=>e.emit,$options:e=>Ao(e),$forceUpdate:e=>e.f||(e.f=()=>Cr(e.update)),$nextTick:e=>e.n||(e.n=Er.bind(e.proxy)),$watch:e=>Za.bind(e)}),Fr=(e,t)=>e!==ye&&!e.__isScriptSetup&&ce(e,t),pc={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;let c;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Fr(r,t))return i[t]=1,r[t];if(o!==ye&&ce(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&ce(c,t))return i[t]=3,s[t];if(n!==ye&&ce(n,t))return i[t]=4,n[t];no&&(i[t]=0)}}const u=Cn[t];let f,h;if(u)return t==="$attrs"&&We(e,"get",t),u(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==ye&&ce(n,t))return i[t]=4,n[t];if(h=a.config.globalProperties,ce(h,t))return h[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return Fr(o,t)?(o[t]=n,!0):r!==ye&&ce(r,t)?(r[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let l;return!!n[i]||e!==ye&&ce(e,i)||Fr(t,i)||(l=s[0])&&ce(l,i)||ce(r,i)||ce(Cn,i)||ce(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function as(e){return J(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let no=!0;function mc(e){const t=Ao(e),n=e.proxy,r=e.ctx;no=!1,t.beforeCreate&&cs(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:g,updated:y,activated:E,deactivated:L,beforeDestroy:v,beforeUnmount:b,destroyed:P,unmounted:A,render:q,renderTracked:X,renderTriggered:N,errorCaptured:m,serverPrefetch:z,expose:H,inheritAttrs:V,components:S,directives:O,filters:$}=t;if(c&&gc(c,r,null),i)for(const ne in i){const re=i[ne];oe(re)&&(r[ne]=re.bind(n))}if(o){const ne=o.call(n,n);we(ne)&&(e.data=Hn(ne))}if(no=!0,s)for(const ne in s){const re=s[ne],Ne=oe(re)?re.bind(n,n):oe(re.get)?re.get.bind(n,n):nt,$e=!oe(re)&&oe(re.set)?re.set.bind(n):nt,ze=j({get:Ne,set:$e});Object.defineProperty(r,ne,{enumerable:!0,configurable:!0,get:()=>ze.value,set:He=>ze.value=He})}if(l)for(const ne in l)Ui(l[ne],r,n,ne);if(a){const ne=oe(a)?a.call(n):a;Reflect.ownKeys(ne).forEach(re=>{jt(re,ne[re])})}u&&cs(u,e,"c");function U(ne,re){J(re)?re.forEach(Ne=>ne(Ne.bind(n))):re&&ne(re.bind(n))}if(U(sc,f),U(Qe,h),U(ic,g),U(lc,y),U(nc,E),U(rc,L),U(fc,m),U(uc,X),U(cc,N),U(Lr,b),U(Tr,A),U(ac,z),J(H))if(H.length){const ne=e.exposed||(e.exposed={});H.forEach(re=>{Object.defineProperty(ne,re,{get:()=>n[re],set:Ne=>n[re]=Ne})})}else e.exposed||(e.exposed={});q&&e.render===nt&&(e.render=q),V!=null&&(e.inheritAttrs=V),S&&(e.components=S),O&&(e.directives=O)}function gc(e,t,n=nt){J(e)&&(e=ro(e));for(const r in e){const o=e[r];let s;we(o)?"default"in o?s=Se(o.from||r,o.default,!0):s=Se(o.from||r):s=Se(o),Oe(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function cs(e,t,n){Je(J(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ui(e,t,n,r){const o=r.includes(".")?Ni(n,r):()=>n[r];if(he(e)){const s=t[e];oe(s)&&rt(o,s)}else if(oe(e))rt(o,e.bind(n));else if(we(e))if(J(e))e.forEach(s=>Ui(s,t,n,r));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&rt(o,s,e)}}function Ao(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!o.length&&!n&&!r?a=t:(a={},o.length&&o.forEach(c=>fr(a,c,i,!0)),fr(a,t,i)),we(t)&&s.set(t,a),a}function fr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&fr(e,s,n,!0),o&&o.forEach(i=>fr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=vc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const vc={data:us,props:fs,emits:fs,methods:wn,computed:wn,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:wn,directives:wn,watch:bc,provide:us,inject:_c};function us(e,t){return t?e?function(){return ke(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function _c(e,t){return wn(ro(e),ro(t))}function ro(e){if(J(e)){const t={};for(let n=0;n1)return n&&oe(t)?t.call(r&&r.proxy):t}}function Ec(e,t,n,r=!1){const o={},s={};sr(s,kr,1),e.propsDefaults=Object.create(null),qi(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:xi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Cc(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=fe(o),[a]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[h,g]=Ki(f,t,!0);ke(i,h),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!a)return we(e)&&r.set(e,Xt),Xt;if(J(s))for(let u=0;u-1,g[1]=E<0||y-1||ce(g,"default"))&&l.push(f)}}}const c=[i,l];return we(e)&&r.set(e,c),c}function ds(e){return e[0]!=="$"}function hs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ps(e,t){return hs(e)===hs(t)}function ms(e,t){return J(t)?t.findIndex(n=>ps(n,e)):oe(t)&&ps(t,e)?0:-1}const Vi=e=>e[0]==="_"||e==="$stable",Po=e=>J(e)?e.map(Xe):[Xe(e)],xc=(e,t,n)=>{if(t._n)return t;const r=Ie((...o)=>Po(t(...o)),n);return r._c=!1,r},Yi=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Vi(o))continue;const s=e[o];if(oe(s))t[o]=xc(o,s,r);else if(s!=null){const i=Po(s);t[o]=()=>i}}},Gi=(e,t)=>{const n=Po(t);e.slots.default=()=>n},Sc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=fe(t),sr(t,"_",n)):Yi(t,e.slots={})}else e.slots={},t&&Gi(e,t);sr(e.slots,kr,1)},Lc=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=ye;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:(ke(o,t),!n&&l===1&&delete o._):(s=!t.$stable,Yi(t,o)),i=t}else t&&(Gi(e,t),i={default:1});if(s)for(const l in o)!Vi(l)&&!(l in i)&&delete o[l]};function hr(e,t,n,r,o=!1){if(J(e)){e.forEach((h,g)=>hr(h,t&&(J(t)?t[g]:t),n,r,o));return}if(rn(r)&&!o)return;const s=r.shapeFlag&4?Ar(r.component)||r.component.proxy:r.el,i=o?null:s,{i:l,r:a}=e,c=t&&t.r,u=l.refs===ye?l.refs={}:l.refs,f=l.setupState;if(c!=null&&c!==a&&(he(c)?(u[c]=null,ce(f,c)&&(f[c]=null)):Oe(c)&&(c.value=null)),oe(a))kt(a,l,12,[i,u]);else{const h=he(a),g=Oe(a);if(h||g){const y=()=>{if(e.f){const E=h?ce(f,a)?f[a]:u[a]:a.value;o?J(E)&&ho(E,s):J(E)?E.includes(s)||E.push(s):h?(u[a]=[s],ce(f,a)&&(f[a]=u[a])):(a.value=[s],e.k&&(u[e.k]=a.value))}else h?(u[a]=i,ce(f,a)&&(f[a]=i)):g&&(a.value=i,e.k&&(u[e.k]=i))};i?(y.id=-1,je(y,n)):y()}}}let Et=!1;const Gn=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Jn=e=>e.nodeType===8;function Tc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,u=(v,b)=>{if(!b.hasChildNodes()){n(null,v,b),ar(),b._vnode=v;return}Et=!1,f(b.firstChild,v,null,null,null),ar(),b._vnode=v,Et&&console.error("Hydration completed but contains mismatches.")},f=(v,b,P,A,q,X=!1)=>{const N=Jn(v)&&v.data==="[",m=()=>E(v,b,P,A,q,N),{type:z,ref:H,shapeFlag:V,patchFlag:S}=b;let O=v.nodeType;b.el=v,S===-2&&(X=!1,b.dynamicChildren=null);let $=null;switch(z){case sn:O!==3?b.children===""?(a(b.el=o(""),i(v),v),$=v):$=m():(v.data!==b.children&&(Et=!0,v.data=b.children),$=s(v));break;case Ve:O!==8||N?$=m():$=s(v);break;case xn:if(N&&(v=s(v),O=v.nodeType),O===1||O===3){$=v;const se=!b.children.length;for(let U=0;U{X=X||!!b.dynamicChildren;const{type:N,props:m,patchFlag:z,shapeFlag:H,dirs:V}=b,S=N==="input"&&V||N==="option";if(S||z!==-1){if(V&<(b,null,P,"created"),m)if(S||!X||z&48)for(const $ in m)(S&&$.endsWith("value")||Mn($)&&!En($))&&r(v,$,null,m[$],!1,void 0,P);else m.onClick&&r(v,"onClick",null,m.onClick,!1,void 0,P);let O;if((O=m&&m.onVnodeBeforeMount)&&Ge(O,P,b),V&<(b,null,P,"beforeMount"),((O=m&&m.onVnodeMounted)||V)&&Ii(()=>{O&&Ge(O,P,b),V&<(b,null,P,"mounted")},A),H&16&&!(m&&(m.innerHTML||m.textContent))){let $=g(v.firstChild,b,v,P,A,q,X);for(;$;){Et=!0;const se=$;$=$.nextSibling,l(se)}}else H&8&&v.textContent!==b.children&&(Et=!0,v.textContent=b.children)}return v.nextSibling},g=(v,b,P,A,q,X,N)=>{N=N||!!b.dynamicChildren;const m=b.children,z=m.length;for(let H=0;H{const{slotScopeIds:N}=b;N&&(q=q?q.concat(N):N);const m=i(v),z=g(s(v),b,m,P,A,q,X);return z&&Jn(z)&&z.data==="]"?s(b.anchor=z):(Et=!0,a(b.anchor=c("]"),m,z),z)},E=(v,b,P,A,q,X)=>{if(Et=!0,b.el=null,X){const z=L(v);for(;;){const H=s(v);if(H&&H!==z)l(H);else break}}const N=s(v),m=i(v);return l(v),n(null,b,m,N,P,A,Gn(m),q),N},L=v=>{let b=0;for(;v;)if(v=s(v),v&&Jn(v)&&(v.data==="["&&b++,v.data==="]")){if(b===0)return s(v);b--}return v};return[u,f]}const je=Ii;function kc(e){return Ac(e,Tc)}function Ac(e,t){const n=Yr();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:g=nt,insertStaticContent:y}=e,E=(d,p,_,w=null,x=null,T=null,F=!1,R=null,M=!!p.dynamicChildren)=>{if(d===p)return;d&&!Ft(d,p)&&(w=C(d),He(d,x,T,!0),d=null),p.patchFlag===-2&&(M=!1,p.dynamicChildren=null);const{type:k,ref:Y,shapeFlag:W}=p;switch(k){case sn:L(d,p,_,w);break;case Ve:v(d,p,_,w);break;case xn:d==null&&b(p,_,w,F);break;case be:S(d,p,_,w,x,T,F,R,M);break;default:W&1?q(d,p,_,w,x,T,F,R,M):W&6?O(d,p,_,w,x,T,F,R,M):(W&64||W&128)&&k.process(d,p,_,w,x,T,F,R,M,I)}Y!=null&&x&&hr(Y,d&&d.ref,T,p||d,!p)},L=(d,p,_,w)=>{if(d==null)r(p.el=l(p.children),_,w);else{const x=p.el=d.el;p.children!==d.children&&c(x,p.children)}},v=(d,p,_,w)=>{d==null?r(p.el=a(p.children||""),_,w):p.el=d.el},b=(d,p,_,w)=>{[d.el,d.anchor]=y(d.children,p,_,w,d.el,d.anchor)},P=({el:d,anchor:p},_,w)=>{let x;for(;d&&d!==p;)x=h(d),r(d,_,w),d=x;r(p,_,w)},A=({el:d,anchor:p})=>{let _;for(;d&&d!==p;)_=h(d),o(d),d=_;o(p)},q=(d,p,_,w,x,T,F,R,M)=>{F=F||p.type==="svg",d==null?X(p,_,w,x,T,F,R,M):z(d,p,x,T,F,R,M)},X=(d,p,_,w,x,T,F,R)=>{let M,k;const{type:Y,props:W,shapeFlag:G,transition:te,dirs:ie}=d;if(M=d.el=i(d.type,T,W&&W.is,W),G&8?u(M,d.children):G&16&&m(d.children,M,null,w,x,T&&Y!=="foreignObject",F,R),ie&<(d,null,w,"created"),N(M,d,d.scopeId,F,w),W){for(const me in W)me!=="value"&&!En(me)&&s(M,me,null,W[me],T,d.children,w,x,Re);"value"in W&&s(M,"value",null,W.value),(k=W.onVnodeBeforeMount)&&Ge(k,w,d)}ie&<(d,null,w,"beforeMount");const ve=(!x||x&&!x.pendingBranch)&&te&&!te.persisted;ve&&te.beforeEnter(M),r(M,p,_),((k=W&&W.onVnodeMounted)||ve||ie)&&je(()=>{k&&Ge(k,w,d),ve&&te.enter(M),ie&<(d,null,w,"mounted")},x)},N=(d,p,_,w,x)=>{if(_&&g(d,_),w)for(let T=0;T{for(let k=M;k{const R=p.el=d.el;let{patchFlag:M,dynamicChildren:k,dirs:Y}=p;M|=d.patchFlag&16;const W=d.props||ye,G=p.props||ye;let te;_&&$t(_,!1),(te=G.onVnodeBeforeUpdate)&&Ge(te,_,p,d),Y&<(p,d,_,"beforeUpdate"),_&&$t(_,!0);const ie=x&&p.type!=="foreignObject";if(k?H(d.dynamicChildren,k,R,_,w,ie,T):F||re(d,p,R,null,_,w,ie,T,!1),M>0){if(M&16)V(R,p,W,G,_,w,x);else if(M&2&&W.class!==G.class&&s(R,"class",null,G.class,x),M&4&&s(R,"style",W.style,G.style,x),M&8){const ve=p.dynamicProps;for(let me=0;me{te&&Ge(te,_,p,d),Y&<(p,d,_,"updated")},w)},H=(d,p,_,w,x,T,F)=>{for(let R=0;R{if(_!==w){if(_!==ye)for(const R in _)!En(R)&&!(R in w)&&s(d,R,_[R],null,F,p.children,x,T,Re);for(const R in w){if(En(R))continue;const M=w[R],k=_[R];M!==k&&R!=="value"&&s(d,R,k,M,F,p.children,x,T,Re)}"value"in w&&s(d,"value",_.value,w.value)}},S=(d,p,_,w,x,T,F,R,M)=>{const k=p.el=d?d.el:l(""),Y=p.anchor=d?d.anchor:l("");let{patchFlag:W,dynamicChildren:G,slotScopeIds:te}=p;te&&(R=R?R.concat(te):te),d==null?(r(k,_,w),r(Y,_,w),m(p.children,_,Y,x,T,F,R,M)):W>0&&W&64&&G&&d.dynamicChildren?(H(d.dynamicChildren,G,_,x,T,F,R),(p.key!=null||x&&p===x.subTree)&&Ji(d,p,!0)):re(d,p,_,Y,x,T,F,R,M)},O=(d,p,_,w,x,T,F,R,M)=>{p.slotScopeIds=R,d==null?p.shapeFlag&512?x.ctx.activate(p,_,w,F,M):$(p,_,w,x,T,F,M):se(d,p,M)},$=(d,p,_,w,x,T,F)=>{const R=d.component=Fc(d,w,x);if(Bn(d)&&(R.ctx.renderer=I),Dc(R),R.asyncDep){if(x&&x.registerDep(R,U),!d.el){const M=R.subTree=ee(Ve);v(null,M,p,_)}return}U(R,d,p,_,x,T,F)},se=(d,p,_)=>{const w=p.component=d.component;if(Ga(d,p,_))if(w.asyncDep&&!w.asyncResolved){ne(w,p,_);return}else w.next=p,Ua(w.update),w.update();else p.el=d.el,w.vnode=p},U=(d,p,_,w,x,T,F)=>{const R=()=>{if(d.isMounted){let{next:Y,bu:W,u:G,parent:te,vnode:ie}=d,ve=Y,me;$t(d,!1),Y?(Y.el=ie.el,ne(d,Y,F)):Y=ie,W&&Ir(W),(me=Y.props&&Y.props.onVnodeBeforeUpdate)&&Ge(me,te,Y,ie),$t(d,!0);const Le=Mr(d),Ze=d.subTree;d.subTree=Le,E(Ze,Le,f(Ze.el),C(Ze),d,x,T),Y.el=Le.el,ve===null&&Ja(d,Le.el),G&&je(G,x),(me=Y.props&&Y.props.onVnodeUpdated)&&je(()=>Ge(me,te,Y,ie),x)}else{let Y;const{el:W,props:G}=p,{bm:te,m:ie,parent:ve}=d,me=rn(p);if($t(d,!1),te&&Ir(te),!me&&(Y=G&&G.onVnodeBeforeMount)&&Ge(Y,ve,p),$t(d,!0),W&&le){const Le=()=>{d.subTree=Mr(d),le(W,d.subTree,d,x,null)};me?p.type.__asyncLoader().then(()=>!d.isUnmounted&&Le()):Le()}else{const Le=d.subTree=Mr(d);E(null,Le,_,w,d,x,T),p.el=Le.el}if(ie&&je(ie,x),!me&&(Y=G&&G.onVnodeMounted)){const Le=p;je(()=>Ge(Y,ve,Le),x)}(p.shapeFlag&256||ve&&rn(ve.vnode)&&ve.vnode.shapeFlag&256)&&d.a&&je(d.a,x),d.isMounted=!0,p=_=w=null}},M=d.effect=new vo(R,()=>Cr(k),d.scope),k=d.update=()=>M.run();k.id=d.uid,$t(d,!0),k()},ne=(d,p,_)=>{p.component=d;const w=d.vnode.props;d.vnode=p,d.next=null,Cc(d,p.props,w,_),Lc(d,p.children,_),dn(),rs(),hn()},re=(d,p,_,w,x,T,F,R,M=!1)=>{const k=d&&d.children,Y=d?d.shapeFlag:0,W=p.children,{patchFlag:G,shapeFlag:te}=p;if(G>0){if(G&128){$e(k,W,_,w,x,T,F,R,M);return}else if(G&256){Ne(k,W,_,w,x,T,F,R,M);return}}te&8?(Y&16&&Re(k,x,T),W!==k&&u(_,W)):Y&16?te&16?$e(k,W,_,w,x,T,F,R,M):Re(k,x,T,!0):(Y&8&&u(_,""),te&16&&m(W,_,w,x,T,F,R,M))},Ne=(d,p,_,w,x,T,F,R,M)=>{d=d||Xt,p=p||Xt;const k=d.length,Y=p.length,W=Math.min(k,Y);let G;for(G=0;GY?Re(d,x,T,!0,!1,W):m(p,_,w,x,T,F,R,M,W)},$e=(d,p,_,w,x,T,F,R,M)=>{let k=0;const Y=p.length;let W=d.length-1,G=Y-1;for(;k<=W&&k<=G;){const te=d[k],ie=p[k]=M?St(p[k]):Xe(p[k]);if(Ft(te,ie))E(te,ie,_,null,x,T,F,R,M);else break;k++}for(;k<=W&&k<=G;){const te=d[W],ie=p[G]=M?St(p[G]):Xe(p[G]);if(Ft(te,ie))E(te,ie,_,null,x,T,F,R,M);else break;W--,G--}if(k>W){if(k<=G){const te=G+1,ie=teG)for(;k<=W;)He(d[k],x,T,!0),k++;else{const te=k,ie=k,ve=new Map;for(k=ie;k<=G;k++){const qe=p[k]=M?St(p[k]):Xe(p[k]);qe.key!=null&&ve.set(qe.key,k)}let me,Le=0;const Ze=G-ie+1;let Yt=!1,qo=0;const mn=new Array(Ze);for(k=0;k=Ze){He(qe,x,T,!0);continue}let it;if(qe.key!=null)it=ve.get(qe.key);else for(me=ie;me<=G;me++)if(mn[me-ie]===0&&Ft(qe,p[me])){it=me;break}it===void 0?He(qe,x,T,!0):(mn[it-ie]=k+1,it>=qo?qo=it:Yt=!0,E(qe,p[it],_,null,x,T,F,R,M),Le++)}const Ko=Yt?Pc(mn):Xt;for(me=Ko.length-1,k=Ze-1;k>=0;k--){const qe=ie+k,it=p[qe],Vo=qe+1{const{el:T,type:F,transition:R,children:M,shapeFlag:k}=d;if(k&6){ze(d.component.subTree,p,_,w);return}if(k&128){d.suspense.move(p,_,w);return}if(k&64){F.move(d,p,_,I);return}if(F===be){r(T,p,_);for(let W=0;WR.enter(T),x);else{const{leave:W,delayLeave:G,afterLeave:te}=R,ie=()=>r(T,p,_),ve=()=>{W(T,()=>{ie(),te&&te()})};G?G(T,ie,ve):ve()}else r(T,p,_)},He=(d,p,_,w=!1,x=!1)=>{const{type:T,props:F,ref:R,children:M,dynamicChildren:k,shapeFlag:Y,patchFlag:W,dirs:G}=d;if(R!=null&&hr(R,null,_,d,!0),Y&256){p.ctx.deactivate(d);return}const te=Y&1&&G,ie=!rn(d);let ve;if(ie&&(ve=F&&F.onVnodeBeforeUnmount)&&Ge(ve,p,d),Y&6)st(d.component,_,w);else{if(Y&128){d.suspense.unmount(_,w);return}te&<(d,null,p,"beforeUnmount"),Y&64?d.type.remove(d,p,_,x,I,w):k&&(T!==be||W>0&&W&64)?Re(k,p,_,!1,!0):(T===be&&W&384||!x&&Y&16)&&Re(M,p,_),w&&bt(d)}(ie&&(ve=F&&F.onVnodeUnmounted)||te)&&je(()=>{ve&&Ge(ve,p,d),te&<(d,null,p,"unmounted")},_)},bt=d=>{const{type:p,el:_,anchor:w,transition:x}=d;if(p===be){yt(_,w);return}if(p===xn){A(d);return}const T=()=>{o(_),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(d.shapeFlag&1&&x&&!x.persisted){const{leave:F,delayLeave:R}=x,M=()=>F(_,T);R?R(d.el,T,M):M()}else T()},yt=(d,p)=>{let _;for(;d!==p;)_=h(d),o(d),d=_;o(p)},st=(d,p,_)=>{const{bum:w,scope:x,update:T,subTree:F,um:R}=d;w&&Ir(w),x.stop(),T&&(T.active=!1,He(F,d,p,_)),R&&je(R,p),je(()=>{d.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},Re=(d,p,_,w=!1,x=!1,T=0)=>{for(let F=T;Fd.shapeFlag&6?C(d.component.subTree):d.shapeFlag&128?d.suspense.next():h(d.anchor||d.el),B=(d,p,_)=>{d==null?p._vnode&&He(p._vnode,null,null,!0):E(p._vnode||null,d,p,null,null,null,_),rs(),ar(),p._vnode=d},I={p:E,um:He,m:ze,r:bt,mt:$,mc:m,pc:re,pbc:H,n:C,o:e};let K,le;return t&&([K,le]=t(I)),{render:B,hydrate:K,createApp:wc(B,K)}}function $t({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ji(e,t,n=!1){const r=e.children,o=t.children;if(J(r)&&J(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}const Rc=e=>e.__isTeleport,be=Symbol.for("v-fgt"),sn=Symbol.for("v-txt"),Ve=Symbol.for("v-cmt"),xn=Symbol.for("v-stc"),Sn=[];let tt=null;function D(e=!1){Sn.push(tt=e?null:[])}function Oc(){Sn.pop(),tt=Sn[Sn.length-1]||null}let On=1;function gs(e){On+=e}function Qi(e){return e.dynamicChildren=On>0?tt||Xt:null,Oc(),On>0&&tt&&tt.push(e),e}function Q(e,t,n,r,o,s){return Qi(ue(e,t,n,r,o,s,!0))}function Te(e,t,n,r,o){return Qi(ee(e,t,n,r,o,!0))}function pr(e){return e?e.__v_isVNode===!0:!1}function Ft(e,t){return e.type===t.type&&e.key===t.key}const kr="__vInternal",Zi=({key:e})=>e??null,nr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||Oe(e)||oe(e)?{i:Me,r:e,k:t,f:!!n}:e:null);function ue(e,t=null,n=null,r=0,o=null,s=e===be?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zi(t),ref:t&&nr(t),scopeId:$i,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Me};return l?(Ro(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=he(n)?8:16),On>0&&!i&&tt&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&tt.push(a),a}const ee=$c;function $c(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===dc)&&(e=Ve),pr(e)){const l=Rt(e,t,!0);return n&&Ro(l,n),On>0&&!s&&tt&&(l.shapeFlag&6?tt[tt.indexOf(e)]=l:tt.push(l)),l.patchFlag|=-2,l}if(Wc(e)&&(e=e.__vccOpts),t){t=Ic(t);let{class:l,style:a}=t;l&&!he(l)&&(t.class=Ue(l)),we(a)&&(Si(a)&&!J(a)&&(a=ke({},a)),t.style=Nn(a))}const i=he(e)?1:Qa(e)?128:Rc(e)?64:we(e)?4:oe(e)?2:0;return ue(e,t,n,r,o,i,s,!0)}function Ic(e){return e?Si(e)||kr in e?ke({},e):e:null}function Rt(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:i}=e,l=t?so(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Zi(l),ref:t&&t.ref?n&&o?J(o)?o.concat(nr(t)):[o,nr(t)]:nr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Rt(e.ssContent),ssFallback:e.ssFallback&&Rt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ot(e=" ",t=0){return ee(sn,null,e,t)}function Mc(e,t){const n=ee(xn,null,e);return n.staticCount=t,n}function xe(e="",t=!1){return t?(D(),Te(Ve,null,e)):ee(Ve,null,e)}function Xe(e){return e==null||typeof e=="boolean"?ee(Ve):J(e)?ee(be,null,e.slice()):typeof e=="object"?St(e):ee(sn,null,String(e))}function St(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Rt(e)}function Ro(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(J(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Ro(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(kr in t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else oe(t)?(t={default:t,_ctx:Me},n=32):(t=String(t),r&64?(n=16,t=[Ot(t)]):n=8);e.children=t,e.shapeFlag|=n}function so(...e){const t={};for(let n=0;nAe||Me;let Oo,Gt,vs="__VUE_INSTANCE_SETTERS__";(Gt=Yr()[vs])||(Gt=Yr()[vs]=[]),Gt.push(e=>Ae=e),Oo=e=>{Gt.length>1?Gt.forEach(t=>t(e)):Gt[0](e)};const ln=e=>{Oo(e),e.scope.on()},Ut=()=>{Ae&&Ae.scope.off(),Oo(null)};function el(e){return e.vnode.shapeFlag&4}let an=!1;function Dc(e,t=!1){an=t;const{props:n,children:r}=e.vnode,o=el(e);Ec(e,n,o,t),Sc(e,r);const s=o?Bc(e,t):void 0;return an=!1,s}function Bc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Li(new Proxy(e.ctx,pc));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?jc(e):null;ln(e),dn();const s=kt(r,e,0,[e.props,o]);if(hn(),Ut(),ai(s)){if(s.then(Ut,Ut),t)return s.then(i=>{_s(e,i,t)}).catch(i=>{Dn(i,e,0)});e.asyncDep=s}else _s(e,s,t)}else tl(e,t)}function _s(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)&&(e.setupState=ki(t)),tl(e,n)}let bs;function tl(e,t,n){const r=e.type;if(!e.render){if(!t&&bs&&!r.render){const o=r.template||Ao(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,c=ke(ke({isCustomElement:s,delimiters:l},i),a);r.render=bs(o,c)}}e.render=r.render||nt}ln(e),dn(),mc(e),hn(),Ut()}function zc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return We(e,"get","$attrs"),t[n]}}))}function jc(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return zc(e)},slots:e.slots,emit:e.emit,expose:t}}function Ar(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(ki(Li(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Cn)return Cn[n](e)},has(t,n){return n in t||n in Cn}}))}function Uc(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function Wc(e){return oe(e)&&"__vccOpts"in e}const j=(e,t)=>Ba(e,t,an);function ge(e,t,n){const r=arguments.length;return r===2?we(t)&&!J(t)?pr(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&pr(n)&&(n=[n]),ee(e,t,n))}const qc=Symbol.for("v-scx"),Kc=()=>Se(qc),Vc="3.3.4",Yc="http://www.w3.org/2000/svg",Dt=typeof document<"u"?document:null,ys=Dt&&Dt.createElement("template"),Gc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?Dt.createElementNS(Yc,e):Dt.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Dt.createTextNode(e),createComment:e=>Dt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Dt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{ys.innerHTML=r?`${e}`:e;const l=ys.content;if(r){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Jc(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Qc(e,t,n){const r=e.style,o=he(n);if(n&&!o){if(t&&!he(t))for(const s in t)n[s]==null&&io(r,s,"");for(const s in n)io(r,s,n[s])}else{const s=r.display;o?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(r.display=s)}}const ws=/\s*!important$/;function io(e,t,n){if(J(n))n.forEach(r=>io(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Zc(e,t);ws.test(n)?e.setProperty(qt(r),n.replace(ws,""),"important"):e[r]=n}}const Es=["Webkit","Moz","ms"],Dr={};function Zc(e,t){const n=Dr[t];if(n)return n;let r=ct(t);if(r!=="filter"&&r in e)return Dr[t]=r;r=yr(r);for(let o=0;oBr||(su.then(()=>Br=0),Br=Date.now());function lu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Je(au(r,n.value),t,5,[r])};return n.value=e,n.attached=iu(),n}function au(e,t){if(J(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ss=/^on[a-z]/,cu=(e,t,n,r,o=!1,s,i,l,a)=>{t==="class"?Jc(e,r,o):t==="style"?Qc(e,n,r):Mn(t)?fo(t)||ru(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):uu(e,t,r,o))?eu(e,t,r,s,i,l,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Xc(e,t,r,o))};function uu(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&Ss.test(t)&&oe(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ss.test(t)&&he(n)?!1:t in e}const Ct="transition",gn="animation",zn=(e,{slots:t})=>ge(tc,fu(e),t);zn.displayName="Transition";const nl={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};zn.props=ke({},Hi,nl);const It=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ls=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function fu(e){const t={};for(const S in e)S in nl||(t[S]=e[S]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:c=i,appearToClass:u=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,y=du(o),E=y&&y[0],L=y&&y[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:P,onLeave:A,onLeaveCancelled:q,onBeforeAppear:X=v,onAppear:N=b,onAppearCancelled:m=P}=t,z=(S,O,$)=>{Mt(S,O?u:l),Mt(S,O?c:i),$&&$()},H=(S,O)=>{S._isLeaving=!1,Mt(S,f),Mt(S,g),Mt(S,h),O&&O()},V=S=>(O,$)=>{const se=S?N:b,U=()=>z(O,S,$);It(se,[O,U]),Ts(()=>{Mt(O,S?a:s),xt(O,S?u:l),Ls(se)||ks(O,r,E,U)})};return ke(t,{onBeforeEnter(S){It(v,[S]),xt(S,s),xt(S,i)},onBeforeAppear(S){It(X,[S]),xt(S,a),xt(S,c)},onEnter:V(!1),onAppear:V(!0),onLeave(S,O){S._isLeaving=!0;const $=()=>H(S,O);xt(S,f),mu(),xt(S,h),Ts(()=>{S._isLeaving&&(Mt(S,f),xt(S,g),Ls(A)||ks(S,r,L,$))}),It(A,[S,$])},onEnterCancelled(S){z(S,!1),It(P,[S])},onAppearCancelled(S){z(S,!0),It(m,[S])},onLeaveCancelled(S){H(S),It(q,[S])}})}function du(e){if(e==null)return null;if(we(e))return[zr(e.enter),zr(e.leave)];{const t=zr(e);return[t,t]}}function zr(e){return Jl(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Mt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ts(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hu=0;function ks(e,t,n,r){const o=e._endId=++hu,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=pu(e,t);if(!i)return r();const c=i+"end";let u=0;const f=()=>{e.removeEventListener(c,h),s()},h=g=>{g.target===e&&++u>=a&&f()};setTimeout(()=>{u(n[y]||"").split(", "),o=r(`${Ct}Delay`),s=r(`${Ct}Duration`),i=As(o,s),l=r(`${gn}Delay`),a=r(`${gn}Duration`),c=As(l,a);let u=null,f=0,h=0;t===Ct?i>0&&(u=Ct,f=i,h=s.length):t===gn?c>0&&(u=gn,f=c,h=a.length):(f=Math.max(i,c),u=f>0?i>c?Ct:gn:null,h=u?u===Ct?s.length:a.length:0);const g=u===Ct&&/\b(transform|all)(,|$)/.test(r(`${Ct}Property`).toString());return{type:u,timeout:f,propCount:h,hasTransform:g}}function As(e,t){for(;e.lengthPs(n)+Ps(e[r])))}function Ps(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function mu(){return document.body.offsetHeight}const gu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},vu=(e,t)=>n=>{if(!("key"in n))return;const r=qt(n.key);if(t.some(o=>o===r||gu[o]===r))return e(n)},mr={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):vn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),vn(e,!0),r.enter(e)):r.leave(e,()=>{vn(e,!1)}):vn(e,t))},beforeUnmount(e,{value:t}){vn(e,t)}};function vn(e,t){e.style.display=t?e._vod:"none"}const _u=ke({patchProp:cu},Gc);let jr,Rs=!1;function bu(){return jr=Rs?jr:kc(_u),Rs=!0,jr}const yu=(...e)=>{const t=bu().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=wu(r);if(o)return n(o,!0,o instanceof SVGElement)},t};function wu(e){return he(e)?document.querySelector(e):e}const Eu={"v-8daa1a0e":()=>or(()=>import("./index.html-aa5047fb.js"),[]).then(({data:e})=>e),"v-3706649a":()=>or(()=>import("./404.html-60b35caa.js"),[]).then(({data:e})=>e)},Cu=JSON.parse('{"base":"/","lang":"en-US","title":"","description":"","head":[["link",{"rel":"icon","href":"/image/favicon.ico"}]],"locales":{}}');var xu=([e,t,n])=>e==="meta"&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,n]),Su=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=xu(r);t.has(o)||(t.add(o),n.push(r))}),n},jn=e=>/^(https?:)?\/\//.test(e),Lu=e=>/^mailto:/.test(e),Tu=e=>/^tel:/.test(e),$o=e=>Object.prototype.toString.call(e)==="[object Object]",rl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,ol=e=>e[0]==="/"?e.slice(1):e,sl=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"};const il={"v-8daa1a0e":is(()=>or(()=>import("./index.html-34f253f3.js"),[])),"v-3706649a":is(()=>or(()=>import("./404.html-ec94efa1.js"),[]))};var ku=Symbol(""),ll=Symbol(""),Au=Fn({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),Wt=()=>{const e=Se(ll);if(!e)throw new Error("pageData() is called without provider.");return e},al=Symbol(""),pt=()=>{const e=Se(al);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},cl=Symbol(""),Pu=()=>{const e=Se(cl);if(!e)throw new Error("usePageHead() is called without provider.");return e},Ru=Symbol(""),ul=Symbol(""),Ou=()=>{const e=Se(ul);if(!e)throw new Error("usePageLang() is called without provider.");return e},fl=Symbol(""),$u=()=>{const e=Se(fl);if(!e)throw new Error("usePageLayout() is called without provider.");return e},Iu=Ee(Eu),Io=Symbol(""),Pr=()=>{const e=Se(Io);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},Zt=Ee(Cu),dl=()=>Zt,hl=Symbol(""),Mo=()=>{const e=Se(hl);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},Mu=Symbol(""),Nu="Layout",Hu="NotFound",ft=Hn({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageData:async e=>{const t=Iu.value[e];return await(t==null?void 0:t())??Au},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,n)=>{const r=he(t.description)?t.description:n.description,o=[...J(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Su(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||"en-US",resolvePageLayout:(e,t)=>{let n;if(e.path){const r=e.frontmatter.layout;he(r)?n=r:n=Nu}else n=Hu;return t[n]},resolveRouteLocale:(e,t)=>sl(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),No=de({name:"ClientOnly",setup(e,t){const n=Ee(!1);return Qe(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),Fu=de({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=Wt(),n=j(()=>il[e.pageKey||t.value.key]);return()=>n.value?ge(n.value):ge("div","404 Not Found")}}),Kt=(e={})=>e,Ho=e=>jn(e)?e:`/${ol(e)}`;function pl(e,t,n){var r,o,s;t===void 0&&(t=50),n===void 0&&(n={});var i=(r=n.isImmediate)!=null&&r,l=(o=n.callback)!=null&&o,a=n.maxWait,c=Date.now(),u=[];function f(){if(a!==void 0){var g=Date.now()-c;if(g+t>=a)return a-g}return t}var h=function(){var g=[].slice.call(arguments),y=this;return new Promise(function(E,L){var v=i&&s===void 0;if(s!==void 0&&clearTimeout(s),s=setTimeout(function(){if(s=void 0,c=Date.now(),!i){var P=e.apply(y,g);l&&l(P),u.forEach(function(A){return(0,A.resolve)(P)}),u=[]}},f()),v){var b=e.apply(y,g);return l&&l(b),E(b)}u.push({resolve:E,reject:L})})};return h.cancel=function(g){s!==void 0&&clearTimeout(s),u.forEach(function(y){return(0,y.reject)(g)}),u=[]},h}/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const Qt=typeof window<"u";function Du(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const pe=Object.assign;function Ur(e,t){const n={};for(const r in t){const o=t[r];n[r]=ot(o)?o.map(e):e(o)}return n}const Ln=()=>{},ot=Array.isArray,Bu=/\/$/,zu=e=>e.replace(Bu,"");function Wr(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=qu(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function ju(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Os(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Uu(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&cn(t.matched[r],n.matched[o])&&ml(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function cn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ml(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Wu(e[n],t[n]))return!1;return!0}function Wu(e,t){return ot(e)?$s(e,t):ot(t)?$s(t,e):e===t}function $s(e,t){return ot(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function qu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var $n;(function(e){e.pop="pop",e.push="push"})($n||($n={}));var Tn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Tn||(Tn={}));function Ku(e){if(!e)if(Qt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),zu(e)}const Vu=/^[^#]+#/;function Yu(e,t){return e.replace(Vu,"#")+t}function Gu(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Rr=()=>({left:window.pageXOffset,top:window.pageYOffset});function Ju(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Gu(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Is(e,t){return(history.state?history.state.position-t:-1)+e}const lo=new Map;function Qu(e,t){lo.set(e,t)}function Zu(e){const t=lo.get(e);return lo.delete(e),t}let Xu=()=>location.protocol+"//"+location.host;function gl(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),Os(a,"")}return Os(n,e)+r+o}function ef(e,t,n,r){let o=[],s=[],i=null;const l=({state:h})=>{const g=gl(e,location),y=n.value,E=t.value;let L=0;if(h){if(n.value=g,t.value=h,i&&i===y){i=null;return}L=E?h.position-E.position:0}else r(g);o.forEach(v=>{v(n.value,y,{delta:L,type:$n.pop,direction:L?L>0?Tn.forward:Tn.back:Tn.unknown})})};function a(){i=n.value}function c(h){o.push(h);const g=()=>{const y=o.indexOf(h);y>-1&&o.splice(y,1)};return s.push(g),g}function u(){const{history:h}=window;h.state&&h.replaceState(pe({},h.state,{scroll:Rr()}),"")}function f(){for(const h of s)h();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:a,listen:c,destroy:f}}function Ms(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Rr():null}}function tf(e){const{history:t,location:n}=window,r={value:gl(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,c,u){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:Xu()+e+a;try{t[u?"replaceState":"pushState"](c,"",h),o.value=c}catch(g){console.error(g),n[u?"replace":"assign"](h)}}function i(a,c){const u=pe({},t.state,Ms(o.value.back,a,o.value.forward,!0),c,{position:o.value.position});s(a,u,!0),r.value=a}function l(a,c){const u=pe({},o.value,t.state,{forward:a,scroll:Rr()});s(u.current,u,!0);const f=pe({},Ms(r.value,a,null),{position:u.position+1},c);s(a,f,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function nf(e){e=Ku(e);const t=tf(e),n=ef(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=pe({location:"",base:e,go:r,createHref:Yu.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function rf(e){return typeof e=="string"||e&&typeof e=="object"}function vl(e){return typeof e=="string"||typeof e=="symbol"}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},_l=Symbol("");var Ns;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ns||(Ns={}));function un(e,t){return pe(new Error,{type:e,[_l]:!0},t)}function ut(e,t){return e instanceof Error&&_l in e&&(t==null||!!(e.type&t))}const Hs="[^/]+?",of={sensitive:!1,strict:!1,start:!0,end:!0},sf=/[.+*?^${}()[\]/\\]/g;function lf(e,t){const n=pe({},of,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function cf(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const uf={type:0,value:""},ff=/[a-zA-Z0-9_]/;function df(e){if(!e)return[[]];if(e==="/")return[[uf]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,c="",u="";function f(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function h(){c+=a}for(;l{i(b)}:Ln}function i(u){if(vl(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!bl(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Bs(u)&&r.set(u.record.name,u)}function c(u,f){let h,g={},y,E;if("name"in u&&u.name){if(h=r.get(u.name),!h)throw un(1,{location:u});E=h.record.name,g=pe(Ds(f.params,h.keys.filter(b=>!b.optional).map(b=>b.name)),u.params&&Ds(u.params,h.keys.map(b=>b.name))),y=h.stringify(g)}else if("path"in u)y=u.path,h=n.find(b=>b.re.test(y)),h&&(g=h.parse(y),E=h.record.name);else{if(h=f.name?r.get(f.name):n.find(b=>b.re.test(f.path)),!h)throw un(1,{location:u,currentLocation:f});E=h.record.name,g=pe({},f.params,u.params),y=h.stringify(g)}const L=[];let v=h;for(;v;)L.unshift(v.record),v=v.parent;return{name:E,path:y,params:g,matched:L,meta:vf(L)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:c,removeRoute:i,getRoutes:l,getRecordMatcher:o}}function Ds(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function mf(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:gf(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function gf(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Bs(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function vf(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function zs(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function bl(e,t){return t.children.some(n=>n===e||bl(e,n))}const yl=/#/g,_f=/&/g,bf=/\//g,yf=/=/g,wf=/\?/g,wl=/\+/g,Ef=/%5B/g,Cf=/%5D/g,El=/%5E/g,xf=/%60/g,Cl=/%7B/g,Sf=/%7C/g,xl=/%7D/g,Lf=/%20/g;function Fo(e){return encodeURI(""+e).replace(Sf,"|").replace(Ef,"[").replace(Cf,"]")}function Tf(e){return Fo(e).replace(Cl,"{").replace(xl,"}").replace(El,"^")}function ao(e){return Fo(e).replace(wl,"%2B").replace(Lf,"+").replace(yl,"%23").replace(_f,"%26").replace(xf,"`").replace(Cl,"{").replace(xl,"}").replace(El,"^")}function kf(e){return ao(e).replace(yf,"%3D")}function Af(e){return Fo(e).replace(yl,"%23").replace(wf,"%3F")}function Pf(e){return e==null?"":Af(e).replace(bf,"%2F")}function gr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Rf(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&ao(s)):[r&&ao(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Of(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ot(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const $f=Symbol(""),Us=Symbol(""),Or=Symbol(""),Do=Symbol(""),co=Symbol("");function _n(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Lt(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,l)=>{const a=f=>{f===!1?l(un(4,{from:n,to:t})):f instanceof Error?l(f):rf(f)?l(un(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},c=e.call(r&&r.instances[o],t,n,a);let u=Promise.resolve(c);e.length<3&&(u=u.then(a)),u.catch(f=>l(f))})}function qr(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let l=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(If(l)){const c=(l.__vccOpts||l)[t];c&&o.push(Lt(c,n,r,s,i))}else{let a=l();o.push(()=>a.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=Du(c)?c.default:c;s.components[i]=u;const h=(u.__vccOpts||u)[t];return h&&Lt(h,n,r,s,i)()}))}}return o}function If(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ws(e){const t=Se(Or),n=Se(Do),r=j(()=>t.resolve(Z(e.to))),o=j(()=>{const{matched:a}=r.value,{length:c}=a,u=a[c-1],f=n.matched;if(!u||!f.length)return-1;const h=f.findIndex(cn.bind(null,u));if(h>-1)return h;const g=qs(a[c-2]);return c>1&&qs(u)===g&&f[f.length-1].path!==g?f.findIndex(cn.bind(null,a[c-2])):h}),s=j(()=>o.value>-1&&Ff(n.params,r.value.params)),i=j(()=>o.value>-1&&o.value===n.matched.length-1&&ml(n.params,r.value.params));function l(a={}){return Hf(a)?t[Z(e.replace)?"replace":"push"](Z(e.to)).catch(Ln):Promise.resolve()}return{route:r,href:j(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const Mf=de({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ws,setup(e,{slots:t}){const n=Hn(Ws(e)),{options:r}=Se(Or),o=j(()=>({[Ks(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ks(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:ge("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Nf=Mf;function Hf(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ff(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ot(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function qs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ks=(e,t,n)=>e??t??n,Df=de({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Se(co),o=j(()=>e.route||r.value),s=Se(Us,0),i=j(()=>{let c=Z(s);const{matched:u}=o.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),l=j(()=>o.value.matched[i.value]);jt(Us,j(()=>i.value+1)),jt($f,l),jt(co,o);const a=Ee();return rt(()=>[a.value,l.value,e.name],([c,u,f],[h,g,y])=>{u&&(u.instances[f]=c,g&&g!==u&&c&&c===h&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),c&&u&&(!g||!cn(u,g)||!h)&&(u.enterCallbacks[f]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=o.value,u=e.name,f=l.value,h=f&&f.components[u];if(!h)return Vs(n.default,{Component:h,route:c});const g=f.props[u],y=g?g===!0?c.params:typeof g=="function"?g(c):g:null,L=ge(h,pe({},y,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[u]=null)},ref:a}));return Vs(n.default,{Component:L,route:c})||L}}});function Vs(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Sl=Df;function Bf(e){const t=pf(e.routes,e),n=e.parseQuery||Rf,r=e.stringifyQuery||js,o=e.history,s=_n(),i=_n(),l=_n(),a=So(dt);let c=dt;Qt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Ur.bind(null,C=>""+C),f=Ur.bind(null,Pf),h=Ur.bind(null,gr);function g(C,B){let I,K;return vl(C)?(I=t.getRecordMatcher(C),K=B):K=C,t.addRoute(K,I)}function y(C){const B=t.getRecordMatcher(C);B&&t.removeRoute(B)}function E(){return t.getRoutes().map(C=>C.record)}function L(C){return!!t.getRecordMatcher(C)}function v(C,B){if(B=pe({},B||a.value),typeof C=="string"){const _=Wr(n,C,B.path),w=t.resolve({path:_.path},B),x=o.createHref(_.fullPath);return pe(_,w,{params:h(w.params),hash:gr(_.hash),redirectedFrom:void 0,href:x})}let I;if("path"in C)I=pe({},C,{path:Wr(n,C.path,B.path).path});else{const _=pe({},C.params);for(const w in _)_[w]==null&&delete _[w];I=pe({},C,{params:f(_)}),B.params=f(B.params)}const K=t.resolve(I,B),le=C.hash||"";K.params=u(h(K.params));const d=ju(r,pe({},C,{hash:Tf(le),path:K.path})),p=o.createHref(d);return pe({fullPath:d,hash:le,query:r===js?Of(C.query):C.query||{}},K,{redirectedFrom:void 0,href:p})}function b(C){return typeof C=="string"?Wr(n,C,a.value.path):pe({},C)}function P(C,B){if(c!==C)return un(8,{from:B,to:C})}function A(C){return N(C)}function q(C){return A(pe(b(C),{replace:!0}))}function X(C){const B=C.matched[C.matched.length-1];if(B&&B.redirect){const{redirect:I}=B;let K=typeof I=="function"?I(C):I;return typeof K=="string"&&(K=K.includes("?")||K.includes("#")?K=b(K):{path:K},K.params={}),pe({query:C.query,hash:C.hash,params:"path"in K?{}:C.params},K)}}function N(C,B){const I=c=v(C),K=a.value,le=C.state,d=C.force,p=C.replace===!0,_=X(I);if(_)return N(pe(b(_),{state:typeof _=="object"?pe({},le,_.state):le,force:d,replace:p}),B||I);const w=I;w.redirectedFrom=B;let x;return!d&&Uu(r,K,I)&&(x=un(16,{to:w,from:K}),ze(K,K,!0,!1)),(x?Promise.resolve(x):H(w,K)).catch(T=>ut(T)?ut(T,2)?T:$e(T):re(T,w,K)).then(T=>{if(T){if(ut(T,2))return N(pe({replace:p},b(T.to),{state:typeof T.to=="object"?pe({},le,T.to.state):le,force:d}),B||w)}else T=S(w,K,!0,p,le);return V(w,K,T),T})}function m(C,B){const I=P(C,B);return I?Promise.reject(I):Promise.resolve()}function z(C){const B=yt.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(C):C()}function H(C,B){let I;const[K,le,d]=zf(C,B);I=qr(K.reverse(),"beforeRouteLeave",C,B);for(const _ of K)_.leaveGuards.forEach(w=>{I.push(Lt(w,C,B))});const p=m.bind(null,C,B);return I.push(p),Re(I).then(()=>{I=[];for(const _ of s.list())I.push(Lt(_,C,B));return I.push(p),Re(I)}).then(()=>{I=qr(le,"beforeRouteUpdate",C,B);for(const _ of le)_.updateGuards.forEach(w=>{I.push(Lt(w,C,B))});return I.push(p),Re(I)}).then(()=>{I=[];for(const _ of d)if(_.beforeEnter)if(ot(_.beforeEnter))for(const w of _.beforeEnter)I.push(Lt(w,C,B));else I.push(Lt(_.beforeEnter,C,B));return I.push(p),Re(I)}).then(()=>(C.matched.forEach(_=>_.enterCallbacks={}),I=qr(d,"beforeRouteEnter",C,B),I.push(p),Re(I))).then(()=>{I=[];for(const _ of i.list())I.push(Lt(_,C,B));return I.push(p),Re(I)}).catch(_=>ut(_,8)?_:Promise.reject(_))}function V(C,B,I){l.list().forEach(K=>z(()=>K(C,B,I)))}function S(C,B,I,K,le){const d=P(C,B);if(d)return d;const p=B===dt,_=Qt?history.state:{};I&&(K||p?o.replace(C.fullPath,pe({scroll:p&&_&&_.scroll},le)):o.push(C.fullPath,le)),a.value=C,ze(C,B,I,p),$e()}let O;function $(){O||(O=o.listen((C,B,I)=>{if(!st.listening)return;const K=v(C),le=X(K);if(le){N(pe(le,{replace:!0}),K).catch(Ln);return}c=K;const d=a.value;Qt&&Qu(Is(d.fullPath,I.delta),Rr()),H(K,d).catch(p=>ut(p,12)?p:ut(p,2)?(N(p.to,K).then(_=>{ut(_,20)&&!I.delta&&I.type===$n.pop&&o.go(-1,!1)}).catch(Ln),Promise.reject()):(I.delta&&o.go(-I.delta,!1),re(p,K,d))).then(p=>{p=p||S(K,d,!1),p&&(I.delta&&!ut(p,8)?o.go(-I.delta,!1):I.type===$n.pop&&ut(p,20)&&o.go(-1,!1)),V(K,d,p)}).catch(Ln)}))}let se=_n(),U=_n(),ne;function re(C,B,I){$e(C);const K=U.list();return K.length?K.forEach(le=>le(C,B,I)):console.error(C),Promise.reject(C)}function Ne(){return ne&&a.value!==dt?Promise.resolve():new Promise((C,B)=>{se.add([C,B])})}function $e(C){return ne||(ne=!C,$(),se.list().forEach(([B,I])=>C?I(C):B()),se.reset()),C}function ze(C,B,I,K){const{scrollBehavior:le}=e;if(!Qt||!le)return Promise.resolve();const d=!I&&Zu(Is(C.fullPath,0))||(K||!I)&&history.state&&history.state.scroll||null;return Er().then(()=>le(C,B,d)).then(p=>p&&Ju(p)).catch(p=>re(p,C,B))}const He=C=>o.go(C);let bt;const yt=new Set,st={currentRoute:a,listening:!0,addRoute:g,removeRoute:y,hasRoute:L,getRoutes:E,resolve:v,options:e,push:A,replace:q,go:He,back:()=>He(-1),forward:()=>He(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:U.add,isReady:Ne,install(C){const B=this;C.component("RouterLink",Nf),C.component("RouterView",Sl),C.config.globalProperties.$router=B,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Z(a)}),Qt&&!bt&&a.value===dt&&(bt=!0,A(o.location).catch(le=>{}));const I={};for(const le in dt)Object.defineProperty(I,le,{get:()=>a.value[le],enumerable:!0});C.provide(Or,B),C.provide(Do,xi(I)),C.provide(co,a);const K=C.unmount;yt.add(C),C.unmount=function(){yt.delete(C),yt.size<1&&(c=dt,O&&O(),O=null,a.value=dt,bt=!1,ne=!1),K()}}};function Re(C){return C.reduce((B,I)=>B.then(()=>z(I)),Promise.resolve())}return st}function zf(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;icn(c,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(c=>cn(c,a))||o.push(a))}return[n,r,o]}function pn(){return Se(Or)}function Vt(){return Se(Do)}const jf=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=pn(),i=pl(()=>{var E,L;const l=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(l-0)h.some(b=>b.hash===v.hash));for(let v=0;v=(((E=b.parentElement)==null?void 0:E.offsetTop)??0)-r,q=!P||l<(((L=P.parentElement)==null?void 0:L.offsetTop)??0)-r;if(!(A&&q))continue;const N=decodeURIComponent(o.currentRoute.value.hash),m=decodeURIComponent(b.hash);if(N===m)return;if(f){for(let z=v+1;z{window.addEventListener("scroll",i)}),Lr(()=>{window.removeEventListener("scroll",i)})},Ys=async(e,t)=>{const{scrollBehavior:n}=e.options;e.options.scrollBehavior=void 0,await e.replace({query:e.currentRoute.value.query,hash:t}).finally(()=>e.options.scrollBehavior=n)},Uf="a.sidebar-item",Wf=".header-anchor",qf=300,Kf=5,Vf=Kt({setup(){jf({headerLinkSelector:Uf,headerAnchorSelector:Wf,delay:qf,offset:Kf})}}),Gs=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,Yf=()=>window.scrollTo({top:0,behavior:"smooth"});const Gf=de({name:"BackToTop",setup(){const e=Ee(0),t=j(()=>e.value>300),n=pl(()=>{e.value=Gs()},100);Qe(()=>{e.value=Gs(),window.addEventListener("scroll",()=>n())});const r=ge("div",{class:"back-to-top",onClick:Yf});return()=>ge(zn,{name:"back-to-top"},()=>t.value?r:null)}}),Jf=Kt({rootComponents:[Gf]});const Qf=ge("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[ge("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),ge("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),Zf=de({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=Pr(),n=j(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>ge("span",[Qf,ge("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}}),Xf={"/":{openInNewWindow:"open in new window"}},ed=Kt({enhance({app:e}){e.component("ExternalLinkIcon",ge(Zf,{locales:Xf}))}});/*! medium-zoom 1.0.8 | MIT License | https://github.com/francoischalifour/medium-zoom */var Nt=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=window.Promise||function(S){function O(){}S(O,O)},o=function(S){var O=S.target;if(O===z){y();return}P.indexOf(O)!==-1&&E({target:O})},s=function(){if(!(q||!m.original)){var S=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(X-S)>N.scrollOffset&&setTimeout(y,150)}},i=function(S){var O=S.key||S.keyCode;(O==="Escape"||O==="Esc"||O===27)&&y()},l=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=S;if(S.background&&(z.style.background=S.background),S.container&&S.container instanceof Object&&(O.container=Nt({},N.container,S.container)),S.template){var $=rr(S.template)?S.template:document.querySelector(S.template);O.template=$}return N=Nt({},N,O),P.forEach(function(se){se.dispatchEvent(Jt("medium-zoom:update",{detail:{zoom:H}}))}),H},a=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(Nt({},N,S))},c=function(){for(var S=arguments.length,O=Array(S),$=0;$0?O.reduce(function(U,ne){return[].concat(U,Qs(ne))},[]):P;return se.forEach(function(U){U.classList.remove("medium-zoom-image"),U.dispatchEvent(Jt("medium-zoom:detach",{detail:{zoom:H}}))}),P=P.filter(function(U){return se.indexOf(U)===-1}),H},f=function(S,O){var $=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return P.forEach(function(se){se.addEventListener("medium-zoom:"+S,O,$)}),A.push({type:"medium-zoom:"+S,listener:O,options:$}),H},h=function(S,O){var $=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return P.forEach(function(se){se.removeEventListener("medium-zoom:"+S,O,$)}),A=A.filter(function(se){return!(se.type==="medium-zoom:"+S&&se.listener.toString()===O.toString())}),H},g=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=S.target,$=function(){var U={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},ne=void 0,re=void 0;if(N.container)if(N.container instanceof Object)U=Nt({},U,N.container),ne=U.width-U.left-U.right-N.margin*2,re=U.height-U.top-U.bottom-N.margin*2;else{var Ne=rr(N.container)?N.container:document.querySelector(N.container),$e=Ne.getBoundingClientRect(),ze=$e.width,He=$e.height,bt=$e.left,yt=$e.top;U=Nt({},U,{width:ze,height:He,left:bt,top:yt})}ne=ne||U.width-N.margin*2,re=re||U.height-N.margin*2;var st=m.zoomedHd||m.original,Re=Js(st)?ne:st.naturalWidth||ne,C=Js(st)?re:st.naturalHeight||re,B=st.getBoundingClientRect(),I=B.top,K=B.left,le=B.width,d=B.height,p=Math.min(Math.max(le,Re),ne)/le,_=Math.min(Math.max(d,C),re)/d,w=Math.min(p,_),x=(-K+(ne-le)/2+N.margin+U.left)/w,T=(-I+(re-d)/2+N.margin+U.top)/w,F="scale("+w+") translate3d("+x+"px, "+T+"px, 0)";m.zoomed.style.transform=F,m.zoomedHd&&(m.zoomedHd.style.transform=F)};return new r(function(se){if(O&&P.indexOf(O)===-1){se(H);return}var U=function ze(){q=!1,m.zoomed.removeEventListener("transitionend",ze),m.original.dispatchEvent(Jt("medium-zoom:opened",{detail:{zoom:H}})),se(H)};if(m.zoomed){se(H);return}if(O)m.original=O;else if(P.length>0){var ne=P;m.original=ne[0]}else{se(H);return}if(m.original.dispatchEvent(Jt("medium-zoom:open",{detail:{zoom:H}})),X=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,q=!0,m.zoomed=rd(m.original),document.body.appendChild(z),N.template){var re=rr(N.template)?N.template:document.querySelector(N.template);m.template=document.createElement("div"),m.template.appendChild(re.content.cloneNode(!0)),document.body.appendChild(m.template)}if(m.original.parentElement&&m.original.parentElement.tagName==="PICTURE"&&m.original.currentSrc&&(m.zoomed.src=m.original.currentSrc),document.body.appendChild(m.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),m.original.classList.add("medium-zoom-image--hidden"),m.zoomed.classList.add("medium-zoom-image--opened"),m.zoomed.addEventListener("click",y),m.zoomed.addEventListener("transitionend",U),m.original.getAttribute("data-zoom-src")){m.zoomedHd=m.zoomed.cloneNode(),m.zoomedHd.removeAttribute("srcset"),m.zoomedHd.removeAttribute("sizes"),m.zoomedHd.removeAttribute("loading"),m.zoomedHd.src=m.zoomed.getAttribute("data-zoom-src"),m.zoomedHd.onerror=function(){clearInterval(Ne),console.warn("Unable to reach the zoom image target "+m.zoomedHd.src),m.zoomedHd=null,$()};var Ne=setInterval(function(){m.zoomedHd.complete&&(clearInterval(Ne),m.zoomedHd.classList.add("medium-zoom-image--opened"),m.zoomedHd.addEventListener("click",y),document.body.appendChild(m.zoomedHd),$())},10)}else if(m.original.hasAttribute("srcset")){m.zoomedHd=m.zoomed.cloneNode(),m.zoomedHd.removeAttribute("sizes"),m.zoomedHd.removeAttribute("loading");var $e=m.zoomedHd.addEventListener("load",function(){m.zoomedHd.removeEventListener("load",$e),m.zoomedHd.classList.add("medium-zoom-image--opened"),m.zoomedHd.addEventListener("click",y),document.body.appendChild(m.zoomedHd),$()})}else $()})},y=function(){return new r(function(S){if(q||!m.original){S(H);return}var O=function $(){m.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(m.zoomed),m.zoomedHd&&document.body.removeChild(m.zoomedHd),document.body.removeChild(z),m.zoomed.classList.remove("medium-zoom-image--opened"),m.template&&document.body.removeChild(m.template),q=!1,m.zoomed.removeEventListener("transitionend",$),m.original.dispatchEvent(Jt("medium-zoom:closed",{detail:{zoom:H}})),m.original=null,m.zoomed=null,m.zoomedHd=null,m.template=null,S(H)};q=!0,document.body.classList.remove("medium-zoom--opened"),m.zoomed.style.transform="",m.zoomedHd&&(m.zoomedHd.style.transform=""),m.template&&(m.template.style.transition="opacity 150ms",m.template.style.opacity=0),m.original.dispatchEvent(Jt("medium-zoom:close",{detail:{zoom:H}})),m.zoomed.addEventListener("transitionend",O)})},E=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=S.target;return m.original?y():g({target:O})},L=function(){return N},v=function(){return P},b=function(){return m.original},P=[],A=[],q=!1,X=0,N=n,m={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?N=t:(t||typeof t=="string")&&c(t),N=Nt({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},N);var z=nd(N.background);document.addEventListener("click",o),document.addEventListener("keyup",i),document.addEventListener("scroll",s),window.addEventListener("resize",y);var H={open:g,close:y,toggle:E,update:l,clone:a,attach:c,detach:u,on:f,off:h,getOptions:L,getImages:v,getZoomedImage:b};return H};function sd(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var id=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";sd(id);const ld=od,ad=Symbol("mediumZoom");const cd=".theme-default-content > img, .theme-default-content :not(a) > img",ud={},fd=300,dd=Kt({enhance({app:e,router:t}){const n=ld(ud);n.refresh=(r=cd)=>{n.detach(),n.attach(r)},e.provide(ad,n),t.afterEach(()=>{setTimeout(()=>n.refresh(),fd)})}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const ae={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ae.isStarted();e=Kr(e,ae.settings.minimum,1),ae.status=e===1?null:e;const n=ae.render(!t),r=n.querySelector(ae.settings.barSelector),o=ae.settings.speed,s=ae.settings.easing;return n.offsetWidth,hd(i=>{Zn(r,{transform:"translate3d("+Zs(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(Zn(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Zn(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){ae.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),ae},isStarted:()=>typeof ae.status=="number",start:()=>{ae.status||ae.set(0);const e=()=>{setTimeout(()=>{ae.status&&(ae.trickle(),e())},ae.settings.trickleSpeed)};return ae.settings.trickle&&e(),ae},done:e=>!e&&!ae.status?ae:ae.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ae.status;return t?(typeof e!="number"&&(e=(1-t)*Kr(Math.random()*t,.1,.95)),t=Kr(t+e,0,.994),ae.set(t)):ae.start()},trickle:()=>ae.inc(Math.random()*ae.settings.trickleRate),render:e=>{if(ae.isRendered())return document.getElementById("nprogress");Xs(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ae.settings.template;const n=t.querySelector(ae.settings.barSelector),r=e?"-100":Zs(ae.status||0),o=document.querySelector(ae.settings.parent);return Zn(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Xs(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{ei(document.documentElement,"nprogress-busy"),ei(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&pd(e)},isRendered:()=>!!document.getElementById("nprogress")},Kr=(e,t,n)=>en?n:e,Zs=e=>(-1+e)*100,hd=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Zn=function(){const e=["Webkit","O","Moz","ms"],t={};function n(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(l,a){return a.toUpperCase()})}function r(i){const l=document.body.style;if(i in l)return i;let a=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let u;for(;a--;)if(u=e[a]+c,u in l)return u;return i}function o(i){return i=n(i),t[i]??(t[i]=r(i))}function s(i,l,a){l=o(l),i.style[l]=a}return function(i,l){for(const a in l){const c=l[a];c!==void 0&&Object.prototype.hasOwnProperty.call(l,a)&&s(i,a,c)}}}(),Ll=(e,t)=>(typeof e=="string"?e:Bo(e)).indexOf(" "+t+" ")>=0,Xs=(e,t)=>{const n=Bo(e),r=n+t;Ll(n,t)||(e.className=r.substring(1))},ei=(e,t)=>{const n=Bo(e);if(!Ll(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},Bo=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),pd=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)};const md=()=>{Qe(()=>{const e=pn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ae.start()}),e.afterEach(n=>{t.add(n.path),ae.done()})})},gd=Kt({setup(){md()}}),vd=JSON.parse(`{"logo":"/image/logo.svg","navbar":[{"text":"Home","link":"/"},{"text":"GitHub","link":"https://github.com/EvoEvolver/Moduler"}],"locales":{"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"repo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","sidebar":"auto","sidebarDepth":2,"editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),_d=Ee(vd),Tl=()=>_d,kl=Symbol(""),bd=()=>{const e=Se(kl);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},yd=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},wd=Kt({enhance({app:e}){const t=Tl(),n=e._context.provides[Io],r=j(()=>yd(t.value,n.value));e.provide(kl,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Ed=de({__name:"Badge",props:{type:{type:String,required:!1,default:"tip"},text:{type:String,required:!1,default:""},vertical:{type:String,required:!1,default:void 0}},setup(e){return(t,n)=>(D(),Q("span",{class:Ue(["badge",e.type]),style:Nn({verticalAlign:e.vertical})},[_e(t.$slots,"default",{},()=>[Ot(Pe(e.text),1)])],6))}}),Ce=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Cd=Ce(Ed,[["__file","Badge.vue"]]),xd=de({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=Ee(-1),r=Ee([]),o=(l=n.value)=>{l{l>0?n.value=l-1:n.value=r.value.length-1,r.value[n.value].focus()},i=(l,a)=>{l.key===" "||l.key==="Enter"?(l.preventDefault(),n.value=a):l.key==="ArrowRight"?(l.preventDefault(),o(a)):l.key==="ArrowLeft"&&(l.preventDefault(),s(a))};return()=>{var a;const l=(((a=t.default)==null?void 0:a.call(t))||[]).filter(c=>c.type.name==="CodeGroupItem").map(c=>(c.props===null&&(c.props={}),c));return l.length===0?null:(n.value<0||n.value>l.length-1?(n.value=l.findIndex(c=>c.props.active===""||c.props.active===!0),n.value===-1&&(n.value=0)):l.forEach((c,u)=>{c.props.active=u===n.value}),ge("div",{class:"code-group"},[ge("div",{class:"code-group__nav"},ge("ul",{class:"code-group__ul"},l.map((c,u)=>{const f=u===n.value;return ge("li",{class:"code-group__li"},ge("button",{ref:h=>{h&&(r.value[u]=h)},class:{"code-group__nav-tab":!0,"code-group__nav-tab-active":f},ariaPressed:f,ariaExpanded:f,onClick:()=>n.value=u,onKeydown:h=>i(h,u)},c.props.title))}))),l]))}}}),Sd=["aria-selected"],Ld=de({name:"CodeGroupItem"}),Td=de({...Ld,props:{title:{type:String,required:!0},active:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>(D(),Q("div",{class:Ue(["code-group-item",{"code-group-item__active":e.active}]),"aria-selected":e.active},[_e(t.$slots,"default")],10,Sd))}}),kd=Ce(Td,[["__file","CodeGroupItem.vue"]]);function ti(e,t){var n;const r=So();return Mi(()=>{r.value=e()},{...t,flush:(n=t==null?void 0:t.flush)!=null?n:"sync"}),Fn(r)}function Ad(e,t){let n,r,o;const s=Ee(!0),i=()=>{s.value=!0,o()};rt(e,i,{flush:"sync"});const l=typeof t=="function"?t:t.get,a=typeof t=="function"?void 0:t.set,c=Na((u,f)=>(r=u,o=f,{get(){return s.value&&(n=l(),s.value=!1),r(),n},set(h){a==null||a(h)}}));return Object.isExtensible(c)&&(c.trigger=i),c}function Al(e){return hi()?(sa(e),!0):!1}function fn(e){return typeof e=="function"?e():Z(e)}const Pd=typeof window<"u"&&typeof document<"u",Rd=Object.prototype.toString,Od=e=>Rd.call(e)==="[object Object]",$d=()=>{};function Id(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const Pl=e=>e();function Md(e=Pl){const t=Ee(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:Fn(t),pause:n,resume:r,eventFilter:o}}function Nd(e,t,n={}){const{eventFilter:r=Pl,...o}=n;return rt(e,Id(r,t),o)}function Hd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=Md(r);return{stop:Nd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function Fd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Oe(e),s=Ee(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=fn(n);return s.value=s.value===a?fn(r):a,s.value}}return o?i:[s,i]}function Dd(e){var t;const n=fn(e);return(t=n==null?void 0:n.$el)!=null?t:n}const vr=Pd?window:void 0;function ni(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=vr):[t,n,r,o]=e,!t)return $d;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(u=>u()),s.length=0},l=(u,f,h,g)=>(u.addEventListener(f,h,g),()=>u.removeEventListener(f,h,g)),a=rt(()=>[Dd(t),fn(o)],([u,f])=>{if(i(),!u)return;const h=Od(f)?{...f}:f;s.push(...n.flatMap(g=>r.map(y=>l(u,g,y,h))))},{immediate:!0,flush:"post"}),c=()=>{a(),i()};return Al(c),c}function Bd(){const e=Ee(!1);return Xi()&&Qe(()=>{e.value=!0}),e}function zd(e){const t=Bd();return j(()=>(t.value,!!e()))}function jd(e,t={}){const{window:n=vr}=t,r=zd(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=Ee(!1),i=c=>{s.value=c.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=Mi(()=>{r.value&&(l(),o=n.matchMedia(fn(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return Al(()=>{a(),l(),o=void 0}),s}const Xn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},er="__vueuse_ssr_handlers__",Ud=Wd();function Wd(){return er in Xn||(Xn[er]=Xn[er]||{}),Xn[er]}function qd(e,t){return Ud[e]||t}function Kd(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 Vd={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()}},ri="vueuse-storage";function Yd(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:u,window:f=vr,eventFilter:h,onError:g=m=>{console.error(m)}}=r,y=(u?So:Ee)(t);if(!n)try{n=qd("getDefaultStorage",()=>{var m;return(m=vr)==null?void 0:m.localStorage})()}catch(m){g(m)}if(!n)return y;const E=fn(t),L=Kd(E),v=(o=r.serializer)!=null?o:Vd[L],{pause:b,resume:P}=Hd(y,()=>A(y.value),{flush:s,deep:i,eventFilter:h});return f&&l&&(ni(f,"storage",N),ni(f,ri,X)),N(),y;function A(m){try{if(m==null)n.removeItem(e);else{const z=v.write(m),H=n.getItem(e);H!==z&&(n.setItem(e,z),f&&f.dispatchEvent(new CustomEvent(ri,{detail:{key:e,oldValue:H,newValue:z,storageArea:n}})))}}catch(z){g(z)}}function q(m){const z=m?m.newValue:n.getItem(e);if(z==null)return a&&E!==null&&n.setItem(e,v.write(E)),E;if(!m&&c){const H=v.read(z);return typeof c=="function"?c(H,E):L==="object"&&!Array.isArray(H)?{...E,...H}:H}else return typeof z!="string"?z:v.read(z)}function X(m){N(m.detail)}function N(m){if(!(m&&m.storageArea!==n)){if(m&&m.key==null){y.value=E;return}if(!(m&&m.key!==e)){b();try{(m==null?void 0:m.newValue)!==v.write(y.value)&&(y.value=q(m))}catch(z){g(z)}finally{m?Er(P):P()}}}}}function Gd(e){return jd("(prefers-color-scheme: dark)",e)}const Jd=()=>Tl(),Be=()=>bd(),Rl=Symbol(""),zo=()=>{const e=Se(Rl);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Qd=()=>{const e=Be(),t=Gd(),n=Yd("vuepress-color-scheme",e.value.colorMode),r=j({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});jt(Rl,r),Zd(r)},Zd=e=>{const t=(n=e.value)=>{const r=window==null?void 0:window.document.querySelector("html");r==null||r.classList.toggle("dark",n)};Qe(()=>{rt(e,t,{immediate:!0})}),Tr(()=>t())},Ol=(...e)=>{const n=pn().resolve(...e),r=n.matched[n.matched.length-1];if(!(r!=null&&r.redirect))return n;const{redirect:o}=r,s=oe(o)?o(n):o,i=he(s)?{path:s}:s;return Ol({hash:n.hash,query:n.query,params:n.params,...i})},jo=e=>{const t=Ol(encodeURI(e));return{text:t.meta.title||e,link:t.name==="404"?e:t.fullPath}};let Vr=null,bn=null;const Xd={wait:()=>Vr,pending:()=>{Vr=new Promise(e=>bn=e)},resolve:()=>{bn==null||bn(),Vr=null,bn=null}},$l=()=>Xd,Il=Symbol("sidebarItems"),Uo=()=>{const e=Se(Il);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},eh=()=>{const e=Be(),t=pt(),n=j(()=>th(t.value,e.value));jt(Il,n)},th=(e,t)=>{const n=e.sidebar??t.sidebar??"auto",r=e.sidebarDepth??t.sidebarDepth??2;return e.home||n===!1?[]:n==="auto"?rh(r):J(n)?Ml(n,r):$o(n)?oh(n,r):[]},nh=(e,t)=>({text:e.title,link:e.link,children:Wo(e.children,t)}),Wo=(e,t)=>t>0?e.map(n=>nh(n,t-1)):[],rh=e=>{const t=Wt();return[{text:t.value.title,children:Wo(t.value.headers,e)}]},Ml=(e,t)=>{const n=Vt(),r=Wt(),o=s=>{var l;let i;if(he(s)?i=jo(s):i=s,i.children)return{...i,children:i.children.map(a=>o(a))};if(i.link===n.path){const a=((l=r.value.headers[0])==null?void 0:l.level)===1?r.value.headers[0].children:r.value.headers;return{...i,children:Wo(a,t)}}return i};return e.map(s=>o(s))},oh=(e,t)=>{const n=Vt(),r=sl(e,n.path),o=e[r]??[];return Ml(o,t)},sh="719px",ih={mobile:sh};var In;(function(e){e.MOBILE="mobile"})(In||(In={}));var ii;const lh={[In.MOBILE]:Number.parseInt((ii=ih.mobile)==null?void 0:ii.replace("px",""),10)},Nl=(e,t)=>{const n=lh[e];Number.isInteger(n)&&Qe(()=>{t(n),window.addEventListener("resize",()=>t(n),!1),window.addEventListener("orientationchange",()=>t(n),!1)})},ah={},ch={class:"theme-default-content"};function uh(e,t){const n=vt("Content");return D(),Q("div",ch,[ee(n)])}const fh=Ce(ah,[["render",uh],["__file","HomeContent.vue"]]),dh={key:0,class:"features"},hh=de({__name:"HomeFeatures",setup(e){const t=pt(),n=j(()=>J(t.value.features)?t.value.features:[]);return(r,o)=>n.value.length?(D(),Q("div",dh,[(D(!0),Q(be,null,Pt(n.value,s=>(D(),Q("div",{key:s.title,class:"feature"},[ue("h2",null,Pe(s.title),1),ue("p",null,Pe(s.details),1)]))),128))])):xe("v-if",!0)}}),ph=Ce(hh,[["__file","HomeFeatures.vue"]]),mh=["innerHTML"],gh=["textContent"],vh=de({__name:"HomeFooter",setup(e){const t=pt(),n=j(()=>t.value.footer),r=j(()=>t.value.footerHtml);return(o,s)=>n.value?(D(),Q(be,{key:0},[xe(" eslint-disable-next-line vue/no-v-html "),r.value?(D(),Q("div",{key:0,class:"footer",innerHTML:n.value},null,8,mh)):(D(),Q("div",{key:1,class:"footer",textContent:Pe(n.value)},null,8,gh))],64)):xe("v-if",!0)}}),_h=Ce(vh,[["__file","HomeFooter.vue"]]),bh=["href","rel","target","aria-label"],yh=de({inheritAttrs:!1}),wh=de({...yh,__name:"AutoLink",props:{item:{type:Object,required:!0}},setup(e){const t=e,n=Vt(),r=dl(),{item:o}=Lo(t),s=j(()=>jn(o.value.link)),i=j(()=>Lu(o.value.link)||Tu(o.value.link)),l=j(()=>{if(!i.value){if(o.value.target)return o.value.target;if(s.value)return"_blank"}}),a=j(()=>l.value==="_blank"),c=j(()=>!s.value&&!i.value&&!a.value),u=j(()=>{if(!i.value){if(o.value.rel)return o.value.rel;if(a.value)return"noopener noreferrer"}}),f=j(()=>o.value.ariaLabel||o.value.text),h=j(()=>{const E=Object.keys(r.value.locales);return E.length?!E.some(L=>L===o.value.link):o.value.link!=="/"}),g=j(()=>h.value?n.path.startsWith(o.value.link):!1),y=j(()=>c.value?o.value.activeMatch?new RegExp(o.value.activeMatch).test(n.path):g.value:!1);return(E,L)=>{const v=vt("RouterLink"),b=vt("AutoLinkExternalIcon");return c.value?(D(),Te(v,so({key:0,class:{"router-link-active":y.value},to:Z(o).link,"aria-label":f.value},E.$attrs),{default:Ie(()=>[_e(E.$slots,"before"),Ot(" "+Pe(Z(o).text)+" ",1),_e(E.$slots,"after")]),_:3},16,["class","to","aria-label"])):(D(),Q("a",so({key:1,class:"external-link",href:Z(o).link,rel:u.value,target:l.value,"aria-label":f.value},E.$attrs),[_e(E.$slots,"before"),Ot(" "+Pe(Z(o).text)+" ",1),a.value?(D(),Te(b,{key:0})):xe("v-if",!0),_e(E.$slots,"after")],16,bh))}}}),mt=Ce(wh,[["__file","AutoLink.vue"]]),Eh={class:"hero"},Ch={key:0,id:"main-title"},xh={key:1,class:"description"},Sh={key:2,class:"actions"},Lh=de({__name:"HomeHero",setup(e){const t=pt(),n=Mo(),r=zo(),o=j(()=>r.value&&t.value.heroImageDark!==void 0?t.value.heroImageDark:t.value.heroImage),s=j(()=>t.value.heroAlt||l.value||"hero"),i=j(()=>t.value.heroHeight||280),l=j(()=>t.value.heroText===null?null:t.value.heroText||n.value.title||"Hello"),a=j(()=>t.value.tagline===null?null:t.value.tagline||n.value.description||"Welcome to your VuePress site"),c=j(()=>J(t.value.actions)?t.value.actions.map(({text:f,link:h,type:g="primary"})=>({text:f,link:h,type:g})):[]),u=()=>{if(!o.value)return null;const f=ge("img",{src:Ho(o.value),alt:s.value,height:i.value});return t.value.heroImageDark===void 0?f:ge(No,()=>f)};return(f,h)=>(D(),Q("header",Eh,[ee(u),l.value?(D(),Q("h1",Ch,Pe(l.value),1)):xe("v-if",!0),a.value?(D(),Q("p",xh,Pe(a.value),1)):xe("v-if",!0),c.value.length?(D(),Q("p",Sh,[(D(!0),Q(be,null,Pt(c.value,g=>(D(),Te(mt,{key:g.text,class:Ue(["action-button",[g.type]]),item:g},null,8,["class","item"]))),128))])):xe("v-if",!0)]))}}),Th=Ce(Lh,[["__file","HomeHero.vue"]]),kh={class:"home"},Ah=de({__name:"Home",setup(e){return(t,n)=>(D(),Q("main",kh,[ee(Th),ee(ph),ee(fh),ee(_h)]))}}),Ph=Ce(Ah,[["__file","Home.vue"]]),Rh=de({__name:"NavbarBrand",setup(e){const t=Pr(),n=Mo(),r=Be(),o=zo(),s=j(()=>r.value.home||t.value),i=j(()=>n.value.title),l=j(()=>o.value&&r.value.logoDark!==void 0?r.value.logoDark:r.value.logo),a=()=>{if(!l.value)return null;const c=ge("img",{class:"logo",src:Ho(l.value),alt:i.value});return r.value.logoDark===void 0?c:ge(No,()=>c)};return(c,u)=>{const f=vt("RouterLink");return D(),Te(f,{to:s.value},{default:Ie(()=>[ee(a),i.value?(D(),Q("span",{key:0,class:Ue(["site-name",{"can-hide":l.value}])},Pe(i.value),3)):xe("v-if",!0)]),_:1},8,["to"])}}}),Oh=Ce(Rh,[["__file","NavbarBrand.vue"]]),$h=de({__name:"DropdownTransition",setup(e){const t=r=>{r.style.height=r.scrollHeight+"px"},n=r=>{r.style.height=""};return(r,o)=>(D(),Te(zn,{name:"dropdown",onEnter:t,onAfterEnter:n,onBeforeLeave:t},{default:Ie(()=>[_e(r.$slots,"default")]),_:3}))}}),Hl=Ce($h,[["__file","DropdownTransition.vue"]]),Ih=["aria-label"],Mh={class:"title"},Nh=ue("span",{class:"arrow down"},null,-1),Hh=["aria-label"],Fh={class:"title"},Dh={class:"navbar-dropdown"},Bh={class:"navbar-dropdown-subtitle"},zh={key:1},jh={class:"navbar-dropdown-subitem-wrapper"},Uh=de({__name:"NavbarDropdown",props:{item:{type:Object,required:!0}},setup(e){const t=e,{item:n}=Lo(t),r=j(()=>n.value.ariaLabel||n.value.text),o=Ee(!1),s=Vt();rt(()=>s.path,()=>{o.value=!1});const i=a=>{a.detail===0?o.value=!o.value:o.value=!1},l=(a,c)=>c[c.length-1]===a;return(a,c)=>(D(),Q("div",{class:Ue(["navbar-dropdown-wrapper",{open:o.value}])},[ue("button",{class:"navbar-dropdown-title",type:"button","aria-label":r.value,onClick:i},[ue("span",Mh,Pe(Z(n).text),1),Nh],8,Ih),ue("button",{class:"navbar-dropdown-title-mobile",type:"button","aria-label":r.value,onClick:c[0]||(c[0]=u=>o.value=!o.value)},[ue("span",Fh,Pe(Z(n).text),1),ue("span",{class:Ue(["arrow",o.value?"down":"right"])},null,2)],8,Hh),ee(Hl,null,{default:Ie(()=>[ur(ue("ul",Dh,[(D(!0),Q(be,null,Pt(Z(n).children,u=>(D(),Q("li",{key:u.text,class:"navbar-dropdown-item"},[u.children?(D(),Q(be,{key:0},[ue("h4",Bh,[u.link?(D(),Te(mt,{key:0,item:u,onFocusout:f=>l(u,Z(n).children)&&u.children.length===0&&(o.value=!1)},null,8,["item","onFocusout"])):(D(),Q("span",zh,Pe(u.text),1))]),ue("ul",jh,[(D(!0),Q(be,null,Pt(u.children,f=>(D(),Q("li",{key:f.link,class:"navbar-dropdown-subitem"},[ee(mt,{item:f,onFocusout:h=>l(f,u.children)&&l(u,Z(n).children)&&(o.value=!1)},null,8,["item","onFocusout"])]))),128))])],64)):(D(),Te(mt,{key:1,item:u,onFocusout:f=>l(u,Z(n).children)&&(o.value=!1)},null,8,["item","onFocusout"]))]))),128))],512),[[mr,o.value]])]),_:1})],2))}}),Wh=Ce(Uh,[["__file","NavbarDropdown.vue"]]),oi=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),qh=(e,t)=>{if(t.hash===e)return!0;const n=oi(t.path),r=oi(e);return n===r},Fl=(e,t)=>e.link&&qh(e.link,t)?!0:e.children?e.children.some(n=>Fl(n,t)):!1,Dl=e=>!jn(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Kh={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Vh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=Dl(e);return n!==null?Kh[n]:null},Yh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Vh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,jn(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,ol(`${rl(n)}/${r}`)):null},Gh={key:0,class:"navbar-items"},Jh=de({__name:"NavbarItems",setup(e){const t=()=>{const u=pn(),f=Pr(),h=dl(),g=Mo(),y=Jd(),E=Be();return j(()=>{const L=Object.keys(h.value.locales);if(L.length<2)return[];const v=u.currentRoute.value.path,b=u.currentRoute.value.fullPath;return[{text:`${E.value.selectLanguageText}`,ariaLabel:`${E.value.selectLanguageAriaLabel??E.value.selectLanguageText}`,children:L.map(A=>{var H,V;const q=((H=h.value.locales)==null?void 0:H[A])??{},X=((V=y.value.locales)==null?void 0:V[A])??{},N=`${q.lang}`,m=X.selectLanguageName??N;let z;if(N===g.value.lang)z=b;else{const S=v.replace(f.value,A);u.getRoutes().some(O=>O.path===S)?z=b.replace(v,S):z=X.home??A}return{text:m,link:z}})}]})},n=()=>{const u=Be(),f=j(()=>u.value.repo),h=j(()=>f.value?Dl(f.value):null),g=j(()=>f.value&&!jn(f.value)?`https://github.com/${f.value}`:f.value),y=j(()=>g.value?u.value.repoLabel?u.value.repoLabel:h.value===null?"Source":h.value:null);return j(()=>!g.value||!y.value?[]:[{text:y.value,link:g.value}])},r=u=>he(u)?jo(u):u.children?{...u,children:u.children.map(r)}:u,o=()=>{const u=Be();return j(()=>(u.value.navbar||[]).map(r))},s=Ee(!1),i=o(),l=t(),a=n(),c=j(()=>[...i.value,...l.value,...a.value]);return Nl(In.MOBILE,u=>{window.innerWidthc.value.length?(D(),Q("nav",Gh,[(D(!0),Q(be,null,Pt(c.value,h=>(D(),Q("div",{key:h.text,class:"navbar-item"},[h.children?(D(),Te(Wh,{key:0,item:h,class:Ue(s.value?"mobile":"")},null,8,["item","class"])):(D(),Te(mt,{key:1,item:h},null,8,["item"]))]))),128))])):xe("v-if",!0)}}),Bl=Ce(Jh,[["__file","NavbarItems.vue"]]),Qh=["title"],Zh={class:"icon",focusable:"false",viewBox:"0 0 32 32"},Xh=Mc('',9),ep=[Xh],tp={class:"icon",focusable:"false",viewBox:"0 0 32 32"},np=ue("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),rp=[np],op=de({__name:"ToggleColorModeButton",setup(e){const t=Be(),n=zo(),r=()=>{n.value=!n.value};return(o,s)=>(D(),Q("button",{class:"toggle-color-mode-button",title:Z(t).toggleColorMode,onClick:r},[ur((D(),Q("svg",Zh,ep,512)),[[mr,!Z(n)]]),ur((D(),Q("svg",tp,rp,512)),[[mr,Z(n)]])],8,Qh))}}),sp=Ce(op,[["__file","ToggleColorModeButton.vue"]]),ip=["title"],lp=ue("div",{class:"icon","aria-hidden":"true"},[ue("span"),ue("span"),ue("span")],-1),ap=[lp],cp=de({__name:"ToggleSidebarButton",emits:["toggle"],setup(e){const t=Be();return(n,r)=>(D(),Q("div",{class:"toggle-sidebar-button",title:Z(t).toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:r[0]||(r[0]=o=>n.$emit("toggle"))},ap,8,ip))}}),up=Ce(cp,[["__file","ToggleSidebarButton.vue"]]),fp=de({__name:"Navbar",emits:["toggle-sidebar"],setup(e){const t=Be(),n=Ee(null),r=Ee(null),o=Ee(0),s=j(()=>o.value?{maxWidth:o.value+"px"}:{});Nl(In.MOBILE,l=>{var c;const a=i(n.value,"paddingLeft")+i(n.value,"paddingRight");window.innerWidth{const c=vt("NavbarSearch");return D(),Q("header",{ref_key:"navbar",ref:n,class:"navbar"},[ee(up,{onToggle:a[0]||(a[0]=u=>l.$emit("toggle-sidebar"))}),ue("span",{ref_key:"navbarBrand",ref:r},[ee(Oh)],512),ue("div",{class:"navbar-items-wrapper",style:Nn(s.value)},[_e(l.$slots,"before"),ee(Bl,{class:"can-hide"}),_e(l.$slots,"after"),Z(t).colorModeSwitch?(D(),Te(sp,{key:0})):xe("v-if",!0),ee(c)],4)],512)}}}),dp=Ce(fp,[["__file","Navbar.vue"]]),hp={class:"page-meta"},pp={key:0,class:"meta-item edit-link"},mp={key:1,class:"meta-item last-updated"},gp={class:"meta-item-label"},vp={class:"meta-item-info"},_p={key:2,class:"meta-item contributors"},bp={class:"meta-item-label"},yp={class:"meta-item-info"},wp=["title"],Ep=de({__name:"PageMeta",setup(e){const t=()=>{const a=Be(),c=Wt(),u=pt();return j(()=>{if(!(u.value.editLink??a.value.editLink??!0))return null;const{repo:h,docsRepo:g=h,docsBranch:y="main",docsDir:E="",editLinkText:L}=a.value;if(!g)return null;const v=Yh({docsRepo:g,docsBranch:y,docsDir:E,filePathRelative:c.value.filePathRelative,editLinkPattern:u.value.editLinkPattern??a.value.editLinkPattern});return v?{text:L??"Edit this page",link:v}:null})},n=()=>{const a=Be(),c=Wt(),u=pt();return j(()=>{var g,y;return!(u.value.lastUpdated??a.value.lastUpdated??!0)||!((g=c.value.git)!=null&&g.updatedTime)?null:new Date((y=c.value.git)==null?void 0:y.updatedTime).toLocaleString()})},r=()=>{const a=Be(),c=Wt(),u=pt();return j(()=>{var h;return u.value.contributors??a.value.contributors??!0?((h=c.value.git)==null?void 0:h.contributors)??null:null})},o=Be(),s=t(),i=n(),l=r();return(a,c)=>{const u=vt("ClientOnly");return D(),Q("footer",hp,[Z(s)?(D(),Q("div",pp,[ee(mt,{class:"meta-item-label",item:Z(s)},null,8,["item"])])):xe("v-if",!0),Z(i)?(D(),Q("div",mp,[ue("span",gp,Pe(Z(o).lastUpdatedText)+": ",1),ee(u,null,{default:Ie(()=>[ue("span",vp,Pe(Z(i)),1)]),_:1})])):xe("v-if",!0),Z(l)&&Z(l).length?(D(),Q("div",_p,[ue("span",bp,Pe(Z(o).contributorsText)+": ",1),ue("span",yp,[(D(!0),Q(be,null,Pt(Z(l),(f,h)=>(D(),Q(be,{key:h},[ue("span",{class:"contributor",title:`email: ${f.email}`},Pe(f.name),9,wp),h!==Z(l).length-1?(D(),Q(be,{key:0},[Ot(", ")],64)):xe("v-if",!0)],64))),128))])])):xe("v-if",!0)])}}}),Cp=Ce(Ep,[["__file","PageMeta.vue"]]),xp={key:0,class:"page-nav"},Sp={class:"inner"},Lp={key:0,class:"prev"},Tp={key:1,class:"next"},kp=de({__name:"PageNav",setup(e){const t=a=>a===!1?null:he(a)?jo(a):$o(a)?a:!1,n=(a,c,u)=>{const f=a.findIndex(h=>h.link===c);if(f!==-1){const h=a[f+u];return h!=null&&h.link?h:null}for(const h of a)if(h.children){const g=n(h.children,c,u);if(g)return g}return null},r=pt(),o=Uo(),s=Vt(),i=j(()=>{const a=t(r.value.prev);return a!==!1?a:n(o.value,s.path,-1)}),l=j(()=>{const a=t(r.value.next);return a!==!1?a:n(o.value,s.path,1)});return(a,c)=>i.value||l.value?(D(),Q("nav",xp,[ue("p",Sp,[i.value?(D(),Q("span",Lp,[ee(mt,{item:i.value},null,8,["item"])])):xe("v-if",!0),l.value?(D(),Q("span",Tp,[ee(mt,{item:l.value},null,8,["item"])])):xe("v-if",!0)])])):xe("v-if",!0)}}),Ap=Ce(kp,[["__file","PageNav.vue"]]),Pp={class:"page"},Rp={class:"theme-default-content"},Op=de({__name:"Page",setup(e){return(t,n)=>{const r=vt("Content");return D(),Q("main",Pp,[_e(t.$slots,"top"),ue("div",Rp,[_e(t.$slots,"content-top"),ee(r),_e(t.$slots,"content-bottom")]),ee(Cp),ee(Ap),_e(t.$slots,"bottom")])}}}),$p=Ce(Op,[["__file","Page.vue"]]),Ip=["onKeydown"],Mp={class:"sidebar-item-children"},Np=de({__name:"SidebarItem",props:{item:{type:Object,required:!0},depth:{type:Number,required:!1,default:0}},setup(e){const t=e,{item:n,depth:r}=Lo(t),o=Vt(),s=pn(),i=j(()=>Fl(n.value,o)),l=j(()=>({"sidebar-item":!0,"sidebar-heading":r.value===0,active:i.value,collapsible:n.value.collapsible})),a=j(()=>n.value.collapsible?i.value:!0),[c,u]=Fd(a.value),f=g=>{n.value.collapsible&&(g.preventDefault(),u())},h=s.afterEach(g=>{Er(()=>{c.value=a.value})});return Lr(()=>{h()}),(g,y)=>{var L;const E=vt("SidebarItem",!0);return D(),Q("li",null,[Z(n).link?(D(),Te(mt,{key:0,class:Ue(l.value),item:Z(n)},null,8,["class","item"])):(D(),Q("p",{key:1,tabindex:"0",class:Ue(l.value),onClick:f,onKeydown:vu(f,["enter"])},[Ot(Pe(Z(n).text)+" ",1),Z(n).collapsible?(D(),Q("span",{key:0,class:Ue(["arrow",Z(c)?"down":"right"])},null,2)):xe("v-if",!0)],42,Ip)),(L=Z(n).children)!=null&&L.length?(D(),Te(Hl,{key:2},{default:Ie(()=>[ur(ue("ul",Mp,[(D(!0),Q(be,null,Pt(Z(n).children,v=>(D(),Te(E,{key:`${Z(r)}${v.text}${v.link}`,item:v,depth:Z(r)+1},null,8,["item","depth"]))),128))],512),[[mr,Z(c)]])]),_:1})):xe("v-if",!0)])}}}),Hp=Ce(Np,[["__file","SidebarItem.vue"]]),Fp={key:0,class:"sidebar-items"},Dp=de({__name:"SidebarItems",setup(e){const t=Vt(),n=Uo();return Qe(()=>{rt(()=>t.hash,r=>{const o=document.querySelector(".sidebar");if(!o)return;const s=document.querySelector(`.sidebar a.sidebar-item[href="${t.path}${r}"]`);if(!s)return;const{top:i,height:l}=o.getBoundingClientRect(),{top:a,height:c}=s.getBoundingClientRect();ai+l&&s.scrollIntoView(!1)})}),(r,o)=>Z(n).length?(D(),Q("ul",Fp,[(D(!0),Q(be,null,Pt(Z(n),s=>(D(),Te(Hp,{key:`${s.text}${s.link}`,item:s},null,8,["item"]))),128))])):xe("v-if",!0)}}),Bp=Ce(Dp,[["__file","SidebarItems.vue"]]),zp={class:"sidebar"},jp=de({__name:"Sidebar",setup(e){return(t,n)=>(D(),Q("aside",zp,[ee(Bl),_e(t.$slots,"top"),ee(Bp),_e(t.$slots,"bottom")]))}}),Up=Ce(jp,[["__file","Sidebar.vue"]]),Wp=de({__name:"Layout",setup(e){const t=Wt(),n=pt(),r=Be(),o=j(()=>n.value.navbar!==!1&&r.value.navbar!==!1),s=Uo(),i=Ee(!1),l=L=>{i.value=typeof L=="boolean"?L:!i.value},a={x:0,y:0},c=L=>{a.x=L.changedTouches[0].clientX,a.y=L.changedTouches[0].clientY},u=L=>{const v=L.changedTouches[0].clientX-a.x,b=L.changedTouches[0].clientY-a.y;Math.abs(v)>Math.abs(b)&&Math.abs(v)>40&&(v>0&&a.x<=80?l(!0):l(!1))},f=j(()=>[{"no-navbar":!o.value,"no-sidebar":!s.value.length,"sidebar-open":i.value},n.value.pageClass]);let h;Qe(()=>{h=pn().afterEach(()=>{l(!1)})}),Tr(()=>{h()});const g=$l(),y=g.resolve,E=g.pending;return(L,v)=>(D(),Q("div",{class:Ue(["theme-container",f.value]),onTouchstart:c,onTouchend:u},[_e(L.$slots,"navbar",{},()=>[o.value?(D(),Te(dp,{key:0,onToggleSidebar:l},{before:Ie(()=>[_e(L.$slots,"navbar-before")]),after:Ie(()=>[_e(L.$slots,"navbar-after")]),_:3})):xe("v-if",!0)]),ue("div",{class:"sidebar-mask",onClick:v[0]||(v[0]=b=>l(!1))}),_e(L.$slots,"sidebar",{},()=>[ee(Up,null,{top:Ie(()=>[_e(L.$slots,"sidebar-top")]),bottom:Ie(()=>[_e(L.$slots,"sidebar-bottom")]),_:3})]),_e(L.$slots,"page",{},()=>[Z(n).home?(D(),Te(Ph,{key:0})):(D(),Te(zn,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:Z(y),onBeforeLeave:Z(E)},{default:Ie(()=>[(D(),Te($p,{key:Z(t).path},{top:Ie(()=>[_e(L.$slots,"page-top")]),"content-top":Ie(()=>[_e(L.$slots,"page-content-top")]),"content-bottom":Ie(()=>[_e(L.$slots,"page-content-bottom")]),bottom:Ie(()=>[_e(L.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34))}}),qp=Ce(Wp,[["__file","Layout.vue"]]),Kp={class:"theme-container"},Vp={class:"page"},Yp={class:"theme-default-content"},Gp=ue("h1",null,"404",-1),Jp=de({__name:"NotFound",setup(e){const t=Pr(),n=Be(),r=n.value.notFound??["Not Found"],o=()=>r[Math.floor(Math.random()*r.length)],s=n.value.home??t.value,i=n.value.backToHome??"Back to home";return(l,a)=>{const c=vt("RouterLink");return D(),Q("div",Kp,[ue("main",Vp,[ue("div",Yp,[Gp,ue("blockquote",null,Pe(o()),1),ee(c,{to:Z(s)},{default:Ie(()=>[Ot(Pe(Z(i)),1)]),_:1},8,["to"])])])])}}}),Qp=Ce(Jp,[["__file","NotFound.vue"]]);const Zp=Kt({enhance({app:e,router:t}){e.component("Badge",Cd),e.component("CodeGroup",xd),e.component("CodeGroupItem",kd),e.component("AutoLinkExternalIcon",()=>{const r=e.component("ExternalLinkIcon");return r?ge(r):null}),e.component("NavbarSearch",()=>{const r=e.component("Docsearch")||e.component("SearchBox");return r?ge(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await $l().wait(),n(...r))},setup(){Qd(),eh()},layouts:{Layout:qp,NotFound:Qp}}),tr=[Vf,Jf,ed,dd,gd,wd,Zp],Xp=[["v-8daa1a0e","/",{title:"Moduler"},["/README.md"]],["v-3706649a","/404.html",{title:""},[]]];var si=de({name:"Vuepress",setup(){const e=$u();return()=>ge(e.value)}}),em=()=>Xp.reduce((e,[t,n,r,o])=>(e.push({name:t,path:n,component:si,meta:r},{path:n.endsWith("/")?n+"index.html":n.substring(0,n.length-5),redirect:n},...o.map(s=>({path:s===":md"?n.substring(0,n.length-5)+".md":s,redirect:n}))),e),[{name:"404",path:"/:catchAll(.*)",component:si}]),tm=nf,nm=()=>{const e=Bf({history:tm(rl("/")),routes:em(),scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{var r;(t.path!==n.path||n===dt)&&([t.meta._data]=await Promise.all([ft.resolvePageData(t.name),(r=il[t.name])==null?void 0:r.__asyncLoader()]))}),e},rm=e=>{e.component("ClientOnly",No),e.component("Content",Fu)},om=(e,t,n)=>{const r=ti(()=>t.currentRoute.value.path),o=ti(()=>ft.resolveRouteLocale(Zt.value.locales,r.value)),s=Ad(r,()=>t.currentRoute.value.meta._data),i=j(()=>ft.resolveLayouts(n)),l=j(()=>ft.resolveSiteLocaleData(Zt.value,o.value)),a=j(()=>ft.resolvePageFrontmatter(s.value)),c=j(()=>ft.resolvePageHeadTitle(s.value,l.value)),u=j(()=>ft.resolvePageHead(c.value,a.value,l.value)),f=j(()=>ft.resolvePageLang(s.value,l.value)),h=j(()=>ft.resolvePageLayout(s.value,i.value));return e.provide(ku,i),e.provide(ll,s),e.provide(al,a),e.provide(Ru,c),e.provide(cl,u),e.provide(ul,f),e.provide(fl,h),e.provide(Io,o),e.provide(hl,l),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>a.value},$head:{get:()=>u.value},$headTitle:{get:()=>c.value},$lang:{get:()=>f.value},$page:{get:()=>s.value},$routeLocale:{get:()=>o.value},$site:{get:()=>Zt.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>Ho}}),{layouts:i,pageData:s,pageFrontmatter:a,pageHead:u,pageHeadTitle:c,pageLang:f,pageLayout:h,routeLocale:o,siteData:Zt,siteLocaleData:l}},sm=()=>{const e=Pu(),t=Ou(),n=Ee([]),r=()=>{e.value.forEach(s=>{const i=im(s);i&&n.value.push(i)})},o=()=>{document.documentElement.lang=t.value,n.value.forEach(s=>{s.parentNode===document.head&&document.head.removeChild(s)}),n.value.splice(0,n.value.length),e.value.forEach(s=>{const i=lm(s);i!==null&&(document.head.appendChild(i),n.value.push(i))})};jt(Mu,o),Qe(()=>{r(),o(),rt(()=>e.value,o)})},im=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>he(a)?`[${l}=${JSON.stringify(a)}]`:a===!0?`[${l}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(l=>l.innerText===n)||null},lm=([e,t,n])=>{if(!he(e))return null;const r=document.createElement(e);return $o(t)&&Object.entries(t).forEach(([o,s])=>{he(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),he(n)&&r.appendChild(document.createTextNode(n)),r},am=yu,cm=async()=>{var n;const e=am({name:"VuepressApp",setup(){var r;sm();for(const o of tr)(r=o.setup)==null||r.call(o);return()=>[ge(Sl),...tr.flatMap(({rootComponents:o=[]})=>o.map(s=>ge(s)))]}}),t=nm();rm(e),om(e,t,tr);for(const r of tr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Zt}));return e.use(t),{app:e,router:t}};cm().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Ce as _,ue as a,Ot as b,Q as c,cm as createVueApp,ee as d,Mc as e,D as o,vt as r}; diff --git a/assets/back-to-top-8efcbe56.svg b/assets/back-to-top-8efcbe56.svg new file mode 100644 index 0000000..8323678 --- /dev/null +++ b/assets/back-to-top-8efcbe56.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/index.html-34f253f3.js b/assets/index.html-34f253f3.js new file mode 100644 index 0000000..f8fc40c --- /dev/null +++ b/assets/index.html-34f253f3.js @@ -0,0 +1,87 @@ +import{_ as a,r as i,o,c as t,a as e,b as n,d,e as l}from"./app-c95ebecd.js";const c={},r=l(`

Moduler

Moduler helps make the skeletons of your Python project more readable by making it sparse and meta-annotated.

In Moduler, you can

  • Add sections to your functions, classes and modules.
  • Add semantic annotation to your codes. This includes
    • Add examples to your existing codes
    • Add todos for incomplete codes

We believe in this way we can provide much more context information to new contributors who are not familiar with the codebase. It is also important for AI-based agents to understand the codebase and develop it.

How to use

Sections

Putting sections in Moduler is as easy as putting sections in Markdown. You just need to put a # before your section title in a comment environment starting with """. For example,

"""
+# Section 1
+The following is a function.
+"""
+
+
+def foo():
+    pass
+
+
+"""
+# Section 2
+The following is another function.
+"""
+
+
+def bar():
+    pass
+

In this way, foo() and bar() will have sections Section 1 and Section 2 respectively. The sections will also contain the comments under them.

Your section can also contain classes add levels. For example,

"""
+# Top Section
+## Section 1
+"""
+
+
+class Foo:
+    """
+    # Section 1
+    The following is a function.
+    """
+
+    def foo(self):
+        pass
+
+    """
+    # Section 2
+    The following is another function.
+    """
+
+    def bar(self):
+        pass
+
+
+"""
+## Section 2
+"""
+
+
+def baz():
+    pass
+

Section in folder

You add .tree.yml file in a folder to add sections in it. For example, in the following folder

a_folder
+- __init__.py
+- a.py
+- b.py
+- c.py
+- .tree.yml
+

You can put a,b in a section by putting

sections:
+ your section title:
+   - a
+   - b
+default section: you default section title
+

Then a and b will be in the section your section title and c will be in the section you default section title.

Mark examples

You can also add examples to your functions and classes. Just use the @example decorator. For example,

from moduler.decorator import example
+
+
+@example
+def how_to_use_foo():
+    """
+    # Example
+    The following is an example of using \`foo()\`.
+    """
+    foo()
+

Mark todos

In a similar way, you can also mark todos in your code. Just use the @todo decorator. For example,

from moduler.decorator import todo
+
+
+@todo
+def todo_foo():
+    """
+    # Todo
+    The following is a todo.
+    """
+    foo()
+
+
+@todo("This function is buggy. Fix it.")
+def buggy_foo():
+    foo(a=b)
+

Visualize your codebase

You can put the function draw_module_tree() in any of your modules to visualize the tree structure of it. Call it in the __init__.py of your package is recommended.

Installation

You can install Moduler by

pip install git+https://github.com/EvoEvolver/Moduler.git
+

Philosophy behind Moduler

Sparse tree structure

All the programming languages encourage the programmers to put their code in the tree structure. For example, you can put your functions in difference classes, in different files and put the files in different folders. However, it is still very common to put a lot of functions in a single file, in which the codes are arranged in an almost flat structure.

Moduler helps this by adding a zero-cost way to add sections to your functions and classes. It makes another step towards a more tree-like structure of the codebase. We believe this will help the programmers to understand the codebase better.

Literate programming

`,34),u={href:"https://guides.nyu.edu/datascience/literate-prog",target:"_blank",rel:"noopener noreferrer"};function p(v,m){const s=i("ExternalLinkIcon");return o(),t("div",null,[r,e("p",null,[n("Moduler can be regarded as an effort toward the idea - "),e("a",u,[n("literate programming"),d(s)]),n(". We think literate programming gets even more important in the era of AI for it provides more context information for AI-based agents to understand the codebase.")])])}const b=a(c,[["render",p],["__file","index.html.vue"]]);export{b as default}; diff --git a/assets/index.html-aa5047fb.js b/assets/index.html-aa5047fb.js new file mode 100644 index 0000000..eb476f9 --- /dev/null +++ b/assets/index.html-aa5047fb.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-8daa1a0e","path":"/","title":"Moduler","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use","link":"#how-to-use","children":[{"level":3,"title":"Sections","slug":"sections","link":"#sections","children":[]},{"level":3,"title":"Section in folder","slug":"section-in-folder","link":"#section-in-folder","children":[]},{"level":3,"title":"Mark examples","slug":"mark-examples","link":"#mark-examples","children":[]},{"level":3,"title":"Mark todos","slug":"mark-todos","link":"#mark-todos","children":[]}]},{"level":2,"title":"Visualize your codebase","slug":"visualize-your-codebase","link":"#visualize-your-codebase","children":[]},{"level":2,"title":"Installation","slug":"installation","link":"#installation","children":[]},{"level":2,"title":"Philosophy behind Moduler","slug":"philosophy-behind-moduler","link":"#philosophy-behind-moduler","children":[{"level":3,"title":"Sparse tree structure","slug":"sparse-tree-structure","link":"#sparse-tree-structure","children":[]},{"level":3,"title":"Literate programming","slug":"literate-programming","link":"#literate-programming","children":[]}]}],"git":{"updatedTime":null,"contributors":[]},"filePathRelative":"README.md"}');export{e as data}; diff --git a/assets/style-f8de3c48.css b/assets/style-f8de3c48.css new file mode 100644 index 0000000..4c509a6 --- /dev/null +++ b/assets/style-f8de3c48.css @@ -0,0 +1 @@ +:root{--back-to-top-z-index: 5;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3}.back-to-top{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;height:1.2rem;background-color:var(--back-to-top-color);-webkit-mask:url(/assets/back-to-top-8efcbe56.svg) no-repeat;mask:url(/assets/back-to-top-8efcbe56.svg) no-repeat;z-index:var(--back-to-top-z-index)}.back-to-top:hover{background-color:var(--back-to-top-color-hover)}@media (max-width: 959px){.back-to-top{display:none}}@media print{.back-to-top{display:none}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--medium-zoom-z-index: 100;--medium-zoom-bg-color: #ffffff;--medium-zoom-opacity: 1}.medium-zoom-overlay{background-color:var(--medium-zoom-bg-color)!important;z-index:var(--medium-zoom-z-index)}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}:root{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #660000;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416;--code-hl-bg-color: #363b46}html,body{padding:0;margin:0;background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}html{font-size:16px}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;color:var(--c-text)}a{font-weight:500;color:var(--c-text-accent);text-decoration:none;overflow-wrap:break-word}p a code{font-weight:400;color:var(--c-text-accent)}kbd{font-family:var(--font-family-code);color:var(--c-text);background:var(--c-bg-lighter);border:solid .15rem var(--c-border-dark);border-bottom:solid .25rem var(--c-border-dark);border-radius:.15rem;padding:0 .15em}code{font-family:var(--font-family-code);color:var(--c-text-lighter);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--c-bg-light);border-radius:3px;overflow-wrap:break-word;transition:background-color var(--t-color)}blockquote{font-size:1rem;color:var(--c-text-quote);border-left:.2rem solid var(--c-border-dark);margin:1rem 0;padding:.25rem 0 .25rem 1rem;overflow-wrap:break-word}blockquote>p{margin:0}ul,ol{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{a.header-anchor{display:none}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}@media print{a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}}p,ul,ol{line-height:1.7;overflow-wrap:break-word}hr{border:0;border-top:1px solid var(--c-border)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto;transition:border-color var(--t-color)}tr{border-top:1px solid var(--c-border-dark);transition:border-color var(--t-color)}tr:nth-child(2n){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(2n) code{background-color:var(--c-bg-dark)}th,td{padding:.6em 1em;border:1px solid var(--c-border-dark);transition:border-color var(--t-color)}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid var(--c-bg-arrow)}.arrow.down{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--c-bg-arrow)}.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid var(--c-bg-arrow)}.arrow.left{border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:6px solid var(--c-bg-arrow)}.badge{display:inline-block;font-size:14px;font-weight:600;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:var(--c-bg);vertical-align:top;transition:color var(--t-color),background-color var(--t-color)}.badge.tip{background-color:var(--c-badge-tip)}.badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.badge+.badge{margin-left:5px}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:var(--font-family-code);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#ec5975}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.375;padding:1.3rem 1.5rem;margin:.85rem 0;border-radius:6px;overflow:auto}.theme-default-content pre code,.theme-default-content pre[class*=language-] code{color:#fff;padding:0;background-color:transparent!important;border-radius:0;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.theme-default-content .line-number{font-family:var(--font-family-code)}div[class*=language-]{position:relative;background-color:var(--code-bg-color);border-radius:6px}div[class*=language-]:before{content:attr(data-ext);position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:var(--code-ln-color)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent!important;position:relative;z-index:1}div[class*=language-] .highlight-lines{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.375}div[class*=language-] .highlight-lines .highlight-line{background-color:var(--code-hl-bg-color)}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line:before{content:" ";position:absolute;z-index:2;left:0;top:0;display:block;width:var(--code-ln-wrapper-width);height:100%}div[class*=language-].line-numbers-mode pre{margin-left:var(--code-ln-wrapper-width);padding-left:1rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;width:var(--code-ln-wrapper-width);text-align:center;color:var(--code-ln-color);padding-top:1.25rem;line-height:1.375;counter-reset:line-number}div[class*=language-].line-numbers-mode .line-numbers .line-number{position:relative;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:1.375em}div[class*=language-].line-numbers-mode .line-numbers .line-number:before{counter-increment:line-number;content:counter(line-number);font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-ln-wrapper-width);height:100%;border-radius:6px 0 0 6px;border-right:1px solid var(--code-hl-bg-color)}@media (max-width: 419px){.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.code-group__nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-bottom:calc(1.7rem - 6px);padding-left:10px;padding-top:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--code-bg-color)}.code-group__ul{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.code-group__nav-tab{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:#ffffffe6;font-weight:600}.code-group__nav-tab:focus{outline:none}.code-group__nav-tab:focus-visible{outline:1px solid rgba(255,255,255,.9)}.code-group__nav-tab-active{border-bottom:var(--c-brand) 1px solid}@media (max-width: 419px){.code-group__nav{margin-left:-1.5rem;margin-right:-1.5rem;border-radius:0}}.code-group-item{display:none}.code-group-item__active{display:block}.code-group-item>pre{background-color:orange}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{color:var(--c-warning-text-light);background-color:var(--c-warning-bg-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.warning .external-link-icon{--external-link-icon-color: var(--c-warning-text-quote)}.custom-container.danger{border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{color:var(--c-danger-text-light);background-color:var(--c-danger-bg-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.danger .external-link-icon{--external-link-icon-color: var(--c-danger-text-quote)}.custom-container.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.home{padding:var(--navbar-height) 2rem 0;max-width:var(--homepage-width);margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.8rem auto}.home .hero .actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:var(--c-text-lightest)}.home .hero .action-button{display:inline-block;font-size:1.2rem;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;transition:background-color var(--t-color);box-sizing:border-box}.home .hero .action-button.primary{color:var(--c-bg);background-color:var(--c-brand);border-color:var(--c-brand)}.home .hero .action-button.primary:hover{background-color:var(--c-brand-light)}.home .hero .action-button.secondary{color:var(--c-brand);background-color:var(--c-bg);border-color:var(--c-brand)}.home .hero .action-button.secondary:hover{color:var(--c-bg);background-color:var(--c-brand-light)}.home .features{border-top:1px solid var(--c-border);transition:border-color var(--t-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:var(--c-text-light)}.home .feature p{color:var(--c-text-lighter)}.home .theme-default-content{padding:0;margin:0}.home .footer{padding:2.5rem;border-top:1px solid var(--c-border);text-align:center;color:var(--c-text-lighter);transition:border-color var(--t-color)}@media (max-width: 719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width: 419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.page{padding-top:var(--navbar-height);padding-left:var(--sidebar-width)}.navbar{position:fixed;z-index:20;top:0;left:0;right:0;height:var(--navbar-height);box-sizing:border-box;border-bottom:1px solid var(--c-border);background-color:var(--c-bg-navbar);transition:background-color var(--t-color),border-color var(--t-color)}.sidebar{font-size:16px;width:var(--sidebar-width);position:fixed;z-index:10;margin:0;top:var(--navbar-height);left:0;bottom:0;box-sizing:border-box;border-right:1px solid var(--c-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-brand) var(--c-border);background-color:var(--c-bg-sidebar);transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color)}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background-color:var(--c-border)}.sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.sidebar-mask{position:fixed;z-index:9;top:0;left:0;width:100vw;height:100vh;display:none}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1),.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.theme-container.no-navbar .theme-default-content h1,.theme-container.no-navbar .theme-default-content h2,.theme-container.no-navbar .theme-default-content h3,.theme-container.no-navbar .theme-default-content h4,.theme-container.no-navbar .theme-default-content h5,.theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .page{padding-top:0}.theme-container.no-navbar .sidebar{top:0}.theme-container.no-sidebar .sidebar{display:none}@media (max-width: 719px){.theme-container.no-sidebar .sidebar{display:block}}.theme-container.no-sidebar .page{padding-left:0}.theme-default-content a:hover{text-decoration:underline}.theme-default-content img{max-width:100%}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));padding-top:calc(1rem + var(--navbar-height));margin-bottom:0}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 959px){.sidebar{font-size:15px;width:var(--sidebar-width-mobile)}.page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translate(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width: 419px){h1{font-size:1.9rem}}.navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );padding:var(--navbar-padding-v) var(--navbar-padding-h);line-height:var(--navbar-line-height)}.navbar .logo{height:var(--navbar-line-height);margin-right:var(--navbar-padding-v);vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:var(--c-text);position:relative}.navbar .navbar-items-wrapper{display:flex;position:absolute;box-sizing:border-box;top:var(--navbar-padding-v);right:var(--navbar-padding-h);height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);white-space:nowrap;font-size:.9rem}.navbar .navbar-items-wrapper .search-box{flex:0 0 auto;vertical-align:top}@media screen and (max-width: 719px){.navbar{padding-left:4rem}.navbar .site-name{display:block;width:calc(100vw - 11rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.navbar .can-hide{display:none}}.navbar-items{display:inline-block}@media print{.navbar-items{display:none}}.navbar-items a{display:inline-block;line-height:1.4rem;color:inherit}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text)}.navbar-items .navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}.navbar-items .navbar-item:first-child{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:-2px;border-bottom:2px solid var(--c-text-accent)}@media (max-width: 719px){.navbar-items .navbar-item{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:0;border-bottom:none}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text-accent)}}.toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.toggle-sidebar-button .icon{display:flex;flex-direction:column;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;cursor:inherit}.toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--c-text);transition:transform var(--t-transform)}.toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}@media screen and (max-width: 719px){.toggle-sidebar-button{display:block}}.toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--c-text);opacity:.8;cursor:pointer}@media print{.toggle-color-mode-button{display:none}}.toggle-color-mode-button:hover{opacity:1}.toggle-color-mode-button .icon{width:1.25rem;height:1.25rem}.DocSearch{transition:background-color var(--t-color)}.navbar-dropdown-wrapper{cursor:pointer}.navbar-dropdown-wrapper .navbar-dropdown-title,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:var(--c-text)}.navbar-dropdown-wrapper .navbar-dropdown-title:hover,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{border-color:transparent}.navbar-dropdown-wrapper .navbar-dropdown-title .arrow,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:none;font-weight:600;font-size:inherit}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item{color:inherit;line-height:1.7rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{margin:.45rem 0 0;border-top:1px solid var(--c-border);padding:1rem 0 .45rem;font-size:.9rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a{font-weight:inherit}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a.router-link-active:after{display:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper .navbar-dropdown-subitem{font-size:.9em}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a:hover,.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid var(--c-text-accent);border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item:first-child .navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title-mobile{margin-bottom:.5rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:none}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:block}.navbar-dropdown-wrapper.mobile .navbar-dropdown{transition:height .1s ease-out;overflow:hidden}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{border-top:0;margin-top:0;padding-top:0;padding-bottom:0}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle,.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item>a{font-size:15px;line-height:2rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem{font-size:14px;padding-left:1rem}.navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.navbar-dropdown-wrapper:not(.mobile):hover .navbar-dropdown,.navbar-dropdown-wrapper:not(.mobile).open .navbar-dropdown{display:block!important}.navbar-dropdown-wrapper:not(.mobile).open:blur{display:none}.navbar-dropdown-wrapper:not(.mobile) .navbar-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--c-bg-navbar);padding:.6rem 0;border:1px solid var(--c-border);border-bottom-color:var(--c-border-dark);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}.page{padding-bottom:2rem;display:block}.page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.page .theme-default-content{padding:2rem}}@media (max-width: 419px){.page .theme-default-content{padding:1.5rem}}.page-meta{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem;overflow:auto}@media (max-width: 959px){.page-meta{padding:2rem}}@media (max-width: 419px){.page-meta{padding:1.5rem}}.page-meta .meta-item{cursor:default;margin-top:.8rem}.page-meta .meta-item .meta-item-label{font-weight:500;color:var(--c-text-lighter)}.page-meta .meta-item .meta-item-info{font-weight:400;color:var(--c-text-quote)}.page-meta .edit-link{display:inline-block;margin-right:.25rem}@media print{.page-meta .edit-link{display:none}}.page-meta .last-updated{float:right}@media (max-width: 719px){.page-meta .last-updated{font-size:.8em;float:none}.page-meta .contributors{font-size:.8em}}.page-nav{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem 2rem;padding-bottom:0}@media (max-width: 959px){.page-nav{padding:2rem}}@media (max-width: 419px){.page-nav{padding:1.5rem}}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid var(--c-border);transition:border-color var(--t-color);padding-top:1rem;overflow:auto}.page-nav .prev a:before{content:"←"}.page-nav .next{float:right}.page-nav .next a:after{content:"→"}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .navbar-items{display:none;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color);padding:.5rem 0 .75rem}.sidebar .navbar-items a{font-weight:600}.sidebar .navbar-items .navbar-item{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-items{padding:1.5rem 0}@media (max-width: 719px){.sidebar .navbar-items{display:block}.sidebar .navbar-items .navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar .sidebar-items{padding:1rem 0}}.sidebar-item{cursor:default;border-left:.25rem solid transparent;color:var(--c-text)}.sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.sidebar-item.active:not(p.sidebar-heading){font-weight:600;color:var(--c-text-accent);border-left-color:var(--c-text-accent)}.sidebar-item.sidebar-heading{transition:color .15s ease;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-item.sidebar-heading+.sidebar-item-children{transition:height .1s ease-out;overflow:hidden;margin-bottom:.75rem}.sidebar-item.collapsible{cursor:pointer}.sidebar-item.collapsible .arrow{position:relative;top:-.12em;left:.5em}.sidebar-item:not(.sidebar-heading){font-size:1em;font-weight:400;display:inline-block;margin:0;padding:.35rem 1rem .35rem 2rem;line-height:1.4;width:100%;box-sizing:border-box}.sidebar-item:not(.sidebar-heading)+.sidebar-item-children{padding-left:1rem;font-size:.95em}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading).active{font-weight:500;border-left-color:transparent}a.sidebar-heading+.sidebar-item-children .sidebar-item:not(.sidebar-heading).active{border-left-color:transparent}a.sidebar-item{cursor:pointer}a.sidebar-item:hover{color:var(--c-text-accent)}.table-of-contents .badge{vertical-align:middle}.dropdown-enter-from,.dropdown-leave-to{height:0!important}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{transform:translateY(10px);opacity:0}:root{--c-brand: #2570b4;--c-brand-light: #2e75b6;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #5d98e1;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #660000;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px}.back-to-top{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgba(9, 10, 17, .8);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.external-link-icon{--external-link-icon-color: var(--c-text-quote)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}#nprogress{--nprogress-color: var(--c-brand)}.pwa-popup{--pwa-popup-text-color: var(--c-text);--pwa-popup-bg-color: var(--c-bg);--pwa-popup-border-color: var(--c-brand);--pwa-popup-shadow: 0 4px 16px var(--c-brand);--pwa-popup-btn-text-color: var(--c-bg);--pwa-popup-btn-bg-color: var(--c-brand);--pwa-popup-btn-hover-bg-color: var(--c-brand-light)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #73a9d9;--c-brand-light: #a8c4e0;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #5d83a8;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416;--code-hl-bg-color: #363b46}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgba(3, 4, 9, .3);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgba(73, 76, 106, .5), 0 -4px 8px 0 rgba(0, 0, 0, .2)} diff --git a/image/favicon.ico b/image/favicon.ico new file mode 100644 index 0000000..9ceb642 Binary files /dev/null and b/image/favicon.ico differ diff --git a/image/logo.svg b/image/logo.svg new file mode 100644 index 0000000..d6e7c57 --- /dev/null +++ b/image/logo.svg @@ -0,0 +1,18 @@ + + + + + background + + + + + + + Layer 1 + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..7d728b4 --- /dev/null +++ b/index.html @@ -0,0 +1,119 @@ + + + + + + + + + Moduler + + + + +

Moduler

Moduler helps make the skeletons of your Python project more readable by making it sparse and meta-annotated.

In Moduler, you can

  • Add sections to your functions, classes and modules.
  • Add semantic annotation to your codes. This includes
    • Add examples to your existing codes
    • Add todos for incomplete codes

We believe in this way we can provide much more context information to new contributors who are not familiar with the codebase. It is also important for AI-based agents to understand the codebase and develop it.

How to use

Sections

Putting sections in Moduler is as easy as putting sections in Markdown. You just need to put a # before your section title in a comment environment starting with """. For example,

"""
+# Section 1
+The following is a function.
+"""
+
+
+def foo():
+    pass
+
+
+"""
+# Section 2
+The following is another function.
+"""
+
+
+def bar():
+    pass
+

In this way, foo() and bar() will have sections Section 1 and Section 2 respectively. The sections will also contain the comments under them.

Your section can also contain classes add levels. For example,

"""
+# Top Section
+## Section 1
+"""
+
+
+class Foo:
+    """
+    # Section 1
+    The following is a function.
+    """
+
+    def foo(self):
+        pass
+
+    """
+    # Section 2
+    The following is another function.
+    """
+
+    def bar(self):
+        pass
+
+
+"""
+## Section 2
+"""
+
+
+def baz():
+    pass
+

Section in folder

You add .tree.yml file in a folder to add sections in it. For example, in the following folder

a_folder
+- __init__.py
+- a.py
+- b.py
+- c.py
+- .tree.yml
+

You can put a,b in a section by putting

sections:
+ your section title:
+   - a
+   - b
+default section: you default section title
+

Then a and b will be in the section your section title and c will be in the section you default section title.

Mark examples

You can also add examples to your functions and classes. Just use the @example decorator. For example,

from moduler.decorator import example
+
+
+@example
+def how_to_use_foo():
+    """
+    # Example
+    The following is an example of using `foo()`.
+    """
+    foo()
+

Mark todos

In a similar way, you can also mark todos in your code. Just use the @todo decorator. For example,

from moduler.decorator import todo
+
+
+@todo
+def todo_foo():
+    """
+    # Todo
+    The following is a todo.
+    """
+    foo()
+
+
+@todo("This function is buggy. Fix it.")
+def buggy_foo():
+    foo(a=b)
+

Visualize your codebase

You can put the function draw_module_tree() in any of your modules to visualize the tree structure of it. Call it in the __init__.py of your package is recommended.

Installation

You can install Moduler by

pip install git+https://github.com/EvoEvolver/Moduler.git
+

Philosophy behind Moduler

Sparse tree structure

All the programming languages encourage the programmers to put their code in the tree structure. For example, you can put your functions in difference classes, in different files and put the files in different folders. However, it is still very common to put a lot of functions in a single file, in which the codes are arranged in an almost flat structure.

Moduler helps this by adding a zero-cost way to add sections to your functions and classes. It makes another step towards a more tree-like structure of the codebase. We believe this will help the programmers to understand the codebase better.

Literate programming

Moduler can be regarded as an effort toward the idea - literate programmingopen in new window. We think literate programming gets even more important in the era of AI for it provides more context information for AI-based agents to understand the codebase.

+ + +