From fcb949880a2358bf3ecbf9c5dec0349ee4e2bf93 Mon Sep 17 00:00:00 2001 From: Paul N Date: Fri, 18 Aug 2023 14:57:11 -0700 Subject: [PATCH] update Vue page --- assets/Node-3013b930.svg | 8 ++++++++ assets/index-30deca45.css | 1 + assets/index-877b973b.css | 1 - assets/{index-89cd45a4.js => index-95a62034.js} | 2 +- index.html | 4 ++-- 5 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 assets/Node-3013b930.svg create mode 100644 assets/index-30deca45.css delete mode 100644 assets/index-877b973b.css rename assets/{index-89cd45a4.js => index-95a62034.js} (57%) diff --git a/assets/Node-3013b930.svg b/assets/Node-3013b930.svg new file mode 100644 index 0000000..ec5b309 --- /dev/null +++ b/assets/Node-3013b930.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/assets/index-30deca45.css b/assets/index-30deca45.css new file mode 100644 index 0000000..b5793ca --- /dev/null +++ b/assets/index-30deca45.css @@ -0,0 +1 @@ +:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background:linear-gradient(90deg,rgb(20,20,20),#242424 20%,#242424 80%,rgb(20,20,20) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#2fe;text-decoration:inherit}a:hover{color:#7fd}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}h1,h2,h3,h4,h5,h6{color:#08a008;text-shadow:4px 4px 3px black}img{filter:drop-shadow(0 0 1.2em black);transition:transform .4s}img:hover{transform:scale(1.1)}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;text-shadow:2px 2px 2px black}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}img[data-v-27d756da]{border-radius:45px;width:8em;padding:1em}p[data-v-27d756da]{opacity:0;font-size:.4em;transition:opacity 1.2s,font-size 1s}table[data-v-27d756da]{margin-left:auto;margin-right:auto;text-align:left;max-width:80%}td[data-v-27d756da]{vertical-align:top}td.text-cell[data-v-27d756da]{width:70%}.focused[data-v-27d756da]{font-size:1em;opacity:1;transition:opacity 2.4s,font-size 1s}ul[data-v-953b8a40]{list-style-type:square;margin-left:18vw;text-align:left}ul.grid[data-v-953b8a40]{display:grid;grid-template-columns:1fr 1fr}h3[data-v-953b8a40]{margin-left:18vw;text-align:left}h4[data-v-953b8a40]{margin-left:20vw;text-align:left}img[data-v-b4ac3716]{padding:.8em}p[data-v-b4ac3716]{width:68vw;margin-left:auto;margin-right:auto}div.fit[data-v-b4ac3716]{height:auto;margin:auto;display:block}.fit img[data-v-b4ac3716]{width:68vw}p[data-v-8202beaf]{width:68vw;margin-left:auto;margin-right:auto;transition:transform .4s}table[data-v-8202beaf]{max-width:80%;margin-left:auto;margin-right:auto}table[data-v-8202beaf],td[data-v-8202beaf]{text-align:left;border:1px solid black}td[data-v-8202beaf]{padding:20px}.banner[data-v-8202beaf]{width:68vw}.focused[data-v-8202beaf]{transform:scale(1.8)}.logo[data-v-8202beaf]{height:4em;padding:1em}.logo[data-v-8202beaf]:hover{transform:scale(1.4)}.active[data-v-33e25f85]{filter:drop-shadow(0 0 1em green)}.fade-enter-active[data-v-33e25f85],.fade-leave-active[data-v-33e25f85]{transition:all .4s ease}.fade-enter-from[data-v-33e25f85]{opacity:0;transform:translateY(-10px)}.fade-leave-to[data-v-33e25f85]{opacity:0;transform:translateY(10px)}.logo[data-v-33e25f85]{height:6em;margin:2.4em;will-change:filter;transition:transform .4s,filter .4s ease-out}.logo[data-v-33e25f85]:hover{filter:drop-shadow(0 0 1.2em blue)} diff --git a/assets/index-877b973b.css b/assets/index-877b973b.css deleted file mode 100644 index c6453ec..0000000 --- a/assets/index-877b973b.css +++ /dev/null @@ -1 +0,0 @@ -:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background:linear-gradient(90deg,rgb(20,20,20),#242424 20%,#242424 80%,rgb(20,20,20) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}h1,h2,h3,h4,h5,h6{color:green;text-shadow:4px 4px 3px black}img{filter:drop-shadow(0 0 1.2em black);transition:transform .4s}img:hover{transform:scale(1.1)}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;text-shadow:2px 2px 2px black}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}img[data-v-27d756da]{border-radius:45px;width:8em;padding:1em}p[data-v-27d756da]{opacity:0;font-size:.4em;transition:opacity 1.2s,font-size 1s}table[data-v-27d756da]{margin-left:auto;margin-right:auto;text-align:left;max-width:80%}td[data-v-27d756da]{vertical-align:top}td.text-cell[data-v-27d756da]{width:70%}.focused[data-v-27d756da]{font-size:1em;opacity:1;transition:opacity 2.4s,font-size 1s}ul[data-v-8bf5b946]{list-style-type:square;margin-left:18vw;text-align:left}ul.grid[data-v-8bf5b946]{display:grid;grid-template-columns:1fr 1fr}h3[data-v-8bf5b946]{margin-left:18vw;text-align:left}h4[data-v-8bf5b946]{margin-left:20vw;text-align:left}img[data-v-d1308f71]{padding:.8em}p[data-v-d1308f71]{width:68vw;margin-left:auto;margin-right:auto}div.fit[data-v-d1308f71]{height:auto;margin:auto;display:block}.fit img[data-v-d1308f71]{width:68vw}p[data-v-e93f50a4]{width:68vw;margin-left:auto;margin-right:auto;transition:transform .4s}table[data-v-e93f50a4]{max-width:80%;margin-left:auto;margin-right:auto}table[data-v-e93f50a4],td[data-v-e93f50a4]{text-align:left;border:1px solid black}td[data-v-e93f50a4]{padding:20px}.banner[data-v-e93f50a4]{width:68vw}.focused[data-v-e93f50a4]{transform:scale(1.8)}.logo[data-v-e93f50a4]{height:4em;padding:1em}.logo[data-v-e93f50a4]:hover{transform:scale(1.4)}.active[data-v-33e25f85]{filter:drop-shadow(0 0 1em green)}.fade-enter-active[data-v-33e25f85],.fade-leave-active[data-v-33e25f85]{transition:all .4s ease}.fade-enter-from[data-v-33e25f85]{opacity:0;transform:translateY(-10px)}.fade-leave-to[data-v-33e25f85]{opacity:0;transform:translateY(10px)}.logo[data-v-33e25f85]{height:6em;margin:2.4em;will-change:filter;transition:transform .4s,filter .4s ease-out}.logo[data-v-33e25f85]:hover{filter:drop-shadow(0 0 1.2em blue)} diff --git a/assets/index-89cd45a4.js b/assets/index-95a62034.js similarity index 57% rename from assets/index-89cd45a4.js rename to assets/index-95a62034.js index 15b9090..d539457 100644 --- a/assets/index-89cd45a4.js +++ b/assets/index-95a62034.js @@ -1 +1 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function Sn(e,t){const n=Object.create(null),s=e.split(",");for(let i=0;i!!n[i.toLowerCase()]:i=>!!n[i]}function Ln(e){if(F(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ki);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ne(e){let t="";if(Z(e))t=e;else if(F(e))for(let n=0;n{},Ji=()=>!1,Yi=/^on[^a-z]/,Jt=e=>Yi.test(e),Nn=e=>e.startsWith("onUpdate:"),se=Object.assign,jn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Gi=Object.prototype.hasOwnProperty,R=(e,t)=>Gi.call(e,t),F=Array.isArray,xt=e=>Yt(e)==="[object Map]",Qi=e=>Yt(e)==="[object Set]",S=e=>typeof e=="function",Z=e=>typeof e=="string",Rn=e=>typeof e=="symbol",G=e=>e!==null&&typeof e=="object",ks=e=>G(e)&&S(e.then)&&S(e.catch),Xi=Object.prototype.toString,Yt=e=>Xi.call(e),Zi=e=>Yt(e).slice(8,-1),eo=e=>Yt(e)==="[object Object]",Dn=e=>Z(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ht=Sn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},to=/-(\w)/g,Oe=Gt(e=>e.replace(to,(t,n)=>n?n.toUpperCase():"")),no=/\B([A-Z])/g,pt=Gt(e=>e.replace(no,"-$1").toLowerCase()),Qt=Gt(e=>e.charAt(0).toUpperCase()+e.slice(1)),fn=Gt(e=>e?`on${Qt(e)}`:""),Et=(e,t)=>!Object.is(e,t),un=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},so=e=>{const t=parseFloat(e);return isNaN(t)?e:t},io=e=>{const t=Z(e)?Number(e):NaN;return isNaN(t)?e:t};let ls;const oo=()=>ls||(ls=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let ye;class ro{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Us=e=>(e.w&We)>0,Ks=e=>(e.n&We)>0,co=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(p==="length"||p>=f)&&a.push(u)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":F(e)?Dn(n)&&a.push(r.get("length")):(a.push(r.get(nt)),xt(e)&&a.push(r.get(Cn)));break;case"delete":F(e)||(a.push(r.get(nt)),xt(e)&&a.push(r.get(Cn)));break;case"set":xt(e)&&a.push(r.get(nt));break}if(a.length===1)a[0]&&xn(a[0]);else{const f=[];for(const u of a)u&&f.push(...u);xn(Hn(f))}}function xn(e,t){const n=F(e)?e:[...e];for(const s of n)s.computed&&cs(s);for(const s of n)s.computed||cs(s)}function cs(e,t){(e!==Ce||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const uo=Sn("__proto__,__v_isRef,__isVue"),Vs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Rn)),po=kn(),ho=kn(!1,!0),go=kn(!0),fs=mo();function mo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=D(this);for(let o=0,r=this.length;o{e[t]=function(...n){ht();const s=D(this)[t].apply(this,n);return gt(),s}}),e}function bo(e){const t=D(this);return de(t,"has",e),t.hasOwnProperty(e)}function kn(e=!1,t=!1){return function(s,i,o){if(i==="__v_isReactive")return!e;if(i==="__v_isReadonly")return e;if(i==="__v_isShallow")return t;if(i==="__v_raw"&&o===(e?t?So:Qs:t?Gs:Ys).get(s))return s;const r=F(s);if(!e){if(r&&R(fs,i))return Reflect.get(fs,i,o);if(i==="hasOwnProperty")return bo}const a=Reflect.get(s,i,o);return(Rn(i)?Vs.has(i):uo(i))||(e||de(s,"get",i),t)?a:re(a)?r&&Dn(i)?a:a.value:G(a)?e?Xs(a):Wn(a):a}}const vo=qs(),_o=qs(!0);function qs(e=!1){return function(n,s,i,o){let r=n[s];if(ut(r)&&re(r)&&!re(i))return!1;if(!e&&(!zt(i)&&!ut(i)&&(r=D(r),i=D(i)),!F(n)&&re(r)&&!re(i)))return r.value=i,!0;const a=F(n)&&Dn(s)?Number(s)e,Xt=e=>Reflect.getPrototypeOf(e);function St(e,t,n=!1,s=!1){e=e.__v_raw;const i=D(e),o=D(t);n||(t!==o&&de(i,"get",t),de(i,"get",o));const{has:r}=Xt(i),a=s?Un:n?Vn:It;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function Lt(e,t=!1){const n=this.__v_raw,s=D(n),i=D(e);return t||(e!==i&&de(s,"has",e),de(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Nt(e,t=!1){return e=e.__v_raw,!t&&de(D(e),"iterate",nt),Reflect.get(e,"size",e)}function us(e){e=D(e);const t=D(this);return Xt(t).has.call(t,e)||(t.add(e),Le(t,"add",e,e)),this}function ds(e,t){t=D(t);const n=D(this),{has:s,get:i}=Xt(n);let o=s.call(n,e);o||(e=D(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?Et(t,r)&&Le(n,"set",e,t):Le(n,"add",e,t),this}function ps(e){const t=D(this),{has:n,get:s}=Xt(t);let i=n.call(t,e);i||(e=D(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&Le(t,"delete",e,void 0),o}function hs(){const e=D(this),t=e.size!==0,n=e.clear();return t&&Le(e,"clear",void 0,void 0),n}function jt(e,t){return function(s,i){const o=this,r=o.__v_raw,a=D(r),f=t?Un:e?Vn:It;return!e&&de(a,"iterate",nt),r.forEach((u,p)=>s.call(i,f(u),f(p),o))}}function Rt(e,t,n){return function(...s){const i=this.__v_raw,o=D(i),r=xt(o),a=e==="entries"||e===Symbol.iterator&&r,f=e==="keys"&&r,u=i[e](...s),p=n?Un:t?Vn:It;return!t&&de(o,"iterate",f?Cn:nt),{next(){const{value:b,done:y}=u.next();return y?{value:b,done:y}:{value:a?[p(b[0]),p(b[1])]:p(b),done:y}},[Symbol.iterator](){return this}}}}function Re(e){return function(...t){return e==="delete"?!1:this}}function Eo(){const e={get(o){return St(this,o)},get size(){return Nt(this)},has:Lt,add:us,set:ds,delete:ps,clear:hs,forEach:jt(!1,!1)},t={get(o){return St(this,o,!1,!0)},get size(){return Nt(this)},has:Lt,add:us,set:ds,delete:ps,clear:hs,forEach:jt(!1,!0)},n={get(o){return St(this,o,!0)},get size(){return Nt(this,!0)},has(o){return Lt.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:jt(!0,!1)},s={get(o){return St(this,o,!0,!0)},get size(){return Nt(this,!0)},has(o){return Lt.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:jt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Rt(o,!1,!1),n[o]=Rt(o,!0,!1),t[o]=Rt(o,!1,!0),s[o]=Rt(o,!0,!0)}),[e,n,t,s]}const[Io,Mo,Ao,Po]=Eo();function Kn(e,t){const n=t?e?Po:Ao:e?Mo:Io;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(R(n,i)&&i in s?n:s,i,o)}const $o={get:Kn(!1,!1)},Oo={get:Kn(!1,!0)},Fo={get:Kn(!0,!1)},Ys=new WeakMap,Gs=new WeakMap,Qs=new WeakMap,So=new WeakMap;function Lo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return e.__v_skip||!Object.isExtensible(e)?0:Lo(Zi(e))}function Wn(e){return ut(e)?e:zn(e,!1,Js,$o,Ys)}function jo(e){return zn(e,!1,To,Oo,Gs)}function Xs(e){return zn(e,!0,wo,Fo,Qs)}function zn(e,t,n,s,i){if(!G(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=No(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function ct(e){return ut(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function ut(e){return!!(e&&e.__v_isReadonly)}function zt(e){return!!(e&&e.__v_isShallow)}function Zs(e){return ct(e)||ut(e)}function D(e){const t=e&&e.__v_raw;return t?D(t):e}function ei(e){return Wt(e,"__v_skip",!0),e}const It=e=>G(e)?Wn(e):e,Vn=e=>G(e)?Xs(e):e;function ti(e){Ue&&Ce&&(e=D(e),zs(e.dep||(e.dep=Hn())))}function ni(e,t){e=D(e);const n=e.dep;n&&xn(n)}function re(e){return!!(e&&e.__v_isRef===!0)}function qn(e){return Ro(e,!1)}function Ro(e,t){return re(e)?e:new Do(e,t)}class Do{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:D(t),this._value=n?t:It(t)}get value(){return ti(this),this._value}set value(t){const n=this.__v_isShallow||zt(t)||ut(t);t=n?t:D(t),Et(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:It(t),ni(this))}}function Ho(e){return re(e)?e.value:e}const Bo={get:(e,t,n)=>Ho(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return re(i)&&!re(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function si(e){return ct(e)?e:new Proxy(e,Bo)}var ii;class ko{constructor(t,n,s,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[ii]=!1,this._dirty=!0,this.effect=new Bn(t,()=>{this._dirty||(this._dirty=!0,ni(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=D(this);return ti(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}ii="__v_isReadonly";function Uo(e,t,n=!1){let s,i;const o=S(e);return o?(s=e,i=we):(s=e.get,i=e.set),new ko(s,i,o||!i,n)}function Ke(e,t,n,s){let i;try{i=s?e(...s):e()}catch(o){Zt(o,t,n)}return i}function ve(e,t,n,s){if(S(e)){const o=Ke(e,t,n,s);return o&&ks(o)&&o.catch(r=>{Zt(r,t,n)}),o}const i=[];for(let o=0;o>>1;At(oe[s])$e&&oe.splice(t,1)}function qo(e){F(e)?ft.push(...e):(!Se||!Se.includes(e,e.allowRecurse?Ze+1:Ze))&&ft.push(e),ri()}function gs(e,t=Mt?$e+1:0){for(;tAt(n)-At(s)),Ze=0;Zee.id==null?1/0:e.id,Jo=(e,t)=>{const n=At(e)-At(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ai(e){wn=!1,Mt=!0,oe.sort(Jo);const t=we;try{for($e=0;$eZ(A)?A.trim():A)),b&&(i=n.map(so))}let a,f=s[a=fn(t)]||s[a=fn(Oe(t))];!f&&o&&(f=s[a=fn(pt(t))]),f&&ve(f,e,6,i);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ve(u,e,6,i)}}function ci(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!S(e)){const f=u=>{const p=ci(u,t,!0);p&&(a=!0,se(r,p))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!a?(G(e)&&s.set(e,null),null):(F(o)?o.forEach(f=>r[f]=null):se(r,o),G(e)&&s.set(e,r),r)}function en(e,t){return!e||!Jt(t)?!1:(t=t.slice(2).replace(/Once$/,""),R(e,t[0].toLowerCase()+t.slice(1))||R(e,pt(t))||R(e,t))}let be=null,tn=null;function Vt(e){const t=be;return be=e,tn=e&&e.type.__scopeId||null,t}function fi(e){tn=e}function ui(){tn=null}function di(e,t=be,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Es(-1);const o=Vt(t);let r;try{r=e(...i)}finally{Vt(o),s._d&&Es(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function dn(e){const{type:t,vnode:n,proxy:s,withProxy:i,props:o,propsOptions:[r],slots:a,attrs:f,emit:u,render:p,renderCache:b,data:y,setupState:A,ctx:N,inheritAttrs:P}=e;let q,H;const le=Vt(e);try{if(n.shapeFlag&4){const K=i||s;q=Pe(p.call(K,K,b,o,A,y,N)),H=f}else{const K=t;q=Pe(K.length>1?K(o,{attrs:f,slots:a,emit:u}):K(o,null)),H=t.props?f:Go(f)}}catch(K){Tt.length=0,Zt(K,e,1),q=fe(Te)}let O=q;if(H&&P!==!1){const K=Object.keys(H),{shapeFlag:ee}=O;K.length&&ee&7&&(r&&K.some(Nn)&&(H=Qo(H,r)),O=ze(O,H))}return n.dirs&&(O=ze(O),O.dirs=O.dirs?O.dirs.concat(n.dirs):n.dirs),n.transition&&(O.transition=n.transition),q=O,Vt(le),q}const Go=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jt(n))&&((t||(t={}))[n]=e[n]);return t},Qo=(e,t)=>{const n={};for(const s in e)(!Nn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Xo(e,t,n){const{props:s,children:i,component:o}=e,{props:r,children:a,patchFlag:f}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?ms(s,r,u):!!r;if(f&8){const p=t.dynamicProps;for(let b=0;be.__isSuspense;function tr(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):qo(e)}function nr(e,t){if(Q){let n=Q.provides;const s=Q.parent&&Q.parent.provides;s===n&&(n=Q.provides=Object.create(s)),n[e]=t}}function Bt(e,t,n=!1){const s=Q||be;if(s){const i=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&S(t)?t.call(s.proxy):t}}const Dt={};function pn(e,t,n){return pi(e,t,n)}function pi(e,t,{immediate:n,deep:s,flush:i,onTrack:o,onTrigger:r}=z){const a=ao()===(Q==null?void 0:Q.scope)?Q:null;let f,u=!1,p=!1;if(re(e)?(f=()=>e.value,u=zt(e)):ct(e)?(f=()=>e,s=!0):F(e)?(p=!0,u=e.some(O=>ct(O)||zt(O)),f=()=>e.map(O=>{if(re(O))return O.value;if(ct(O))return lt(O);if(S(O))return Ke(O,a,2)})):S(e)?t?f=()=>Ke(e,a,2):f=()=>{if(!(a&&a.isUnmounted))return b&&b(),ve(e,a,3,[y])}:f=we,t&&s){const O=f;f=()=>lt(O())}let b,y=O=>{b=H.onStop=()=>{Ke(O,a,4)}},A;if($t)if(y=we,t?n&&ve(t,a,3,[f(),p?[]:void 0,y]):f(),i==="sync"){const O=Zr();A=O.__watcherHandles||(O.__watcherHandles=[])}else return we;let N=p?new Array(e.length).fill(Dt):Dt;const P=()=>{if(H.active)if(t){const O=H.run();(s||u||(p?O.some((K,ee)=>Et(K,N[ee])):Et(O,N)))&&(b&&b(),ve(t,a,3,[O,N===Dt?void 0:p&&N[0]===Dt?[]:N,y]),N=O)}else H.run()};P.allowRecurse=!!t;let q;i==="sync"?q=P:i==="post"?q=()=>ue(P,a&&a.suspense):(P.pre=!0,a&&(P.id=a.uid),q=()=>Yn(P));const H=new Bn(f,q);t?n?P():N=H.run():i==="post"?ue(H.run.bind(H),a&&a.suspense):H.run();const le=()=>{H.stop(),a&&a.scope&&jn(a.scope.effects,H)};return A&&A.push(le),le}function sr(e,t,n){const s=this.proxy,i=Z(e)?e.includes(".")?hi(s,e):()=>s[e]:e.bind(s,s);let o;S(t)?o=t:(o=t.handler,n=t);const r=Q;dt(this);const a=pi(i,o.bind(s),n);return r?dt(r):st(),a}function hi(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i{lt(n,t)});else if(eo(e))for(const n in e)lt(e[n],t);return e}function ir(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return _i(()=>{e.isMounted=!0}),yi(()=>{e.isUnmounting=!0}),e}const ge=[Function,Array],or={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ge,onEnter:ge,onAfterEnter:ge,onEnterCancelled:ge,onBeforeLeave:ge,onLeave:ge,onAfterLeave:ge,onLeaveCancelled:ge,onBeforeAppear:ge,onAppear:ge,onAfterAppear:ge,onAppearCancelled:ge},setup(e,{slots:t}){const n=Kr(),s=ir();let i;return()=>{const o=t.default&&bi(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const P of o)if(P.type!==Te){r=P;break}}const a=D(e),{mode:f}=a;if(s.isLeaving)return hn(r);const u=bs(r);if(!u)return hn(r);const p=Tn(u,a,s,n);En(u,p);const b=n.subTree,y=b&&bs(b);let A=!1;const{getTransitionKey:N}=u.type;if(N){const P=N();i===void 0?i=P:P!==i&&(i=P,A=!0)}if(y&&y.type!==Te&&(!et(u,y)||A)){const P=Tn(y,a,s,n);if(En(y,P),f==="out-in")return s.isLeaving=!0,P.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},hn(r);f==="in-out"&&u.type!==Te&&(P.delayLeave=(q,H,le)=>{const O=mi(s,y);O[String(y.key)]=y,q._leaveCb=()=>{H(),q._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=le})}return r}}},gi=or;function mi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Tn(e,t,n,s){const{appear:i,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:f,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:b,onLeave:y,onAfterLeave:A,onLeaveCancelled:N,onBeforeAppear:P,onAppear:q,onAfterAppear:H,onAppearCancelled:le}=t,O=String(e.key),K=mi(n,e),ee=(L,J)=>{L&&ve(L,s,9,J)},je=(L,J)=>{const W=J[1];ee(L,J),F(L)?L.every(ie=>ie.length<=1)&&W():L.length<=1&&W()},Ee={mode:o,persisted:r,beforeEnter(L){let J=a;if(!n.isMounted)if(i)J=P||a;else return;L._leaveCb&&L._leaveCb(!0);const W=K[O];W&&et(e,W)&&W.el._leaveCb&&W.el._leaveCb(),ee(J,[L])},enter(L){let J=f,W=u,ie=p;if(!n.isMounted)if(i)J=q||f,W=H||u,ie=le||p;else return;let E=!1;const V=L._enterCb=pe=>{E||(E=!0,pe?ee(ie,[L]):ee(W,[L]),Ee.delayedLeave&&Ee.delayedLeave(),L._enterCb=void 0)};J?je(J,[L,V]):V()},leave(L,J){const W=String(e.key);if(L._enterCb&&L._enterCb(!0),n.isUnmounting)return J();ee(b,[L]);let ie=!1;const E=L._leaveCb=V=>{ie||(ie=!0,J(),V?ee(N,[L]):ee(A,[L]),L._leaveCb=void 0,K[W]===e&&delete K[W])};K[W]=e,y?je(y,[L,E]):E()},clone(L){return Tn(L,t,n,s)}};return Ee}function hn(e){if(sn(e))return e=ze(e),e.children=null,e}function bs(e){return sn(e)?e.children?e.children[0]:void 0:e}function En(e,t){e.shapeFlag&6&&e.component?En(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 bi(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,sn=e=>e.type.__isKeepAlive;function rr(e,t){vi(e,"a",t)}function lr(e,t){vi(e,"da",t)}function vi(e,t,n=Q){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(on(t,s,n),n){let i=n.parent;for(;i&&i.parent;)sn(i.parent.vnode)&&ar(s,t,n,i),i=i.parent}}function ar(e,t,n,s){const i=on(t,e,s,!0);Ci(()=>{jn(s[t],i)},n)}function on(e,t,n=Q,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;ht(),dt(n);const a=ve(t,n,e,r);return st(),gt(),a});return s?i.unshift(o):i.push(o),o}}const Ne=e=>(t,n=Q)=>(!$t||e==="sp")&&on(e,(...s)=>t(...s),n),cr=Ne("bm"),_i=Ne("m"),fr=Ne("bu"),ur=Ne("u"),yi=Ne("bum"),Ci=Ne("um"),dr=Ne("sp"),pr=Ne("rtg"),hr=Ne("rtc");function gr(e,t=Q){on("ec",e,t)}function Je(e,t,n,s){const i=e.dirs,o=t&&t.dirs;for(let r=0;re?Ni(e)?es(e)||e.proxy:In(e.parent):null,wt=se(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=>In(e.parent),$root:e=>In(e.root),$emit:e=>e.emit,$options:e=>Gn(e),$forceUpdate:e=>e.f||(e.f=()=>Yn(e.update)),$nextTick:e=>e.n||(e.n=Wo.bind(e.proxy)),$watch:e=>sr.bind(e)}),gn=(e,t)=>e!==z&&!e.__isScriptSetup&&R(e,t),vr={get({_:e},t){const{ctx:n,setupState:s,data:i,props:o,accessCache:r,type:a,appContext:f}=e;let u;if(t[0]!=="$"){const A=r[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(gn(s,t))return r[t]=1,s[t];if(i!==z&&R(i,t))return r[t]=2,i[t];if((u=e.propsOptions[0])&&R(u,t))return r[t]=3,o[t];if(n!==z&&R(n,t))return r[t]=4,n[t];Mn&&(r[t]=0)}}const p=wt[t];let b,y;if(p)return t==="$attrs"&&de(e,"get",t),p(e);if((b=a.__cssModules)&&(b=b[t]))return b;if(n!==z&&R(n,t))return r[t]=4,n[t];if(y=f.config.globalProperties,R(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return gn(i,t)?(i[t]=n,!0):s!==z&&R(s,t)?(s[t]=n,!0):R(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},r){let a;return!!n[r]||e!==z&&R(e,r)||gn(t,r)||(a=o[0])&&R(a,r)||R(s,r)||R(wt,r)||R(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:R(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Mn=!0;function _r(e){const t=Gn(e),n=e.proxy,s=e.ctx;Mn=!1,t.beforeCreate&&_s(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:f,inject:u,created:p,beforeMount:b,mounted:y,beforeUpdate:A,updated:N,activated:P,deactivated:q,beforeDestroy:H,beforeUnmount:le,destroyed:O,unmounted:K,render:ee,renderTracked:je,renderTriggered:Ee,errorCaptured:L,serverPrefetch:J,expose:W,inheritAttrs:ie,components:E,directives:V,filters:pe}=t;if(u&&yr(u,s,null,e.appContext.config.unwrapInjectedRef),r)for(const Y in r){const k=r[Y];S(k)&&(s[Y]=k.bind(n))}if(i){const Y=i.call(n,n);G(Y)&&(e.data=Wn(Y))}if(Mn=!0,o)for(const Y in o){const k=o[Y],Ve=S(k)?k.bind(n,n):S(k.get)?k.get.bind(n,n):we,Ot=!S(k)&&S(k.set)?k.set.bind(n):we,qe=Gr({get:Ve,set:Ot});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>qe.value,set:Ie=>qe.value=Ie})}if(a)for(const Y in a)Ti(a[Y],s,n,Y);if(f){const Y=S(f)?f.call(n):f;Reflect.ownKeys(Y).forEach(k=>{nr(k,Y[k])})}p&&_s(p,e,"c");function te(Y,k){F(k)?k.forEach(Ve=>Y(Ve.bind(n))):k&&Y(k.bind(n))}if(te(cr,b),te(_i,y),te(fr,A),te(ur,N),te(rr,P),te(lr,q),te(gr,L),te(hr,je),te(pr,Ee),te(yi,le),te(Ci,K),te(dr,J),F(W))if(W.length){const Y=e.exposed||(e.exposed={});W.forEach(k=>{Object.defineProperty(Y,k,{get:()=>n[k],set:Ve=>n[k]=Ve})})}else e.exposed||(e.exposed={});ee&&e.render===we&&(e.render=ee),ie!=null&&(e.inheritAttrs=ie),E&&(e.components=E),V&&(e.directives=V)}function yr(e,t,n=we,s=!1){F(e)&&(e=An(e));for(const i in e){const o=e[i];let r;G(o)?"default"in o?r=Bt(o.from||i,o.default,!0):r=Bt(o.from||i):r=Bt(o),re(r)&&s?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[i]=r}}function _s(e,t,n){ve(F(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ti(e,t,n,s){const i=s.includes(".")?hi(n,s):()=>n[s];if(Z(e)){const o=t[e];S(o)&&pn(i,o)}else if(S(e))pn(i,e.bind(n));else if(G(e))if(F(e))e.forEach(o=>Ti(o,t,n,s));else{const o=S(e.handler)?e.handler.bind(n):t[e.handler];S(o)&&pn(i,o,e)}}function Gn(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let f;return a?f=a:!i.length&&!n&&!s?f=t:(f={},i.length&&i.forEach(u=>qt(f,u,r,!0)),qt(f,t,r)),G(t)&&o.set(t,f),f}function qt(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&qt(e,o,n,!0),i&&i.forEach(r=>qt(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=Cr[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const Cr={data:ys,props:Xe,emits:Xe,methods:Xe,computed:Xe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Xe,directives:Xe,watch:wr,provide:ys,inject:xr};function ys(e,t){return t?e?function(){return se(S(e)?e.call(this,this):e,S(t)?t.call(this,this):t)}:t:e}function xr(e,t){return Xe(An(e),An(t))}function An(e){if(F(e)){const t={};for(let n=0;n0)&&!(r&16)){if(r&8){const p=e.vnode.dynamicProps;for(let b=0;b{f=!0;const[y,A]=Ii(b,t,!0);se(r,y),A&&a.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!o&&!f)return G(e)&&s.set(e,at),at;if(F(o))for(let p=0;p-1,A[1]=P<0||N-1||R(A,"default"))&&a.push(b)}}}const u=[r,a];return G(e)&&s.set(e,u),u}function Cs(e){return e[0]!=="$"}function xs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ws(e,t){return xs(e)===xs(t)}function Ts(e,t){return F(t)?t.findIndex(n=>ws(n,e)):S(t)&&ws(t,e)?0:-1}const Mi=e=>e[0]==="_"||e==="$stable",Qn=e=>F(e)?e.map(Pe):[Pe(e)],Ir=(e,t,n)=>{if(t._n)return t;const s=di((...i)=>Qn(t(...i)),n);return s._c=!1,s},Ai=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Mi(i))continue;const o=e[i];if(S(o))t[i]=Ir(i,o,s);else if(o!=null){const r=Qn(o);t[i]=()=>r}}},Pi=(e,t)=>{const n=Qn(t);e.slots.default=()=>n},Mr=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=D(t),Wt(t,"_",n)):Ai(t,e.slots={})}else e.slots={},t&&Pi(e,t);Wt(e.slots,ln,1)},Ar=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,r=z;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:(se(i,t),!n&&a===1&&delete i._):(o=!t.$stable,Ai(t,i)),r=t}else t&&(Pi(e,t),r={default:1});if(o)for(const a in i)!Mi(a)&&!(a in r)&&delete i[a]};function $i(){return{app:null,config:{isNativeTag:Ji,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Pr=0;function $r(e,t){return function(s,i=null){S(s)||(s=Object.assign({},s)),i!=null&&!G(i)&&(i=null);const o=$i(),r=new Set;let a=!1;const f=o.app={_uid:Pr++,_component:s,_props:i,_container:null,_context:o,_instance:null,version:el,get config(){return o.config},set config(u){},use(u,...p){return r.has(u)||(u&&S(u.install)?(r.add(u),u.install(f,...p)):S(u)&&(r.add(u),u(f,...p))),f},mixin(u){return o.mixins.includes(u)||o.mixins.push(u),f},component(u,p){return p?(o.components[u]=p,f):o.components[u]},directive(u,p){return p?(o.directives[u]=p,f):o.directives[u]},mount(u,p,b){if(!a){const y=fe(s,i);return y.appContext=o,p&&t?t(y,u):e(y,u,b),a=!0,f._container=u,u.__vue_app__=f,es(y.component)||y.component.proxy}},unmount(){a&&(e(null,f._container),delete f._container.__vue_app__)},provide(u,p){return o.provides[u]=p,f}};return f}}function $n(e,t,n,s,i=!1){if(F(e)){e.forEach((y,A)=>$n(y,t&&(F(t)?t[A]:t),n,s,i));return}if(kt(s)&&!i)return;const o=s.shapeFlag&4?es(s.component)||s.component.proxy:s.el,r=i?null:o,{i:a,r:f}=e,u=t&&t.r,p=a.refs===z?a.refs={}:a.refs,b=a.setupState;if(u!=null&&u!==f&&(Z(u)?(p[u]=null,R(b,u)&&(b[u]=null)):re(u)&&(u.value=null)),S(f))Ke(f,a,12,[r,p]);else{const y=Z(f),A=re(f);if(y||A){const N=()=>{if(e.f){const P=y?R(b,f)?b[f]:p[f]:f.value;i?F(P)&&jn(P,o):F(P)?P.includes(o)||P.push(o):y?(p[f]=[o],R(b,f)&&(b[f]=p[f])):(f.value=[o],e.k&&(p[e.k]=f.value))}else y?(p[f]=r,R(b,f)&&(b[f]=r)):A&&(f.value=r,e.k&&(p[e.k]=r))};r?(N.id=-1,ue(N,n)):N()}}}const ue=tr;function Or(e){return Fr(e)}function Fr(e,t){const n=oo();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:r,createText:a,createComment:f,setText:u,setElementText:p,parentNode:b,nextSibling:y,setScopeId:A=we,insertStaticContent:N}=e,P=(l,c,d,g=null,h=null,_=null,x=!1,v=null,C=!!c.dynamicChildren)=>{if(l===c)return;l&&!et(l,c)&&(g=Ft(l),Ie(l,h,_,!0),l=null),c.patchFlag===-2&&(C=!1,c.dynamicChildren=null);const{type:m,ref:I,shapeFlag:w}=c;switch(m){case rn:q(l,c,d,g);break;case Te:H(l,c,d,g);break;case Ut:l==null&&le(c,d,g,x);break;case me:E(l,c,d,g,h,_,x,v,C);break;default:w&1?ee(l,c,d,g,h,_,x,v,C):w&6?V(l,c,d,g,h,_,x,v,C):(w&64||w&128)&&m.process(l,c,d,g,h,_,x,v,C,ot)}I!=null&&h&&$n(I,l&&l.ref,_,c||l,!c)},q=(l,c,d,g)=>{if(l==null)s(c.el=a(c.children),d,g);else{const h=c.el=l.el;c.children!==l.children&&u(h,c.children)}},H=(l,c,d,g)=>{l==null?s(c.el=f(c.children||""),d,g):c.el=l.el},le=(l,c,d,g)=>{[l.el,l.anchor]=N(l.children,c,d,g,l.el,l.anchor)},O=({el:l,anchor:c},d,g)=>{let h;for(;l&&l!==c;)h=y(l),s(l,d,g),l=h;s(c,d,g)},K=({el:l,anchor:c})=>{let d;for(;l&&l!==c;)d=y(l),i(l),l=d;i(c)},ee=(l,c,d,g,h,_,x,v,C)=>{x=x||c.type==="svg",l==null?je(c,d,g,h,_,x,v,C):J(l,c,h,_,x,v,C)},je=(l,c,d,g,h,_,x,v)=>{let C,m;const{type:I,props:w,shapeFlag:M,transition:$,dirs:j}=l;if(C=l.el=r(l.type,_,w&&w.is,w),M&8?p(C,l.children):M&16&&L(l.children,C,null,g,h,_&&I!=="foreignObject",x,v),j&&Je(l,null,g,"created"),Ee(C,l,l.scopeId,x,g),w){for(const B in w)B!=="value"&&!Ht(B)&&o(C,B,null,w[B],_,l.children,g,h,Fe);"value"in w&&o(C,"value",null,w.value),(m=w.onVnodeBeforeMount)&&Ae(m,g,l)}j&&Je(l,null,g,"beforeMount");const U=(!h||h&&!h.pendingBranch)&&$&&!$.persisted;U&&$.beforeEnter(C),s(C,c,d),((m=w&&w.onVnodeMounted)||U||j)&&ue(()=>{m&&Ae(m,g,l),U&&$.enter(C),j&&Je(l,null,g,"mounted")},h)},Ee=(l,c,d,g,h)=>{if(d&&A(l,d),g)for(let _=0;_{for(let m=C;m{const v=c.el=l.el;let{patchFlag:C,dynamicChildren:m,dirs:I}=c;C|=l.patchFlag&16;const w=l.props||z,M=c.props||z;let $;d&&Ye(d,!1),($=M.onVnodeBeforeUpdate)&&Ae($,d,c,l),I&&Je(c,l,d,"beforeUpdate"),d&&Ye(d,!0);const j=h&&c.type!=="foreignObject";if(m?W(l.dynamicChildren,m,v,d,g,j,_):x||k(l,c,v,null,d,g,j,_,!1),C>0){if(C&16)ie(v,c,w,M,d,g,h);else if(C&2&&w.class!==M.class&&o(v,"class",null,M.class,h),C&4&&o(v,"style",w.style,M.style,h),C&8){const U=c.dynamicProps;for(let B=0;B{$&&Ae($,d,c,l),I&&Je(c,l,d,"updated")},g)},W=(l,c,d,g,h,_,x)=>{for(let v=0;v{if(d!==g){if(d!==z)for(const v in d)!Ht(v)&&!(v in g)&&o(l,v,d[v],null,x,c.children,h,_,Fe);for(const v in g){if(Ht(v))continue;const C=g[v],m=d[v];C!==m&&v!=="value"&&o(l,v,m,C,x,c.children,h,_,Fe)}"value"in g&&o(l,"value",d.value,g.value)}},E=(l,c,d,g,h,_,x,v,C)=>{const m=c.el=l?l.el:a(""),I=c.anchor=l?l.anchor:a("");let{patchFlag:w,dynamicChildren:M,slotScopeIds:$}=c;$&&(v=v?v.concat($):$),l==null?(s(m,d,g),s(I,d,g),L(c.children,d,I,h,_,x,v,C)):w>0&&w&64&&M&&l.dynamicChildren?(W(l.dynamicChildren,M,d,h,_,x,v),(c.key!=null||h&&c===h.subTree)&&Oi(l,c,!0)):k(l,c,d,I,h,_,x,v,C)},V=(l,c,d,g,h,_,x,v,C)=>{c.slotScopeIds=v,l==null?c.shapeFlag&512?h.ctx.activate(c,d,g,x,C):pe(c,d,g,h,_,x,C):vt(l,c,C)},pe=(l,c,d,g,h,_,x)=>{const v=l.component=Ur(l,g,h);if(sn(l)&&(v.ctx.renderer=ot),Wr(v),v.asyncDep){if(h&&h.registerDep(v,te),!l.el){const C=v.subTree=fe(Te);H(null,C,c,d)}return}te(v,l,c,d,h,_,x)},vt=(l,c,d)=>{const g=c.component=l.component;if(Xo(l,c,d))if(g.asyncDep&&!g.asyncResolved){Y(g,c,d);return}else g.next=c,Vo(g.update),g.update();else c.el=l.el,g.vnode=c},te=(l,c,d,g,h,_,x)=>{const v=()=>{if(l.isMounted){let{next:I,bu:w,u:M,parent:$,vnode:j}=l,U=I,B;Ye(l,!1),I?(I.el=j.el,Y(l,I,x)):I=j,w&&un(w),(B=I.props&&I.props.onVnodeBeforeUpdate)&&Ae(B,$,I,j),Ye(l,!0);const X=dn(l),_e=l.subTree;l.subTree=X,P(_e,X,b(_e.el),Ft(_e),l,h,_),I.el=X.el,U===null&&Zo(l,X.el),M&&ue(M,h),(B=I.props&&I.props.onVnodeUpdated)&&ue(()=>Ae(B,$,I,j),h)}else{let I;const{el:w,props:M}=c,{bm:$,m:j,parent:U}=l,B=kt(c);if(Ye(l,!1),$&&un($),!B&&(I=M&&M.onVnodeBeforeMount)&&Ae(I,U,c),Ye(l,!0),w&&cn){const X=()=>{l.subTree=dn(l),cn(w,l.subTree,l,h,null)};B?c.type.__asyncLoader().then(()=>!l.isUnmounted&&X()):X()}else{const X=l.subTree=dn(l);P(null,X,d,g,l,h,_),c.el=X.el}if(j&&ue(j,h),!B&&(I=M&&M.onVnodeMounted)){const X=c;ue(()=>Ae(I,U,X),h)}(c.shapeFlag&256||U&&kt(U.vnode)&&U.vnode.shapeFlag&256)&&l.a&&ue(l.a,h),l.isMounted=!0,c=d=g=null}},C=l.effect=new Bn(v,()=>Yn(m),l.scope),m=l.update=()=>C.run();m.id=l.uid,Ye(l,!0),m()},Y=(l,c,d)=>{c.component=l;const g=l.vnode.props;l.vnode=c,l.next=null,Er(l,c.props,g,d),Ar(l,c.children,d),ht(),gs(),gt()},k=(l,c,d,g,h,_,x,v,C=!1)=>{const m=l&&l.children,I=l?l.shapeFlag:0,w=c.children,{patchFlag:M,shapeFlag:$}=c;if(M>0){if(M&128){Ot(m,w,d,g,h,_,x,v,C);return}else if(M&256){Ve(m,w,d,g,h,_,x,v,C);return}}$&8?(I&16&&Fe(m,h,_),w!==m&&p(d,w)):I&16?$&16?Ot(m,w,d,g,h,_,x,v,C):Fe(m,h,_,!0):(I&8&&p(d,""),$&16&&L(w,d,g,h,_,x,v,C))},Ve=(l,c,d,g,h,_,x,v,C)=>{l=l||at,c=c||at;const m=l.length,I=c.length,w=Math.min(m,I);let M;for(M=0;MI?Fe(l,h,_,!0,!1,w):L(c,d,g,h,_,x,v,C,w)},Ot=(l,c,d,g,h,_,x,v,C)=>{let m=0;const I=c.length;let w=l.length-1,M=I-1;for(;m<=w&&m<=M;){const $=l[m],j=c[m]=C?ke(c[m]):Pe(c[m]);if(et($,j))P($,j,d,null,h,_,x,v,C);else break;m++}for(;m<=w&&m<=M;){const $=l[w],j=c[M]=C?ke(c[M]):Pe(c[M]);if(et($,j))P($,j,d,null,h,_,x,v,C);else break;w--,M--}if(m>w){if(m<=M){const $=M+1,j=$M)for(;m<=w;)Ie(l[m],h,_,!0),m++;else{const $=m,j=m,U=new Map;for(m=j;m<=M;m++){const he=c[m]=C?ke(c[m]):Pe(c[m]);he.key!=null&&U.set(he.key,m)}let B,X=0;const _e=M-j+1;let rt=!1,is=0;const _t=new Array(_e);for(m=0;m<_e;m++)_t[m]=0;for(m=$;m<=w;m++){const he=l[m];if(X>=_e){Ie(he,h,_,!0);continue}let Me;if(he.key!=null)Me=U.get(he.key);else for(B=j;B<=M;B++)if(_t[B-j]===0&&et(he,c[B])){Me=B;break}Me===void 0?Ie(he,h,_,!0):(_t[Me-j]=m+1,Me>=is?is=Me:rt=!0,P(he,c[Me],d,null,h,_,x,v,C),X++)}const os=rt?Sr(_t):at;for(B=os.length-1,m=_e-1;m>=0;m--){const he=j+m,Me=c[he],rs=he+1{const{el:_,type:x,transition:v,children:C,shapeFlag:m}=l;if(m&6){qe(l.component.subTree,c,d,g);return}if(m&128){l.suspense.move(c,d,g);return}if(m&64){x.move(l,c,d,ot);return}if(x===me){s(_,c,d);for(let w=0;wv.enter(_),h);else{const{leave:w,delayLeave:M,afterLeave:$}=v,j=()=>s(_,c,d),U=()=>{w(_,()=>{j(),$&&$()})};M?M(_,j,U):U()}else s(_,c,d)},Ie=(l,c,d,g=!1,h=!1)=>{const{type:_,props:x,ref:v,children:C,dynamicChildren:m,shapeFlag:I,patchFlag:w,dirs:M}=l;if(v!=null&&$n(v,null,d,l,!0),I&256){c.ctx.deactivate(l);return}const $=I&1&&M,j=!kt(l);let U;if(j&&(U=x&&x.onVnodeBeforeUnmount)&&Ae(U,c,l),I&6)ki(l.component,d,g);else{if(I&128){l.suspense.unmount(d,g);return}$&&Je(l,null,c,"beforeUnmount"),I&64?l.type.remove(l,c,d,h,ot,g):m&&(_!==me||w>0&&w&64)?Fe(m,c,d,!1,!0):(_===me&&w&384||!h&&I&16)&&Fe(C,c,d),g&&ns(l)}(j&&(U=x&&x.onVnodeUnmounted)||$)&&ue(()=>{U&&Ae(U,c,l),$&&Je(l,null,c,"unmounted")},d)},ns=l=>{const{type:c,el:d,anchor:g,transition:h}=l;if(c===me){Bi(d,g);return}if(c===Ut){K(l);return}const _=()=>{i(d),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(l.shapeFlag&1&&h&&!h.persisted){const{leave:x,delayLeave:v}=h,C=()=>x(d,_);v?v(l.el,_,C):C()}else _()},Bi=(l,c)=>{let d;for(;l!==c;)d=y(l),i(l),l=d;i(c)},ki=(l,c,d)=>{const{bum:g,scope:h,update:_,subTree:x,um:v}=l;g&&un(g),h.stop(),_&&(_.active=!1,Ie(x,l,c,d)),v&&ue(v,c),ue(()=>{l.isUnmounted=!0},c),c&&c.pendingBranch&&!c.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===c.pendingId&&(c.deps--,c.deps===0&&c.resolve())},Fe=(l,c,d,g=!1,h=!1,_=0)=>{for(let x=_;xl.shapeFlag&6?Ft(l.component.subTree):l.shapeFlag&128?l.suspense.next():y(l.anchor||l.el),ss=(l,c,d)=>{l==null?c._vnode&&Ie(c._vnode,null,null,!0):P(c._vnode||null,l,c,null,null,null,d),gs(),li(),c._vnode=l},ot={p:P,um:Ie,m:qe,r:ns,mt:pe,mc:L,pc:k,pbc:W,n:Ft,o:e};let an,cn;return t&&([an,cn]=t(ot)),{render:ss,hydrate:an,createApp:$r(ss,an)}}function Ye({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Oi(e,t,n=!1){const s=e.children,i=t.children;if(F(s)&&F(i))for(let o=0;o>1,e[n[a]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,r=n[o-1];o-- >0;)n[o]=r,r=t[r];return n}const Lr=e=>e.__isTeleport,me=Symbol(void 0),rn=Symbol(void 0),Te=Symbol(void 0),Ut=Symbol(void 0),Tt=[];let xe=null;function ce(e=!1){Tt.push(xe=e?null:[])}function Nr(){Tt.pop(),xe=Tt[Tt.length-1]||null}let Pt=1;function Es(e){Pt+=e}function Fi(e){return e.dynamicChildren=Pt>0?xe||at:null,Nr(),Pt>0&&xe&&xe.push(e),e}function it(e,t,n,s,i,o){return Fi(T(e,t,n,s,i,o,!0))}function Be(e,t,n,s,i){return Fi(fe(e,t,n,s,i,!0))}function On(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const ln="__vInternal",Si=({key:e})=>e??null,Kt=({ref:e,ref_key:t,ref_for:n})=>e!=null?Z(e)||re(e)||S(e)?{i:be,r:e,k:t,f:!!n}:e:null;function T(e,t=null,n=null,s=0,i=null,o=e===me?0:1,r=!1,a=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Si(t),ref:t&&Kt(t),scopeId:tn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:be};return a?(Zn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=Z(n)?8:16),Pt>0&&!r&&xe&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&xe.push(f),f}const fe=jr;function jr(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===wi)&&(e=Te),On(e)){const a=ze(e,t,!0);return n&&Zn(a,n),Pt>0&&!o&&xe&&(a.shapeFlag&6?xe[xe.indexOf(e)]=a:xe.push(a)),a.patchFlag|=-2,a}if(Yr(e)&&(e=e.__vccOpts),t){t=Rr(t);let{class:a,style:f}=t;a&&!Z(a)&&(t.class=ne(a)),G(f)&&(Zs(f)&&!F(f)&&(f=se({},f)),t.style=Ln(f))}const r=Z(e)?1:er(e)?128:Lr(e)?64:G(e)?4:S(e)?2:0;return T(e,t,n,s,i,r,o,!0)}function Rr(e){return e?Zs(e)||ln in e?se({},e):e:null}function ze(e,t,n=!1){const{props:s,ref:i,patchFlag:o,children:r}=e,a=t?Hr(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Si(a),ref:t&&t.ref?n&&i?F(i)?i.concat(Kt(t)):[i,Kt(t)]:Kt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ze(e.ssContent),ssFallback:e.ssFallback&&ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Li(e=" ",t=0){return fe(rn,null,e,t)}function Xn(e,t){const n=fe(Ut,null,e);return n.staticCount=t,n}function Dr(e="",t=!1){return t?(ce(),Be(Te,null,e)):fe(Te,null,e)}function Pe(e){return e==null||typeof e=="boolean"?fe(Te):F(e)?fe(me,null,e.slice()):typeof e=="object"?ke(e):fe(rn,null,String(e))}function ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ze(e)}function Zn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(F(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Zn(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(ln in t)?t._ctx=be:i===3&&be&&(be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else S(t)?(t={default:t,_ctx:be},n=32):(t=String(t),s&64?(n=16,t=[Li(t)]):n=8);e.children=t,e.shapeFlag|=n}function Hr(...e){const t={};for(let n=0;nQ||be,dt=e=>{Q=e,e.scope.on()},st=()=>{Q&&Q.scope.off(),Q=null};function Ni(e){return e.vnode.shapeFlag&4}let $t=!1;function Wr(e,t=!1){$t=t;const{props:n,children:s}=e.vnode,i=Ni(e);Tr(e,n,i,t),Mr(e,s);const o=i?zr(e,t):void 0;return $t=!1,o}function zr(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=ei(new Proxy(e.ctx,vr));const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?qr(e):null;dt(e),ht();const o=Ke(s,e,0,[e.props,i]);if(gt(),st(),ks(o)){if(o.then(st,st),t)return o.then(r=>{Is(e,r,t)}).catch(r=>{Zt(r,e,0)});e.asyncDep=o}else Is(e,o,t)}else ji(e,t)}function Is(e,t,n){S(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G(t)&&(e.setupState=si(t)),ji(e,n)}let Ms;function ji(e,t,n){const s=e.type;if(!e.render){if(!t&&Ms&&!s.render){const i=s.template||Gn(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:f}=s,u=se(se({isCustomElement:o,delimiters:a},r),f);s.render=Ms(i,u)}}e.render=s.render||we}dt(e),ht(),_r(e),gt(),st()}function Vr(e){return new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}})}function qr(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Vr(e))},slots:e.slots,emit:e.emit,expose:t}}function es(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(si(ei(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in wt)return wt[n](e)},has(t,n){return n in t||n in wt}}))}function Jr(e,t=!0){return S(e)?e.displayName||e.name:e.name||t&&e.__name}function Yr(e){return S(e)&&"__vccOpts"in e}const Gr=(e,t)=>Uo(e,t,$t);function Qr(e,t,n){const s=arguments.length;return s===2?G(t)&&!F(t)?On(t)?fe(e,null,[t]):fe(e,t):fe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&On(n)&&(n=[n]),fe(e,t,n))}const Xr=Symbol(""),Zr=()=>Bt(Xr),el="3.2.47",tl="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,As=tt&&tt.createElement("template"),nl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t?tt.createElementNS(tl,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const r=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{As.innerHTML=s?`${e}`:e;const a=As.content;if(s){const f=a.firstChild;for(;f.firstChild;)a.appendChild(f.firstChild);a.removeChild(f)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function sl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function il(e,t,n){const s=e.style,i=Z(n);if(n&&!i){if(t&&!Z(t))for(const o in t)n[o]==null&&Fn(s,o,"");for(const o in n)Fn(s,o,n[o])}else{const o=s.display;i?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const Ps=/\s*!important$/;function Fn(e,t,n){if(F(n))n.forEach(s=>Fn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ol(e,t);Ps.test(n)?e.setProperty(pt(s),n.replace(Ps,""),"important"):e[s]=n}}const $s=["Webkit","Moz","ms"],mn={};function ol(e,t){const n=mn[t];if(n)return n;let s=Oe(t);if(s!=="filter"&&s in e)return mn[t]=s;s=Qt(s);for(let i=0;i<$s.length;i++){const o=$s[i]+s;if(o in e)return mn[t]=o}return t}const Os="http://www.w3.org/1999/xlink";function rl(e,t,n,s,i){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Os,t.slice(6,t.length)):e.setAttributeNS(Os,t,n);else{const o=qi(t);n==null||o&&!Bs(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function ll(e,t,n,s,i,o,r){if(t==="innerHTML"||t==="textContent"){s&&r(s,i,o),e[t]=n??"";return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=n;const f=n??"";(e.value!==f||e.tagName==="OPTION")&&(e.value=f),n==null&&e.removeAttribute(t);return}let a=!1;if(n===""||n==null){const f=typeof e[t];f==="boolean"?n=Bs(n):n==null&&f==="string"?(n="",a=!0):f==="number"&&(n=0,a=!0)}try{e[t]=n}catch{}a&&e.removeAttribute(t)}function al(e,t,n,s){e.addEventListener(t,n,s)}function cl(e,t,n,s){e.removeEventListener(t,n,s)}function fl(e,t,n,s,i=null){const o=e._vei||(e._vei={}),r=o[t];if(s&&r)r.value=s;else{const[a,f]=ul(t);if(s){const u=o[t]=hl(s,i);al(e,a,u,f)}else r&&(cl(e,a,r,f),o[t]=void 0)}}const Fs=/(?:Once|Passive|Capture)$/;function ul(e){let t;if(Fs.test(e)){t={};let s;for(;s=e.match(Fs);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):pt(e.slice(2)),t]}let bn=0;const dl=Promise.resolve(),pl=()=>bn||(dl.then(()=>bn=0),bn=Date.now());function hl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;ve(gl(s,n.value),t,5,[s])};return n.value=e,n.attached=pl(),n}function gl(e,t){if(F(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const Ss=/^on[a-z]/,ml=(e,t,n,s,i=!1,o,r,a,f)=>{t==="class"?sl(e,s,i):t==="style"?il(e,n,s):Jt(t)?Nn(t)||fl(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):bl(e,t,s,i))?ll(e,t,s,o,r,a,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),rl(e,t,s,i))};function bl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Ss.test(t)&&S(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ss.test(t)&&Z(n)?!1:t in e}const De="transition",yt="animation",ts=(e,{slots:t})=>Qr(gi,vl(e),t);ts.displayName="Transition";const Ri={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};ts.props=se({},gi.props,Ri);const Ge=(e,t=[])=>{F(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ls=e=>e?F(e)?e.some(t=>t.length>1):e.length>1:!1;function vl(e){const t={};for(const E in e)E in Ri||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:f=o,appearActiveClass:u=r,appearToClass:p=a,leaveFromClass:b=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,N=_l(i),P=N&&N[0],q=N&&N[1],{onBeforeEnter:H,onEnter:le,onEnterCancelled:O,onLeave:K,onLeaveCancelled:ee,onBeforeAppear:je=H,onAppear:Ee=le,onAppearCancelled:L=O}=t,J=(E,V,pe)=>{Qe(E,V?p:a),Qe(E,V?u:r),pe&&pe()},W=(E,V)=>{E._isLeaving=!1,Qe(E,b),Qe(E,A),Qe(E,y),V&&V()},ie=E=>(V,pe)=>{const vt=E?Ee:le,te=()=>J(V,E,pe);Ge(vt,[V,te]),Ns(()=>{Qe(V,E?f:o),He(V,E?p:a),Ls(vt)||js(V,s,P,te)})};return se(t,{onBeforeEnter(E){Ge(H,[E]),He(E,o),He(E,r)},onBeforeAppear(E){Ge(je,[E]),He(E,f),He(E,u)},onEnter:ie(!1),onAppear:ie(!0),onLeave(E,V){E._isLeaving=!0;const pe=()=>W(E,V);He(E,b),xl(),He(E,y),Ns(()=>{E._isLeaving&&(Qe(E,b),He(E,A),Ls(K)||js(E,s,q,pe))}),Ge(K,[E,pe])},onEnterCancelled(E){J(E,!1),Ge(O,[E])},onAppearCancelled(E){J(E,!0),Ge(L,[E])},onLeaveCancelled(E){W(E),Ge(ee,[E])}})}function _l(e){if(e==null)return null;if(G(e))return[vn(e.enter),vn(e.leave)];{const t=vn(e);return[t,t]}}function vn(e){return io(e)}function He(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Qe(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ns(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let yl=0;function js(e,t,n,s){const i=e._endId=++yl,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:f}=Cl(e,t);if(!r)return s();const u=r+"end";let p=0;const b=()=>{e.removeEventListener(u,y),o()},y=A=>{A.target===e&&++p>=f&&b()};setTimeout(()=>{p(n[N]||"").split(", "),i=s(`${De}Delay`),o=s(`${De}Duration`),r=Rs(i,o),a=s(`${yt}Delay`),f=s(`${yt}Duration`),u=Rs(a,f);let p=null,b=0,y=0;t===De?r>0&&(p=De,b=r,y=o.length):t===yt?u>0&&(p=yt,b=u,y=f.length):(b=Math.max(r,u),p=b>0?r>u?De:yt:null,y=p?p===De?o.length:f.length:0);const A=p===De&&/\b(transform|all)(,|$)/.test(s(`${De}Property`).toString());return{type:p,timeout:b,propCount:y,hasTransform:A}}function Rs(e,t){for(;e.lengthDs(n)+Ds(e[s])))}function Ds(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function xl(){return document.body.offsetHeight}const wl=se({patchProp:ml},nl);let Hs;function Tl(){return Hs||(Hs=Or(wl))}const El=(...e)=>{const t=Tl().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Il(s);if(!i)return;const o=t._component;!S(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function Il(e){return Z(e)?document.querySelector(e):e}const Di="/assets/Vue-5532db34.svg",Ml="/assets/Python-3cb5503b.svg",Al="/assets/C-7a16311b.svg",Pl="/assets/Godot-c6e7900f.svg",$l="/assets/info-2a702950.svg",Ol="/assets/C.shapes-6ef45937.jpeg",Fl="/assets/C.laplace-207c50c6.jpeg",Sl="/assets/C.mandel-933eaf0f.jpeg",Ll="/assets/C.nbody-f4c5f1bc.jpeg",Hi=e=>(fi("data-v-27d756da"),e=e(),ui(),e),Nl=Hi(()=>T("h2",null,"C++ Graphics & Computational Science Projects",-1)),jl=Hi(()=>T("h5",null,"2011",-1)),Rl={class:"text-cell"},Dl={class:"text-cell"},Hl={class:"text-cell"},Bl={class:"text-cell"},kl=nn({__name:"C",setup(e){const t=qn("");return(n,s)=>(ce(),it("div",null,[Nl,jl,T("table",null,[T("tr",null,[T("td",null,[T("img",{src:Ol,onClick:s[0]||(s[0]=i=>t.value="shapes"),onMouseover:s[1]||(s[1]=i=>t.value="shapes")},null,32)]),T("td",Rl,[T("h4",{onClick:s[2]||(s[2]=i=>t.value="shapes"),onMouseover:s[3]||(s[3]=i=>t.value="shapes")}," OpenGL Scene ",32),T("p",{class:ne({focused:t.value==="shapes"})}," Draws a lit scene with various rotating objects. Camera can rotate with the mouse. The sphere is created by subdividing a tetrahedron. ",2)])]),T("tr",null,[T("td",null,[T("img",{src:Fl,onClick:s[4]||(s[4]=i=>t.value="laplace"),onMouseover:s[5]||(s[5]=i=>t.value="laplace")},null,32)]),T("td",Dl,[T("h4",{onClick:s[6]||(s[6]=i=>t.value="laplace"),onMouseover:s[7]||(s[7]=i=>t.value="laplace")}," OpenMP Laplace Heatmap ",32),T("p",{class:ne({focused:t.value==="laplace"})}," Simulates a heat distribution map with successive approximations computed in parallel. ",2)])]),T("tr",null,[T("td",null,[T("img",{src:Sl,onClick:s[8]||(s[8]=i=>t.value="mandel"),onMouseover:s[9]||(s[9]=i=>t.value="mandel")},null,32)]),T("td",Hl,[T("h4",{onClick:s[10]||(s[10]=i=>t.value="mandel"),onMouseover:s[11]||(s[11]=i=>t.value="mandel")}," OpenMPI Mandelbrot Set ",32),T("p",{class:ne({focused:t.value==="mandel"})}," Calculates and visualizes the Mandelbrot set in parallel via message passing. ",2)])]),T("tr",null,[T("td",null,[T("img",{src:Ll,onClick:s[12]||(s[12]=i=>t.value="nbody"),onMouseover:s[13]||(s[13]=i=>t.value="nbody")},null,32)]),T("td",Bl,[T("h4",{onClick:s[14]||(s[14]=i=>t.value="nbody"),onMouseover:s[15]||(s[15]=i=>t.value="nbody")}," OpenMPI N-Body Orbits ",32),T("p",{class:ne({focused:t.value==="nbody"})}," Simulates the planetary rotations of our solar system as an n-body problem, calculated in parallel via message passing. Visualized as a ten year orbit of the planets. ",2)])])])]))}});const mt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},Ul=mt(kl,[["__scopeId","data-v-27d756da"]]),Kl="/assets/LinkedIn-7af54eae.svg";const Wl={},zl=Xn('

Skills

Expertise 10+ Years

  • Web Apps
  • JavaScript
  • HTML
  • CSS
  • Clean Coding
  • Documentation
  • Technical Writing
  • Tech Support
  • Project & Issue Tracking
  • Customer Servive

Proficient 3-9 Years

  • Web Architecture
  • Team Leadership
  • Project Management
  • Hybrid Mobile Apps / Capacitor
  • TypeScript
  • Vue
  • Node
  • Python
  • Elm
  • Git
  • SQL
  • NoSQL
  • Firebase
  • Django
  • AJAX
  • Apache
  • UI / UX
  • SDLC & QA
  • Gamification
  • Microservices
  • Custom CMS / LMS
  • Operating Systems
  • Remote Collaboration
  • Agile Development

Experienced 1-2 Years

  • Progressive Web Apps
  • GitHub Actions
  • PHP
  • Java
  • Drupal
  • WordPress
  • GCP
  • SVN
  • XState
  • CI / CD
  • TDD

Familiar < 1 year

  • C++
  • Go
  • Rust
  • React
  • Angular
  • AWS
  • WebGL
  • GraphQL
  • Selenium
  • Godot

General Tech Interests

  • Next gen web technologies
  • Interactivity & gamification
  • Cross-platform & hybrid apps
  • Educational & social tools
  • Data visualization, simulation & virtualization
  • Sustainable & open source software
  • Decentralized governance, democracy & blockchains
  • Scientific, concurrent & high performance computing
  • & More

Other Hobbies

  • Tai Chi
  • Qigong
  • Yoga
  • Jeet Kune Do
  • Hiking
  • Gaming
  • Meditation
  • Reading
',14),Vl=[zl];function ql(e,t){return ce(),it("div",null,Vl)}const Jl=mt(Wl,[["render",ql],["__scopeId","data-v-8bf5b946"]]),Yl={};function Gl(e,t){return ce(),it("h3",null,"Coming Soon: Godot Project Demo")}const Ql=mt(Yl,[["render",Gl]]),Xl="/assets/Python.brts-3853e43d.png",Zl="/assets/Python.breaker1-8a6f137f.jpeg",ea="/assets/Python.breaker2-d47a9fff.jpeg";const ta={},na=Xn('

White Label Django Learning Management Platform

2018 ~ 2020

This Python project was inherited when I started working with Oregon Research Institute and Influents Innovations. My team and I maintained and enhanced the existing collection of web apps, servers, databases, and associated native mobile apps for a few years while expanding their scope to support a dozen different research projects.

A few of the many enhancements I worked on included evolving the project into a progressive web app (PWA), implementing custom landing pages configurable by project managers, and enhancing the web servers to support HTTPS encryption with auto-renewing certificates.

Eventually, I became intimately familiar with the existing platform and its limitations relative to the goals for the project. So I led the successful efforts to propose, architect, and rebuild the LMS platform from scratch using innovative and efficient technologies (see Vue section for details on the successor project).

Learn More

Find more details here in the 'T-BIDS' product section

Block Breaker Game

2010

Breakout style game built using the Pygame library. Extra balls make this version more interesting than the original game.

',13),sa=[na];function ia(e,t){return ce(),it("div",null,sa)}const oa=mt(ta,[["render",ia],["__scopeId","data-v-d1308f71"]]),ra="/assets/Vue.brts-0d07c5b9.png",la="/assets/Ionic-6dc8eb67.svg",aa="/assets/Firebase-44a65a5e.svg",ca="/assets/TS-14a00f9d.svg",fa="/assets/Capacitor-299ab557.svg",bt=e=>(fi("data-v-e93f50a4"),e=e(),ui(),e),ua=bt(()=>T("h2",null,"White Label Cross-Platform Vue Learning Management Platform",-1)),da=bt(()=>T("h5",null,"2020 ~ 2023",-1)),pa=bt(()=>T("img",{src:ra,class:"banner",alt:"be ready to smile images"},null,-1)),ha=bt(()=>T("p",null," This was a project I initiated after working with Oregon Research Institute and Influents Innovations on their existing LMS platform for a few years and recognizing the limitations holding it back (see Python section for more details on the legacy product). ",-1)),ga=bt(()=>T("p",null," In the first year of the project, I led the proposal, prototyping, and architecture phases of the software rebuild process. Next, my small team and I completed the core project and features over two more years of development, then launched our organization's new flagship product across web and mobile platforms successfully. ",-1)),ma=bt(()=>T("h3",null,"Tech Stack",-1)),ba=Xn('

Major Enhancements

New Software AdvantagesLegacy Software Limitations
One unified codebase which compiled to native web, iOS & Android versions Three different codebases, one for each platform supported, and each in a different language
A cloud based serverless backend architecture, easily scalable and hosted by Google Firebase Custom Django servers, hosted by our inhouse IT staff, and managed manually by me and our small software team
Modern frontend framework and component libraries for rapid development and supperior visual and interactive quality No frontend framework foundation, all UI/UX design work done from scratch, further hindering our productivity and ability to iterate quickly

Learn More

For a sample of hybrid mobile versions of an app compiled from the unified LMS platform, please check out these App Store and Play Store pages of an associated project.

Find more details about specific projects utilizing the custom LMS platform here in the 'Be Ready To Smile' & 'MomMoodBooster' product sections.

',5),va=nn({__name:"Vue",setup(e){const t=qn("");return(n,s)=>(ce(),it("div",null,[ua,da,pa,ha,ga,ma,T("img",{src:Di,onClick:s[0]||(s[0]=i=>t.value="vue"),onMouseover:s[1]||(s[1]=i=>t.value="vue"),onMouseleave:s[2]||(s[2]=i=>t.value=""),class:"logo",alt:"Vue logo"},null,32),T("img",{src:la,onClick:s[3]||(s[3]=i=>t.value="ionic"),onMouseover:s[4]||(s[4]=i=>t.value="ionic"),onMouseleave:s[5]||(s[5]=i=>t.value=""),class:"logo",alt:"Ionic logo"},null,32),T("img",{src:aa,onClick:s[6]||(s[6]=i=>t.value="firebase"),onMouseover:s[7]||(s[7]=i=>t.value="firebase"),onMouseleave:s[8]||(s[8]=i=>t.value=""),class:"logo",alt:"Firebase logo"},null,32),T("img",{src:ca,onClick:s[9]||(s[9]=i=>t.value="ts"),onMouseover:s[10]||(s[10]=i=>t.value="ts"),onMouseleave:s[11]||(s[11]=i=>t.value=""),class:"logo",alt:"TypeScript logo"},null,32),T("img",{src:fa,onClick:s[12]||(s[12]=i=>t.value="capacitor"),onMouseover:s[13]||(s[13]=i=>t.value="capacitor"),onMouseleave:s[14]||(s[14]=i=>t.value=""),class:"logo",alt:"Capacitor logo"},null,32),T("p",{class:ne({focused:t.value==="vue"})},"Vue Framework",2),T("p",{class:ne({focused:t.value==="ionic"})},"Ionic Framework",2),T("p",{class:ne({focused:t.value==="firebase"})},"Firebase + GCP",2),T("p",{class:ne({focused:t.value==="ts"})},"TypeScript",2),T("p",{class:ne({focused:t.value==="capacitor"})}," Capacitor (Hybrid Mobile Apps) ",2),ba]))}});const _a=mt(va,[["__scopeId","data-v-e93f50a4"]]),ya=T("h2",null,"WebGL Benchmark ~ 2012",-1),Ca=T("canvas",{id:"canvas",width:"658",height:"410"},null,-1),xa=T("div",{id:"framerate"},null,-1),wa=T("input",{type:"checkbox",id:"lighting",checked:""},null,-1),Ta=T("input",{type:"checkbox",id:"per-pixel",checked:"",style:{display:"none"}},null,-1),Ea=T("p",null,"A basic benchmark exercise created to experiment with WebGL.",-1),Ia=T("p",null,"The JavaScript and OpenGL source is available in this page.",-1),Ma=T("p",null,"Click & drag to rotate camera.",-1),Aa=nn({__name:"WebGL",setup(e){return(t,n)=>(ce(),it(me,null,[ya,Ca,xa,wa,Li(" Use Lighting "),Ta,Ea,Ia,Ma],64))}}),Pa=nn({__name:"App",setup(e){const t=qn("");return(n,s)=>(ce(),it(me,null,[T("div",null,[T("img",{src:Di,onClick:s[0]||(s[0]=i=>t.value="Vue"),class:ne(["logo",{active:t.value==="Vue"}]),alt:"Vue logo"},null,2),T("img",{src:Ml,onClick:s[1]||(s[1]=i=>t.value="Python"),class:ne(["logo",{active:t.value==="Python"}]),alt:"Python logo"},null,2),T("img",{src:Al,onClick:s[2]||(s[2]=i=>t.value="C"),class:ne(["logo",{active:t.value==="C"}]),alt:"C++ logo"},null,2),T("img",{src:Pl,onClick:s[3]||(s[3]=i=>t.value="Godot"),class:ne(["logo",{active:t.value==="Godot"}]),alt:"Godot logo"},null,2),T("img",{src:$l,onClick:s[4]||(s[4]=i=>t.value="Info"),class:ne(["logo",{active:t.value==="Info"}]),alt:"info logo"},null,2)]),fe(ts,{name:"fade",mode:"out-in"},{default:di(()=>[t.value==="C"?(ce(),Be(Ul,{key:0})):t.value==="Godot"?(ce(),Be(Ql,{key:1})):t.value==="Python"?(ce(),Be(oa,{key:2})):t.value==="Vue"?(ce(),Be(_a,{key:3})):t.value==="WebGL"?(ce(),Be(Aa,{key:4})):t.value==="Info"?(ce(),Be(Jl,{key:5})):Dr("",!0)]),_:1}),(ce(),Be(mr(t.value)))],64))}});const $a=mt(Pa,[["__scopeId","data-v-33e25f85"]]);El($a).mount("#app"); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function Sn(e,t){const n=Object.create(null),s=e.split(",");for(let i=0;i!!n[i.toLowerCase()]:i=>!!n[i]}function Ln(e){if(F(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ki);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ne(e){let t="";if(Z(e))t=e;else if(F(e))for(let n=0;n{},Ji=()=>!1,Yi=/^on[^a-z]/,Jt=e=>Yi.test(e),Nn=e=>e.startsWith("onUpdate:"),se=Object.assign,jn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Gi=Object.prototype.hasOwnProperty,R=(e,t)=>Gi.call(e,t),F=Array.isArray,xt=e=>Yt(e)==="[object Map]",Qi=e=>Yt(e)==="[object Set]",S=e=>typeof e=="function",Z=e=>typeof e=="string",Rn=e=>typeof e=="symbol",G=e=>e!==null&&typeof e=="object",ks=e=>G(e)&&S(e.then)&&S(e.catch),Xi=Object.prototype.toString,Yt=e=>Xi.call(e),Zi=e=>Yt(e).slice(8,-1),eo=e=>Yt(e)==="[object Object]",Dn=e=>Z(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ht=Sn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},to=/-(\w)/g,Oe=Gt(e=>e.replace(to,(t,n)=>n?n.toUpperCase():"")),no=/\B([A-Z])/g,ht=Gt(e=>e.replace(no,"-$1").toLowerCase()),Qt=Gt(e=>e.charAt(0).toUpperCase()+e.slice(1)),fn=Gt(e=>e?`on${Qt(e)}`:""),Et=(e,t)=>!Object.is(e,t),un=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},so=e=>{const t=parseFloat(e);return isNaN(t)?e:t},io=e=>{const t=Z(e)?Number(e):NaN;return isNaN(t)?e:t};let ls;const oo=()=>ls||(ls=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let ye;class ro{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Us=e=>(e.w&We)>0,Ks=e=>(e.n&We)>0,co=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(p==="length"||p>=f)&&a.push(u)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":F(e)?Dn(n)&&a.push(r.get("length")):(a.push(r.get(nt)),xt(e)&&a.push(r.get(Cn)));break;case"delete":F(e)||(a.push(r.get(nt)),xt(e)&&a.push(r.get(Cn)));break;case"set":xt(e)&&a.push(r.get(nt));break}if(a.length===1)a[0]&&xn(a[0]);else{const f=[];for(const u of a)u&&f.push(...u);xn(Hn(f))}}function xn(e,t){const n=F(e)?e:[...e];for(const s of n)s.computed&&cs(s);for(const s of n)s.computed||cs(s)}function cs(e,t){(e!==Ce||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const uo=Sn("__proto__,__v_isRef,__isVue"),Vs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Rn)),po=kn(),ho=kn(!1,!0),go=kn(!0),fs=mo();function mo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=D(this);for(let o=0,r=this.length;o{e[t]=function(...n){gt();const s=D(this)[t].apply(this,n);return mt(),s}}),e}function vo(e){const t=D(this);return de(t,"has",e),t.hasOwnProperty(e)}function kn(e=!1,t=!1){return function(s,i,o){if(i==="__v_isReactive")return!e;if(i==="__v_isReadonly")return e;if(i==="__v_isShallow")return t;if(i==="__v_raw"&&o===(e?t?So:Qs:t?Gs:Ys).get(s))return s;const r=F(s);if(!e){if(r&&R(fs,i))return Reflect.get(fs,i,o);if(i==="hasOwnProperty")return vo}const a=Reflect.get(s,i,o);return(Rn(i)?Vs.has(i):uo(i))||(e||de(s,"get",i),t)?a:re(a)?r&&Dn(i)?a:a.value:G(a)?e?Xs(a):Wn(a):a}}const bo=qs(),_o=qs(!0);function qs(e=!1){return function(n,s,i,o){let r=n[s];if(dt(r)&&re(r)&&!re(i))return!1;if(!e&&(!zt(i)&&!dt(i)&&(r=D(r),i=D(i)),!F(n)&&re(r)&&!re(i)))return r.value=i,!0;const a=F(n)&&Dn(s)?Number(s)e,Xt=e=>Reflect.getPrototypeOf(e);function St(e,t,n=!1,s=!1){e=e.__v_raw;const i=D(e),o=D(t);n||(t!==o&&de(i,"get",t),de(i,"get",o));const{has:r}=Xt(i),a=s?Un:n?Vn:It;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function Lt(e,t=!1){const n=this.__v_raw,s=D(n),i=D(e);return t||(e!==i&&de(s,"has",e),de(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Nt(e,t=!1){return e=e.__v_raw,!t&&de(D(e),"iterate",nt),Reflect.get(e,"size",e)}function us(e){e=D(e);const t=D(this);return Xt(t).has.call(t,e)||(t.add(e),Le(t,"add",e,e)),this}function ds(e,t){t=D(t);const n=D(this),{has:s,get:i}=Xt(n);let o=s.call(n,e);o||(e=D(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?Et(t,r)&&Le(n,"set",e,t):Le(n,"add",e,t),this}function ps(e){const t=D(this),{has:n,get:s}=Xt(t);let i=n.call(t,e);i||(e=D(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&Le(t,"delete",e,void 0),o}function hs(){const e=D(this),t=e.size!==0,n=e.clear();return t&&Le(e,"clear",void 0,void 0),n}function jt(e,t){return function(s,i){const o=this,r=o.__v_raw,a=D(r),f=t?Un:e?Vn:It;return!e&&de(a,"iterate",nt),r.forEach((u,p)=>s.call(i,f(u),f(p),o))}}function Rt(e,t,n){return function(...s){const i=this.__v_raw,o=D(i),r=xt(o),a=e==="entries"||e===Symbol.iterator&&r,f=e==="keys"&&r,u=i[e](...s),p=n?Un:t?Vn:It;return!t&&de(o,"iterate",f?Cn:nt),{next(){const{value:v,done:y}=u.next();return y?{value:v,done:y}:{value:a?[p(v[0]),p(v[1])]:p(v),done:y}},[Symbol.iterator](){return this}}}}function Re(e){return function(...t){return e==="delete"?!1:this}}function Eo(){const e={get(o){return St(this,o)},get size(){return Nt(this)},has:Lt,add:us,set:ds,delete:ps,clear:hs,forEach:jt(!1,!1)},t={get(o){return St(this,o,!1,!0)},get size(){return Nt(this)},has:Lt,add:us,set:ds,delete:ps,clear:hs,forEach:jt(!1,!0)},n={get(o){return St(this,o,!0)},get size(){return Nt(this,!0)},has(o){return Lt.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:jt(!0,!1)},s={get(o){return St(this,o,!0,!0)},get size(){return Nt(this,!0)},has(o){return Lt.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:jt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Rt(o,!1,!1),n[o]=Rt(o,!0,!1),t[o]=Rt(o,!1,!0),s[o]=Rt(o,!0,!0)}),[e,n,t,s]}const[Io,Mo,Ao,$o]=Eo();function Kn(e,t){const n=t?e?$o:Ao:e?Mo:Io;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(R(n,i)&&i in s?n:s,i,o)}const Po={get:Kn(!1,!1)},Oo={get:Kn(!1,!0)},Fo={get:Kn(!0,!1)},Ys=new WeakMap,Gs=new WeakMap,Qs=new WeakMap,So=new WeakMap;function Lo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return e.__v_skip||!Object.isExtensible(e)?0:Lo(Zi(e))}function Wn(e){return dt(e)?e:zn(e,!1,Js,Po,Ys)}function jo(e){return zn(e,!1,To,Oo,Gs)}function Xs(e){return zn(e,!0,wo,Fo,Qs)}function zn(e,t,n,s,i){if(!G(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=No(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function ft(e){return dt(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function zt(e){return!!(e&&e.__v_isShallow)}function Zs(e){return ft(e)||dt(e)}function D(e){const t=e&&e.__v_raw;return t?D(t):e}function ei(e){return Wt(e,"__v_skip",!0),e}const It=e=>G(e)?Wn(e):e,Vn=e=>G(e)?Xs(e):e;function ti(e){Ue&&Ce&&(e=D(e),zs(e.dep||(e.dep=Hn())))}function ni(e,t){e=D(e);const n=e.dep;n&&xn(n)}function re(e){return!!(e&&e.__v_isRef===!0)}function qn(e){return Ro(e,!1)}function Ro(e,t){return re(e)?e:new Do(e,t)}class Do{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:D(t),this._value=n?t:It(t)}get value(){return ti(this),this._value}set value(t){const n=this.__v_isShallow||zt(t)||dt(t);t=n?t:D(t),Et(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:It(t),ni(this))}}function Ho(e){return re(e)?e.value:e}const Bo={get:(e,t,n)=>Ho(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return re(i)&&!re(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function si(e){return ft(e)?e:new Proxy(e,Bo)}var ii;class ko{constructor(t,n,s,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[ii]=!1,this._dirty=!0,this.effect=new Bn(t,()=>{this._dirty||(this._dirty=!0,ni(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=D(this);return ti(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}ii="__v_isReadonly";function Uo(e,t,n=!1){let s,i;const o=S(e);return o?(s=e,i=we):(s=e.get,i=e.set),new ko(s,i,o||!i,n)}function Ke(e,t,n,s){let i;try{i=s?e(...s):e()}catch(o){Zt(o,t,n)}return i}function be(e,t,n,s){if(S(e)){const o=Ke(e,t,n,s);return o&&ks(o)&&o.catch(r=>{Zt(r,t,n)}),o}const i=[];for(let o=0;o>>1;At(oe[s])Pe&&oe.splice(t,1)}function qo(e){F(e)?ut.push(...e):(!Se||!Se.includes(e,e.allowRecurse?Ze+1:Ze))&&ut.push(e),ri()}function gs(e,t=Mt?Pe+1:0){for(;tAt(n)-At(s)),Ze=0;Zee.id==null?1/0:e.id,Jo=(e,t)=>{const n=At(e)-At(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ai(e){wn=!1,Mt=!0,oe.sort(Jo);const t=we;try{for(Pe=0;PeZ(A)?A.trim():A)),v&&(i=n.map(so))}let a,f=s[a=fn(t)]||s[a=fn(Oe(t))];!f&&o&&(f=s[a=fn(ht(t))]),f&&be(f,e,6,i);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,be(u,e,6,i)}}function ci(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!S(e)){const f=u=>{const p=ci(u,t,!0);p&&(a=!0,se(r,p))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!a?(G(e)&&s.set(e,null),null):(F(o)?o.forEach(f=>r[f]=null):se(r,o),G(e)&&s.set(e,r),r)}function en(e,t){return!e||!Jt(t)?!1:(t=t.slice(2).replace(/Once$/,""),R(e,t[0].toLowerCase()+t.slice(1))||R(e,ht(t))||R(e,t))}let ve=null,tn=null;function Vt(e){const t=ve;return ve=e,tn=e&&e.type.__scopeId||null,t}function fi(e){tn=e}function ui(){tn=null}function di(e,t=ve,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Es(-1);const o=Vt(t);let r;try{r=e(...i)}finally{Vt(o),s._d&&Es(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function dn(e){const{type:t,vnode:n,proxy:s,withProxy:i,props:o,propsOptions:[r],slots:a,attrs:f,emit:u,render:p,renderCache:v,data:y,setupState:A,ctx:N,inheritAttrs:$}=e;let q,H;const le=Vt(e);try{if(n.shapeFlag&4){const K=i||s;q=$e(p.call(K,K,v,o,A,y,N)),H=f}else{const K=t;q=$e(K.length>1?K(o,{attrs:f,slots:a,emit:u}):K(o,null)),H=t.props?f:Go(f)}}catch(K){Tt.length=0,Zt(K,e,1),q=fe(Te)}let O=q;if(H&&$!==!1){const K=Object.keys(H),{shapeFlag:ee}=O;K.length&&ee&7&&(r&&K.some(Nn)&&(H=Qo(H,r)),O=ze(O,H))}return n.dirs&&(O=ze(O),O.dirs=O.dirs?O.dirs.concat(n.dirs):n.dirs),n.transition&&(O.transition=n.transition),q=O,Vt(le),q}const Go=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jt(n))&&((t||(t={}))[n]=e[n]);return t},Qo=(e,t)=>{const n={};for(const s in e)(!Nn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Xo(e,t,n){const{props:s,children:i,component:o}=e,{props:r,children:a,patchFlag:f}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?ms(s,r,u):!!r;if(f&8){const p=t.dynamicProps;for(let v=0;ve.__isSuspense;function tr(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):qo(e)}function nr(e,t){if(Q){let n=Q.provides;const s=Q.parent&&Q.parent.provides;s===n&&(n=Q.provides=Object.create(s)),n[e]=t}}function Bt(e,t,n=!1){const s=Q||ve;if(s){const i=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&S(t)?t.call(s.proxy):t}}const Dt={};function pn(e,t,n){return pi(e,t,n)}function pi(e,t,{immediate:n,deep:s,flush:i,onTrack:o,onTrigger:r}=z){const a=ao()===(Q==null?void 0:Q.scope)?Q:null;let f,u=!1,p=!1;if(re(e)?(f=()=>e.value,u=zt(e)):ft(e)?(f=()=>e,s=!0):F(e)?(p=!0,u=e.some(O=>ft(O)||zt(O)),f=()=>e.map(O=>{if(re(O))return O.value;if(ft(O))return at(O);if(S(O))return Ke(O,a,2)})):S(e)?t?f=()=>Ke(e,a,2):f=()=>{if(!(a&&a.isUnmounted))return v&&v(),be(e,a,3,[y])}:f=we,t&&s){const O=f;f=()=>at(O())}let v,y=O=>{v=H.onStop=()=>{Ke(O,a,4)}},A;if(Pt)if(y=we,t?n&&be(t,a,3,[f(),p?[]:void 0,y]):f(),i==="sync"){const O=Zr();A=O.__watcherHandles||(O.__watcherHandles=[])}else return we;let N=p?new Array(e.length).fill(Dt):Dt;const $=()=>{if(H.active)if(t){const O=H.run();(s||u||(p?O.some((K,ee)=>Et(K,N[ee])):Et(O,N)))&&(v&&v(),be(t,a,3,[O,N===Dt?void 0:p&&N[0]===Dt?[]:N,y]),N=O)}else H.run()};$.allowRecurse=!!t;let q;i==="sync"?q=$:i==="post"?q=()=>ue($,a&&a.suspense):($.pre=!0,a&&($.id=a.uid),q=()=>Yn($));const H=new Bn(f,q);t?n?$():N=H.run():i==="post"?ue(H.run.bind(H),a&&a.suspense):H.run();const le=()=>{H.stop(),a&&a.scope&&jn(a.scope.effects,H)};return A&&A.push(le),le}function sr(e,t,n){const s=this.proxy,i=Z(e)?e.includes(".")?hi(s,e):()=>s[e]:e.bind(s,s);let o;S(t)?o=t:(o=t.handler,n=t);const r=Q;pt(this);const a=pi(i,o.bind(s),n);return r?pt(r):st(),a}function hi(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i{at(n,t)});else if(eo(e))for(const n in e)at(e[n],t);return e}function ir(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return _i(()=>{e.isMounted=!0}),yi(()=>{e.isUnmounting=!0}),e}const ge=[Function,Array],or={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ge,onEnter:ge,onAfterEnter:ge,onEnterCancelled:ge,onBeforeLeave:ge,onLeave:ge,onAfterLeave:ge,onLeaveCancelled:ge,onBeforeAppear:ge,onAppear:ge,onAfterAppear:ge,onAppearCancelled:ge},setup(e,{slots:t}){const n=Kr(),s=ir();let i;return()=>{const o=t.default&&vi(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const $ of o)if($.type!==Te){r=$;break}}const a=D(e),{mode:f}=a;if(s.isLeaving)return hn(r);const u=vs(r);if(!u)return hn(r);const p=Tn(u,a,s,n);En(u,p);const v=n.subTree,y=v&&vs(v);let A=!1;const{getTransitionKey:N}=u.type;if(N){const $=N();i===void 0?i=$:$!==i&&(i=$,A=!0)}if(y&&y.type!==Te&&(!et(u,y)||A)){const $=Tn(y,a,s,n);if(En(y,$),f==="out-in")return s.isLeaving=!0,$.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},hn(r);f==="in-out"&&u.type!==Te&&($.delayLeave=(q,H,le)=>{const O=mi(s,y);O[String(y.key)]=y,q._leaveCb=()=>{H(),q._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=le})}return r}}},gi=or;function mi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Tn(e,t,n,s){const{appear:i,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:f,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:v,onLeave:y,onAfterLeave:A,onLeaveCancelled:N,onBeforeAppear:$,onAppear:q,onAfterAppear:H,onAppearCancelled:le}=t,O=String(e.key),K=mi(n,e),ee=(L,J)=>{L&&be(L,s,9,J)},je=(L,J)=>{const W=J[1];ee(L,J),F(L)?L.every(ie=>ie.length<=1)&&W():L.length<=1&&W()},Ee={mode:o,persisted:r,beforeEnter(L){let J=a;if(!n.isMounted)if(i)J=$||a;else return;L._leaveCb&&L._leaveCb(!0);const W=K[O];W&&et(e,W)&&W.el._leaveCb&&W.el._leaveCb(),ee(J,[L])},enter(L){let J=f,W=u,ie=p;if(!n.isMounted)if(i)J=q||f,W=H||u,ie=le||p;else return;let E=!1;const V=L._enterCb=pe=>{E||(E=!0,pe?ee(ie,[L]):ee(W,[L]),Ee.delayedLeave&&Ee.delayedLeave(),L._enterCb=void 0)};J?je(J,[L,V]):V()},leave(L,J){const W=String(e.key);if(L._enterCb&&L._enterCb(!0),n.isUnmounting)return J();ee(v,[L]);let ie=!1;const E=L._leaveCb=V=>{ie||(ie=!0,J(),V?ee(N,[L]):ee(A,[L]),L._leaveCb=void 0,K[W]===e&&delete K[W])};K[W]=e,y?je(y,[L,E]):E()},clone(L){return Tn(L,t,n,s)}};return Ee}function hn(e){if(sn(e))return e=ze(e),e.children=null,e}function vs(e){return sn(e)?e.children?e.children[0]:void 0:e}function En(e,t){e.shapeFlag&6&&e.component?En(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 vi(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,sn=e=>e.type.__isKeepAlive;function rr(e,t){bi(e,"a",t)}function lr(e,t){bi(e,"da",t)}function bi(e,t,n=Q){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(on(t,s,n),n){let i=n.parent;for(;i&&i.parent;)sn(i.parent.vnode)&&ar(s,t,n,i),i=i.parent}}function ar(e,t,n,s){const i=on(t,e,s,!0);Ci(()=>{jn(s[t],i)},n)}function on(e,t,n=Q,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;gt(),pt(n);const a=be(t,n,e,r);return st(),mt(),a});return s?i.unshift(o):i.push(o),o}}const Ne=e=>(t,n=Q)=>(!Pt||e==="sp")&&on(e,(...s)=>t(...s),n),cr=Ne("bm"),_i=Ne("m"),fr=Ne("bu"),ur=Ne("u"),yi=Ne("bum"),Ci=Ne("um"),dr=Ne("sp"),pr=Ne("rtg"),hr=Ne("rtc");function gr(e,t=Q){on("ec",e,t)}function Je(e,t,n,s){const i=e.dirs,o=t&&t.dirs;for(let r=0;re?Ni(e)?es(e)||e.proxy:In(e.parent):null,wt=se(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=>In(e.parent),$root:e=>In(e.root),$emit:e=>e.emit,$options:e=>Gn(e),$forceUpdate:e=>e.f||(e.f=()=>Yn(e.update)),$nextTick:e=>e.n||(e.n=Wo.bind(e.proxy)),$watch:e=>sr.bind(e)}),gn=(e,t)=>e!==z&&!e.__isScriptSetup&&R(e,t),br={get({_:e},t){const{ctx:n,setupState:s,data:i,props:o,accessCache:r,type:a,appContext:f}=e;let u;if(t[0]!=="$"){const A=r[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(gn(s,t))return r[t]=1,s[t];if(i!==z&&R(i,t))return r[t]=2,i[t];if((u=e.propsOptions[0])&&R(u,t))return r[t]=3,o[t];if(n!==z&&R(n,t))return r[t]=4,n[t];Mn&&(r[t]=0)}}const p=wt[t];let v,y;if(p)return t==="$attrs"&&de(e,"get",t),p(e);if((v=a.__cssModules)&&(v=v[t]))return v;if(n!==z&&R(n,t))return r[t]=4,n[t];if(y=f.config.globalProperties,R(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return gn(i,t)?(i[t]=n,!0):s!==z&&R(s,t)?(s[t]=n,!0):R(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},r){let a;return!!n[r]||e!==z&&R(e,r)||gn(t,r)||(a=o[0])&&R(a,r)||R(s,r)||R(wt,r)||R(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:R(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Mn=!0;function _r(e){const t=Gn(e),n=e.proxy,s=e.ctx;Mn=!1,t.beforeCreate&&_s(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:f,inject:u,created:p,beforeMount:v,mounted:y,beforeUpdate:A,updated:N,activated:$,deactivated:q,beforeDestroy:H,beforeUnmount:le,destroyed:O,unmounted:K,render:ee,renderTracked:je,renderTriggered:Ee,errorCaptured:L,serverPrefetch:J,expose:W,inheritAttrs:ie,components:E,directives:V,filters:pe}=t;if(u&&yr(u,s,null,e.appContext.config.unwrapInjectedRef),r)for(const Y in r){const k=r[Y];S(k)&&(s[Y]=k.bind(n))}if(i){const Y=i.call(n,n);G(Y)&&(e.data=Wn(Y))}if(Mn=!0,o)for(const Y in o){const k=o[Y],Ve=S(k)?k.bind(n,n):S(k.get)?k.get.bind(n,n):we,Ot=!S(k)&&S(k.set)?k.set.bind(n):we,qe=Gr({get:Ve,set:Ot});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>qe.value,set:Ie=>qe.value=Ie})}if(a)for(const Y in a)Ti(a[Y],s,n,Y);if(f){const Y=S(f)?f.call(n):f;Reflect.ownKeys(Y).forEach(k=>{nr(k,Y[k])})}p&&_s(p,e,"c");function te(Y,k){F(k)?k.forEach(Ve=>Y(Ve.bind(n))):k&&Y(k.bind(n))}if(te(cr,v),te(_i,y),te(fr,A),te(ur,N),te(rr,$),te(lr,q),te(gr,L),te(hr,je),te(pr,Ee),te(yi,le),te(Ci,K),te(dr,J),F(W))if(W.length){const Y=e.exposed||(e.exposed={});W.forEach(k=>{Object.defineProperty(Y,k,{get:()=>n[k],set:Ve=>n[k]=Ve})})}else e.exposed||(e.exposed={});ee&&e.render===we&&(e.render=ee),ie!=null&&(e.inheritAttrs=ie),E&&(e.components=E),V&&(e.directives=V)}function yr(e,t,n=we,s=!1){F(e)&&(e=An(e));for(const i in e){const o=e[i];let r;G(o)?"default"in o?r=Bt(o.from||i,o.default,!0):r=Bt(o.from||i):r=Bt(o),re(r)&&s?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[i]=r}}function _s(e,t,n){be(F(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ti(e,t,n,s){const i=s.includes(".")?hi(n,s):()=>n[s];if(Z(e)){const o=t[e];S(o)&&pn(i,o)}else if(S(e))pn(i,e.bind(n));else if(G(e))if(F(e))e.forEach(o=>Ti(o,t,n,s));else{const o=S(e.handler)?e.handler.bind(n):t[e.handler];S(o)&&pn(i,o,e)}}function Gn(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let f;return a?f=a:!i.length&&!n&&!s?f=t:(f={},i.length&&i.forEach(u=>qt(f,u,r,!0)),qt(f,t,r)),G(t)&&o.set(t,f),f}function qt(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&qt(e,o,n,!0),i&&i.forEach(r=>qt(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=Cr[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const Cr={data:ys,props:Xe,emits:Xe,methods:Xe,computed:Xe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Xe,directives:Xe,watch:wr,provide:ys,inject:xr};function ys(e,t){return t?e?function(){return se(S(e)?e.call(this,this):e,S(t)?t.call(this,this):t)}:t:e}function xr(e,t){return Xe(An(e),An(t))}function An(e){if(F(e)){const t={};for(let n=0;n0)&&!(r&16)){if(r&8){const p=e.vnode.dynamicProps;for(let v=0;v{f=!0;const[y,A]=Ii(v,t,!0);se(r,y),A&&a.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!o&&!f)return G(e)&&s.set(e,ct),ct;if(F(o))for(let p=0;p-1,A[1]=$<0||N<$,(N>-1||R(A,"default"))&&a.push(v)}}}const u=[r,a];return G(e)&&s.set(e,u),u}function Cs(e){return e[0]!=="$"}function xs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ws(e,t){return xs(e)===xs(t)}function Ts(e,t){return F(t)?t.findIndex(n=>ws(n,e)):S(t)&&ws(t,e)?0:-1}const Mi=e=>e[0]==="_"||e==="$stable",Qn=e=>F(e)?e.map($e):[$e(e)],Ir=(e,t,n)=>{if(t._n)return t;const s=di((...i)=>Qn(t(...i)),n);return s._c=!1,s},Ai=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Mi(i))continue;const o=e[i];if(S(o))t[i]=Ir(i,o,s);else if(o!=null){const r=Qn(o);t[i]=()=>r}}},$i=(e,t)=>{const n=Qn(t);e.slots.default=()=>n},Mr=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=D(t),Wt(t,"_",n)):Ai(t,e.slots={})}else e.slots={},t&&$i(e,t);Wt(e.slots,ln,1)},Ar=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,r=z;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:(se(i,t),!n&&a===1&&delete i._):(o=!t.$stable,Ai(t,i)),r=t}else t&&($i(e,t),r={default:1});if(o)for(const a in i)!Mi(a)&&!(a in r)&&delete i[a]};function Pi(){return{app:null,config:{isNativeTag:Ji,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let $r=0;function Pr(e,t){return function(s,i=null){S(s)||(s=Object.assign({},s)),i!=null&&!G(i)&&(i=null);const o=Pi(),r=new Set;let a=!1;const f=o.app={_uid:$r++,_component:s,_props:i,_container:null,_context:o,_instance:null,version:el,get config(){return o.config},set config(u){},use(u,...p){return r.has(u)||(u&&S(u.install)?(r.add(u),u.install(f,...p)):S(u)&&(r.add(u),u(f,...p))),f},mixin(u){return o.mixins.includes(u)||o.mixins.push(u),f},component(u,p){return p?(o.components[u]=p,f):o.components[u]},directive(u,p){return p?(o.directives[u]=p,f):o.directives[u]},mount(u,p,v){if(!a){const y=fe(s,i);return y.appContext=o,p&&t?t(y,u):e(y,u,v),a=!0,f._container=u,u.__vue_app__=f,es(y.component)||y.component.proxy}},unmount(){a&&(e(null,f._container),delete f._container.__vue_app__)},provide(u,p){return o.provides[u]=p,f}};return f}}function Pn(e,t,n,s,i=!1){if(F(e)){e.forEach((y,A)=>Pn(y,t&&(F(t)?t[A]:t),n,s,i));return}if(kt(s)&&!i)return;const o=s.shapeFlag&4?es(s.component)||s.component.proxy:s.el,r=i?null:o,{i:a,r:f}=e,u=t&&t.r,p=a.refs===z?a.refs={}:a.refs,v=a.setupState;if(u!=null&&u!==f&&(Z(u)?(p[u]=null,R(v,u)&&(v[u]=null)):re(u)&&(u.value=null)),S(f))Ke(f,a,12,[r,p]);else{const y=Z(f),A=re(f);if(y||A){const N=()=>{if(e.f){const $=y?R(v,f)?v[f]:p[f]:f.value;i?F($)&&jn($,o):F($)?$.includes(o)||$.push(o):y?(p[f]=[o],R(v,f)&&(v[f]=p[f])):(f.value=[o],e.k&&(p[e.k]=f.value))}else y?(p[f]=r,R(v,f)&&(v[f]=r)):A&&(f.value=r,e.k&&(p[e.k]=r))};r?(N.id=-1,ue(N,n)):N()}}}const ue=tr;function Or(e){return Fr(e)}function Fr(e,t){const n=oo();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:r,createText:a,createComment:f,setText:u,setElementText:p,parentNode:v,nextSibling:y,setScopeId:A=we,insertStaticContent:N}=e,$=(l,c,d,g=null,h=null,_=null,x=!1,b=null,C=!!c.dynamicChildren)=>{if(l===c)return;l&&!et(l,c)&&(g=Ft(l),Ie(l,h,_,!0),l=null),c.patchFlag===-2&&(C=!1,c.dynamicChildren=null);const{type:m,ref:I,shapeFlag:T}=c;switch(m){case rn:q(l,c,d,g);break;case Te:H(l,c,d,g);break;case Ut:l==null&&le(c,d,g,x);break;case me:E(l,c,d,g,h,_,x,b,C);break;default:T&1?ee(l,c,d,g,h,_,x,b,C):T&6?V(l,c,d,g,h,_,x,b,C):(T&64||T&128)&&m.process(l,c,d,g,h,_,x,b,C,rt)}I!=null&&h&&Pn(I,l&&l.ref,_,c||l,!c)},q=(l,c,d,g)=>{if(l==null)s(c.el=a(c.children),d,g);else{const h=c.el=l.el;c.children!==l.children&&u(h,c.children)}},H=(l,c,d,g)=>{l==null?s(c.el=f(c.children||""),d,g):c.el=l.el},le=(l,c,d,g)=>{[l.el,l.anchor]=N(l.children,c,d,g,l.el,l.anchor)},O=({el:l,anchor:c},d,g)=>{let h;for(;l&&l!==c;)h=y(l),s(l,d,g),l=h;s(c,d,g)},K=({el:l,anchor:c})=>{let d;for(;l&&l!==c;)d=y(l),i(l),l=d;i(c)},ee=(l,c,d,g,h,_,x,b,C)=>{x=x||c.type==="svg",l==null?je(c,d,g,h,_,x,b,C):J(l,c,h,_,x,b,C)},je=(l,c,d,g,h,_,x,b)=>{let C,m;const{type:I,props:T,shapeFlag:M,transition:P,dirs:j}=l;if(C=l.el=r(l.type,_,T&&T.is,T),M&8?p(C,l.children):M&16&&L(l.children,C,null,g,h,_&&I!=="foreignObject",x,b),j&&Je(l,null,g,"created"),Ee(C,l,l.scopeId,x,g),T){for(const B in T)B!=="value"&&!Ht(B)&&o(C,B,null,T[B],_,l.children,g,h,Fe);"value"in T&&o(C,"value",null,T.value),(m=T.onVnodeBeforeMount)&&Ae(m,g,l)}j&&Je(l,null,g,"beforeMount");const U=(!h||h&&!h.pendingBranch)&&P&&!P.persisted;U&&P.beforeEnter(C),s(C,c,d),((m=T&&T.onVnodeMounted)||U||j)&&ue(()=>{m&&Ae(m,g,l),U&&P.enter(C),j&&Je(l,null,g,"mounted")},h)},Ee=(l,c,d,g,h)=>{if(d&&A(l,d),g)for(let _=0;_{for(let m=C;m{const b=c.el=l.el;let{patchFlag:C,dynamicChildren:m,dirs:I}=c;C|=l.patchFlag&16;const T=l.props||z,M=c.props||z;let P;d&&Ye(d,!1),(P=M.onVnodeBeforeUpdate)&&Ae(P,d,c,l),I&&Je(c,l,d,"beforeUpdate"),d&&Ye(d,!0);const j=h&&c.type!=="foreignObject";if(m?W(l.dynamicChildren,m,b,d,g,j,_):x||k(l,c,b,null,d,g,j,_,!1),C>0){if(C&16)ie(b,c,T,M,d,g,h);else if(C&2&&T.class!==M.class&&o(b,"class",null,M.class,h),C&4&&o(b,"style",T.style,M.style,h),C&8){const U=c.dynamicProps;for(let B=0;B{P&&Ae(P,d,c,l),I&&Je(c,l,d,"updated")},g)},W=(l,c,d,g,h,_,x)=>{for(let b=0;b{if(d!==g){if(d!==z)for(const b in d)!Ht(b)&&!(b in g)&&o(l,b,d[b],null,x,c.children,h,_,Fe);for(const b in g){if(Ht(b))continue;const C=g[b],m=d[b];C!==m&&b!=="value"&&o(l,b,m,C,x,c.children,h,_,Fe)}"value"in g&&o(l,"value",d.value,g.value)}},E=(l,c,d,g,h,_,x,b,C)=>{const m=c.el=l?l.el:a(""),I=c.anchor=l?l.anchor:a("");let{patchFlag:T,dynamicChildren:M,slotScopeIds:P}=c;P&&(b=b?b.concat(P):P),l==null?(s(m,d,g),s(I,d,g),L(c.children,d,I,h,_,x,b,C)):T>0&&T&64&&M&&l.dynamicChildren?(W(l.dynamicChildren,M,d,h,_,x,b),(c.key!=null||h&&c===h.subTree)&&Oi(l,c,!0)):k(l,c,d,I,h,_,x,b,C)},V=(l,c,d,g,h,_,x,b,C)=>{c.slotScopeIds=b,l==null?c.shapeFlag&512?h.ctx.activate(c,d,g,x,C):pe(c,d,g,h,_,x,C):bt(l,c,C)},pe=(l,c,d,g,h,_,x)=>{const b=l.component=Ur(l,g,h);if(sn(l)&&(b.ctx.renderer=rt),Wr(b),b.asyncDep){if(h&&h.registerDep(b,te),!l.el){const C=b.subTree=fe(Te);H(null,C,c,d)}return}te(b,l,c,d,h,_,x)},bt=(l,c,d)=>{const g=c.component=l.component;if(Xo(l,c,d))if(g.asyncDep&&!g.asyncResolved){Y(g,c,d);return}else g.next=c,Vo(g.update),g.update();else c.el=l.el,g.vnode=c},te=(l,c,d,g,h,_,x)=>{const b=()=>{if(l.isMounted){let{next:I,bu:T,u:M,parent:P,vnode:j}=l,U=I,B;Ye(l,!1),I?(I.el=j.el,Y(l,I,x)):I=j,T&&un(T),(B=I.props&&I.props.onVnodeBeforeUpdate)&&Ae(B,P,I,j),Ye(l,!0);const X=dn(l),_e=l.subTree;l.subTree=X,$(_e,X,v(_e.el),Ft(_e),l,h,_),I.el=X.el,U===null&&Zo(l,X.el),M&&ue(M,h),(B=I.props&&I.props.onVnodeUpdated)&&ue(()=>Ae(B,P,I,j),h)}else{let I;const{el:T,props:M}=c,{bm:P,m:j,parent:U}=l,B=kt(c);if(Ye(l,!1),P&&un(P),!B&&(I=M&&M.onVnodeBeforeMount)&&Ae(I,U,c),Ye(l,!0),T&&cn){const X=()=>{l.subTree=dn(l),cn(T,l.subTree,l,h,null)};B?c.type.__asyncLoader().then(()=>!l.isUnmounted&&X()):X()}else{const X=l.subTree=dn(l);$(null,X,d,g,l,h,_),c.el=X.el}if(j&&ue(j,h),!B&&(I=M&&M.onVnodeMounted)){const X=c;ue(()=>Ae(I,U,X),h)}(c.shapeFlag&256||U&&kt(U.vnode)&&U.vnode.shapeFlag&256)&&l.a&&ue(l.a,h),l.isMounted=!0,c=d=g=null}},C=l.effect=new Bn(b,()=>Yn(m),l.scope),m=l.update=()=>C.run();m.id=l.uid,Ye(l,!0),m()},Y=(l,c,d)=>{c.component=l;const g=l.vnode.props;l.vnode=c,l.next=null,Er(l,c.props,g,d),Ar(l,c.children,d),gt(),gs(),mt()},k=(l,c,d,g,h,_,x,b,C=!1)=>{const m=l&&l.children,I=l?l.shapeFlag:0,T=c.children,{patchFlag:M,shapeFlag:P}=c;if(M>0){if(M&128){Ot(m,T,d,g,h,_,x,b,C);return}else if(M&256){Ve(m,T,d,g,h,_,x,b,C);return}}P&8?(I&16&&Fe(m,h,_),T!==m&&p(d,T)):I&16?P&16?Ot(m,T,d,g,h,_,x,b,C):Fe(m,h,_,!0):(I&8&&p(d,""),P&16&&L(T,d,g,h,_,x,b,C))},Ve=(l,c,d,g,h,_,x,b,C)=>{l=l||ct,c=c||ct;const m=l.length,I=c.length,T=Math.min(m,I);let M;for(M=0;MI?Fe(l,h,_,!0,!1,T):L(c,d,g,h,_,x,b,C,T)},Ot=(l,c,d,g,h,_,x,b,C)=>{let m=0;const I=c.length;let T=l.length-1,M=I-1;for(;m<=T&&m<=M;){const P=l[m],j=c[m]=C?ke(c[m]):$e(c[m]);if(et(P,j))$(P,j,d,null,h,_,x,b,C);else break;m++}for(;m<=T&&m<=M;){const P=l[T],j=c[M]=C?ke(c[M]):$e(c[M]);if(et(P,j))$(P,j,d,null,h,_,x,b,C);else break;T--,M--}if(m>T){if(m<=M){const P=M+1,j=PM)for(;m<=T;)Ie(l[m],h,_,!0),m++;else{const P=m,j=m,U=new Map;for(m=j;m<=M;m++){const he=c[m]=C?ke(c[m]):$e(c[m]);he.key!=null&&U.set(he.key,m)}let B,X=0;const _e=M-j+1;let lt=!1,is=0;const _t=new Array(_e);for(m=0;m<_e;m++)_t[m]=0;for(m=P;m<=T;m++){const he=l[m];if(X>=_e){Ie(he,h,_,!0);continue}let Me;if(he.key!=null)Me=U.get(he.key);else for(B=j;B<=M;B++)if(_t[B-j]===0&&et(he,c[B])){Me=B;break}Me===void 0?Ie(he,h,_,!0):(_t[Me-j]=m+1,Me>=is?is=Me:lt=!0,$(he,c[Me],d,null,h,_,x,b,C),X++)}const os=lt?Sr(_t):ct;for(B=os.length-1,m=_e-1;m>=0;m--){const he=j+m,Me=c[he],rs=he+1{const{el:_,type:x,transition:b,children:C,shapeFlag:m}=l;if(m&6){qe(l.component.subTree,c,d,g);return}if(m&128){l.suspense.move(c,d,g);return}if(m&64){x.move(l,c,d,rt);return}if(x===me){s(_,c,d);for(let T=0;Tb.enter(_),h);else{const{leave:T,delayLeave:M,afterLeave:P}=b,j=()=>s(_,c,d),U=()=>{T(_,()=>{j(),P&&P()})};M?M(_,j,U):U()}else s(_,c,d)},Ie=(l,c,d,g=!1,h=!1)=>{const{type:_,props:x,ref:b,children:C,dynamicChildren:m,shapeFlag:I,patchFlag:T,dirs:M}=l;if(b!=null&&Pn(b,null,d,l,!0),I&256){c.ctx.deactivate(l);return}const P=I&1&&M,j=!kt(l);let U;if(j&&(U=x&&x.onVnodeBeforeUnmount)&&Ae(U,c,l),I&6)ki(l.component,d,g);else{if(I&128){l.suspense.unmount(d,g);return}P&&Je(l,null,c,"beforeUnmount"),I&64?l.type.remove(l,c,d,h,rt,g):m&&(_!==me||T>0&&T&64)?Fe(m,c,d,!1,!0):(_===me&&T&384||!h&&I&16)&&Fe(C,c,d),g&&ns(l)}(j&&(U=x&&x.onVnodeUnmounted)||P)&&ue(()=>{U&&Ae(U,c,l),P&&Je(l,null,c,"unmounted")},d)},ns=l=>{const{type:c,el:d,anchor:g,transition:h}=l;if(c===me){Bi(d,g);return}if(c===Ut){K(l);return}const _=()=>{i(d),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(l.shapeFlag&1&&h&&!h.persisted){const{leave:x,delayLeave:b}=h,C=()=>x(d,_);b?b(l.el,_,C):C()}else _()},Bi=(l,c)=>{let d;for(;l!==c;)d=y(l),i(l),l=d;i(c)},ki=(l,c,d)=>{const{bum:g,scope:h,update:_,subTree:x,um:b}=l;g&&un(g),h.stop(),_&&(_.active=!1,Ie(x,l,c,d)),b&&ue(b,c),ue(()=>{l.isUnmounted=!0},c),c&&c.pendingBranch&&!c.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===c.pendingId&&(c.deps--,c.deps===0&&c.resolve())},Fe=(l,c,d,g=!1,h=!1,_=0)=>{for(let x=_;xl.shapeFlag&6?Ft(l.component.subTree):l.shapeFlag&128?l.suspense.next():y(l.anchor||l.el),ss=(l,c,d)=>{l==null?c._vnode&&Ie(c._vnode,null,null,!0):$(c._vnode||null,l,c,null,null,null,d),gs(),li(),c._vnode=l},rt={p:$,um:Ie,m:qe,r:ns,mt:pe,mc:L,pc:k,pbc:W,n:Ft,o:e};let an,cn;return t&&([an,cn]=t(rt)),{render:ss,hydrate:an,createApp:Pr(ss,an)}}function Ye({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Oi(e,t,n=!1){const s=e.children,i=t.children;if(F(s)&&F(i))for(let o=0;o>1,e[n[a]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,r=n[o-1];o-- >0;)n[o]=r,r=t[r];return n}const Lr=e=>e.__isTeleport,me=Symbol(void 0),rn=Symbol(void 0),Te=Symbol(void 0),Ut=Symbol(void 0),Tt=[];let xe=null;function ce(e=!1){Tt.push(xe=e?null:[])}function Nr(){Tt.pop(),xe=Tt[Tt.length-1]||null}let $t=1;function Es(e){$t+=e}function Fi(e){return e.dynamicChildren=$t>0?xe||ct:null,Nr(),$t>0&&xe&&xe.push(e),e}function it(e,t,n,s,i,o){return Fi(w(e,t,n,s,i,o,!0))}function Be(e,t,n,s,i){return Fi(fe(e,t,n,s,i,!0))}function On(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const ln="__vInternal",Si=({key:e})=>e??null,Kt=({ref:e,ref_key:t,ref_for:n})=>e!=null?Z(e)||re(e)||S(e)?{i:ve,r:e,k:t,f:!!n}:e:null;function w(e,t=null,n=null,s=0,i=null,o=e===me?0:1,r=!1,a=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Si(t),ref:t&&Kt(t),scopeId:tn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:ve};return a?(Zn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=Z(n)?8:16),$t>0&&!r&&xe&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&xe.push(f),f}const fe=jr;function jr(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===wi)&&(e=Te),On(e)){const a=ze(e,t,!0);return n&&Zn(a,n),$t>0&&!o&&xe&&(a.shapeFlag&6?xe[xe.indexOf(e)]=a:xe.push(a)),a.patchFlag|=-2,a}if(Yr(e)&&(e=e.__vccOpts),t){t=Rr(t);let{class:a,style:f}=t;a&&!Z(a)&&(t.class=ne(a)),G(f)&&(Zs(f)&&!F(f)&&(f=se({},f)),t.style=Ln(f))}const r=Z(e)?1:er(e)?128:Lr(e)?64:G(e)?4:S(e)?2:0;return w(e,t,n,s,i,r,o,!0)}function Rr(e){return e?Zs(e)||ln in e?se({},e):e:null}function ze(e,t,n=!1){const{props:s,ref:i,patchFlag:o,children:r}=e,a=t?Hr(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Si(a),ref:t&&t.ref?n&&i?F(i)?i.concat(Kt(t)):[i,Kt(t)]:Kt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ze(e.ssContent),ssFallback:e.ssFallback&&ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Li(e=" ",t=0){return fe(rn,null,e,t)}function Xn(e,t){const n=fe(Ut,null,e);return n.staticCount=t,n}function Dr(e="",t=!1){return t?(ce(),Be(Te,null,e)):fe(Te,null,e)}function $e(e){return e==null||typeof e=="boolean"?fe(Te):F(e)?fe(me,null,e.slice()):typeof e=="object"?ke(e):fe(rn,null,String(e))}function ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ze(e)}function Zn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(F(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Zn(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(ln in t)?t._ctx=ve:i===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else S(t)?(t={default:t,_ctx:ve},n=32):(t=String(t),s&64?(n=16,t=[Li(t)]):n=8);e.children=t,e.shapeFlag|=n}function Hr(...e){const t={};for(let n=0;nQ||ve,pt=e=>{Q=e,e.scope.on()},st=()=>{Q&&Q.scope.off(),Q=null};function Ni(e){return e.vnode.shapeFlag&4}let Pt=!1;function Wr(e,t=!1){Pt=t;const{props:n,children:s}=e.vnode,i=Ni(e);Tr(e,n,i,t),Mr(e,s);const o=i?zr(e,t):void 0;return Pt=!1,o}function zr(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=ei(new Proxy(e.ctx,br));const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?qr(e):null;pt(e),gt();const o=Ke(s,e,0,[e.props,i]);if(mt(),st(),ks(o)){if(o.then(st,st),t)return o.then(r=>{Is(e,r,t)}).catch(r=>{Zt(r,e,0)});e.asyncDep=o}else Is(e,o,t)}else ji(e,t)}function Is(e,t,n){S(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G(t)&&(e.setupState=si(t)),ji(e,n)}let Ms;function ji(e,t,n){const s=e.type;if(!e.render){if(!t&&Ms&&!s.render){const i=s.template||Gn(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:f}=s,u=se(se({isCustomElement:o,delimiters:a},r),f);s.render=Ms(i,u)}}e.render=s.render||we}pt(e),gt(),_r(e),mt(),st()}function Vr(e){return new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}})}function qr(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Vr(e))},slots:e.slots,emit:e.emit,expose:t}}function es(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(si(ei(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in wt)return wt[n](e)},has(t,n){return n in t||n in wt}}))}function Jr(e,t=!0){return S(e)?e.displayName||e.name:e.name||t&&e.__name}function Yr(e){return S(e)&&"__vccOpts"in e}const Gr=(e,t)=>Uo(e,t,Pt);function Qr(e,t,n){const s=arguments.length;return s===2?G(t)&&!F(t)?On(t)?fe(e,null,[t]):fe(e,t):fe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&On(n)&&(n=[n]),fe(e,t,n))}const Xr=Symbol(""),Zr=()=>Bt(Xr),el="3.2.47",tl="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,As=tt&&tt.createElement("template"),nl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t?tt.createElementNS(tl,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const r=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{As.innerHTML=s?`${e}`:e;const a=As.content;if(s){const f=a.firstChild;for(;f.firstChild;)a.appendChild(f.firstChild);a.removeChild(f)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function sl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function il(e,t,n){const s=e.style,i=Z(n);if(n&&!i){if(t&&!Z(t))for(const o in t)n[o]==null&&Fn(s,o,"");for(const o in n)Fn(s,o,n[o])}else{const o=s.display;i?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const $s=/\s*!important$/;function Fn(e,t,n){if(F(n))n.forEach(s=>Fn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ol(e,t);$s.test(n)?e.setProperty(ht(s),n.replace($s,""),"important"):e[s]=n}}const Ps=["Webkit","Moz","ms"],mn={};function ol(e,t){const n=mn[t];if(n)return n;let s=Oe(t);if(s!=="filter"&&s in e)return mn[t]=s;s=Qt(s);for(let i=0;ivn||(dl.then(()=>vn=0),vn=Date.now());function hl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(gl(s,n.value),t,5,[s])};return n.value=e,n.attached=pl(),n}function gl(e,t){if(F(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const Ss=/^on[a-z]/,ml=(e,t,n,s,i=!1,o,r,a,f)=>{t==="class"?sl(e,s,i):t==="style"?il(e,n,s):Jt(t)?Nn(t)||fl(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):vl(e,t,s,i))?ll(e,t,s,o,r,a,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),rl(e,t,s,i))};function vl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Ss.test(t)&&S(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ss.test(t)&&Z(n)?!1:t in e}const De="transition",yt="animation",ts=(e,{slots:t})=>Qr(gi,bl(e),t);ts.displayName="Transition";const Ri={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};ts.props=se({},gi.props,Ri);const Ge=(e,t=[])=>{F(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ls=e=>e?F(e)?e.some(t=>t.length>1):e.length>1:!1;function bl(e){const t={};for(const E in e)E in Ri||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:f=o,appearActiveClass:u=r,appearToClass:p=a,leaveFromClass:v=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,N=_l(i),$=N&&N[0],q=N&&N[1],{onBeforeEnter:H,onEnter:le,onEnterCancelled:O,onLeave:K,onLeaveCancelled:ee,onBeforeAppear:je=H,onAppear:Ee=le,onAppearCancelled:L=O}=t,J=(E,V,pe)=>{Qe(E,V?p:a),Qe(E,V?u:r),pe&&pe()},W=(E,V)=>{E._isLeaving=!1,Qe(E,v),Qe(E,A),Qe(E,y),V&&V()},ie=E=>(V,pe)=>{const bt=E?Ee:le,te=()=>J(V,E,pe);Ge(bt,[V,te]),Ns(()=>{Qe(V,E?f:o),He(V,E?p:a),Ls(bt)||js(V,s,$,te)})};return se(t,{onBeforeEnter(E){Ge(H,[E]),He(E,o),He(E,r)},onBeforeAppear(E){Ge(je,[E]),He(E,f),He(E,u)},onEnter:ie(!1),onAppear:ie(!0),onLeave(E,V){E._isLeaving=!0;const pe=()=>W(E,V);He(E,v),xl(),He(E,y),Ns(()=>{E._isLeaving&&(Qe(E,v),He(E,A),Ls(K)||js(E,s,q,pe))}),Ge(K,[E,pe])},onEnterCancelled(E){J(E,!1),Ge(O,[E])},onAppearCancelled(E){J(E,!0),Ge(L,[E])},onLeaveCancelled(E){W(E),Ge(ee,[E])}})}function _l(e){if(e==null)return null;if(G(e))return[bn(e.enter),bn(e.leave)];{const t=bn(e);return[t,t]}}function bn(e){return io(e)}function He(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Qe(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ns(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let yl=0;function js(e,t,n,s){const i=e._endId=++yl,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:f}=Cl(e,t);if(!r)return s();const u=r+"end";let p=0;const v=()=>{e.removeEventListener(u,y),o()},y=A=>{A.target===e&&++p>=f&&v()};setTimeout(()=>{p(n[N]||"").split(", "),i=s(`${De}Delay`),o=s(`${De}Duration`),r=Rs(i,o),a=s(`${yt}Delay`),f=s(`${yt}Duration`),u=Rs(a,f);let p=null,v=0,y=0;t===De?r>0&&(p=De,v=r,y=o.length):t===yt?u>0&&(p=yt,v=u,y=f.length):(v=Math.max(r,u),p=v>0?r>u?De:yt:null,y=p?p===De?o.length:f.length:0);const A=p===De&&/\b(transform|all)(,|$)/.test(s(`${De}Property`).toString());return{type:p,timeout:v,propCount:y,hasTransform:A}}function Rs(e,t){for(;e.lengthDs(n)+Ds(e[s])))}function Ds(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function xl(){return document.body.offsetHeight}const wl=se({patchProp:ml},nl);let Hs;function Tl(){return Hs||(Hs=Or(wl))}const El=(...e)=>{const t=Tl().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Il(s);if(!i)return;const o=t._component;!S(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function Il(e){return Z(e)?document.querySelector(e):e}const Di="/assets/Vue-5532db34.svg",Ml="/assets/Python-3cb5503b.svg",Al="/assets/C-7a16311b.svg",$l="/assets/Godot-c6e7900f.svg",Pl="/assets/info-2a702950.svg",Ol="/assets/C.shapes-6ef45937.jpeg",Fl="/assets/C.laplace-207c50c6.jpeg",Sl="/assets/C.mandel-933eaf0f.jpeg",Ll="/assets/C.nbody-f4c5f1bc.jpeg",Hi=e=>(fi("data-v-27d756da"),e=e(),ui(),e),Nl=Hi(()=>w("h2",null,"C++ Graphics & Computational Science Projects",-1)),jl=Hi(()=>w("h5",null,"2011",-1)),Rl={class:"text-cell"},Dl={class:"text-cell"},Hl={class:"text-cell"},Bl={class:"text-cell"},kl=nn({__name:"C",setup(e){const t=qn("");return(n,s)=>(ce(),it("div",null,[Nl,jl,w("table",null,[w("tr",null,[w("td",null,[w("img",{src:Ol,onClick:s[0]||(s[0]=i=>t.value="shapes"),onMouseover:s[1]||(s[1]=i=>t.value="shapes")},null,32)]),w("td",Rl,[w("h4",{onClick:s[2]||(s[2]=i=>t.value="shapes"),onMouseover:s[3]||(s[3]=i=>t.value="shapes")}," OpenGL Scene ",32),w("p",{class:ne({focused:t.value==="shapes"})}," Draws a lit scene with various rotating objects. Camera can rotate with the mouse. The sphere is created by subdividing a tetrahedron. ",2)])]),w("tr",null,[w("td",null,[w("img",{src:Fl,onClick:s[4]||(s[4]=i=>t.value="laplace"),onMouseover:s[5]||(s[5]=i=>t.value="laplace")},null,32)]),w("td",Dl,[w("h4",{onClick:s[6]||(s[6]=i=>t.value="laplace"),onMouseover:s[7]||(s[7]=i=>t.value="laplace")}," OpenMP Laplace Heatmap ",32),w("p",{class:ne({focused:t.value==="laplace"})}," Simulates a heat distribution map with successive approximations computed in parallel. ",2)])]),w("tr",null,[w("td",null,[w("img",{src:Sl,onClick:s[8]||(s[8]=i=>t.value="mandel"),onMouseover:s[9]||(s[9]=i=>t.value="mandel")},null,32)]),w("td",Hl,[w("h4",{onClick:s[10]||(s[10]=i=>t.value="mandel"),onMouseover:s[11]||(s[11]=i=>t.value="mandel")}," OpenMPI Mandelbrot Set ",32),w("p",{class:ne({focused:t.value==="mandel"})}," Calculates and visualizes the Mandelbrot set in parallel via message passing. ",2)])]),w("tr",null,[w("td",null,[w("img",{src:Ll,onClick:s[12]||(s[12]=i=>t.value="nbody"),onMouseover:s[13]||(s[13]=i=>t.value="nbody")},null,32)]),w("td",Bl,[w("h4",{onClick:s[14]||(s[14]=i=>t.value="nbody"),onMouseover:s[15]||(s[15]=i=>t.value="nbody")}," OpenMPI N-Body Orbits ",32),w("p",{class:ne({focused:t.value==="nbody"})}," Simulates the planetary rotations of our solar system as an n-body problem, calculated in parallel via message passing. Visualized as a ten year orbit of the planets. ",2)])])])]))}});const vt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},Ul=vt(kl,[["__scopeId","data-v-27d756da"]]),Kl="/assets/LinkedIn-7af54eae.svg";const Wl={},zl=Xn('

Skills

Expertise 10+ Years

  • Web Apps
  • JavaScript
  • HTML
  • CSS
  • Clean Coding
  • Documentation

Proficient 3-9 Years

  • Hybrid Apps / Capacitor
  • Web Architecture & APIs
  • Project Management
  • Team Leadership
  • Vue
  • TypeScript
  • Node
  • Django
  • Python
  • Elm
  • Git
  • SQL
  • NoSQL
  • Firebase
  • AJAX
  • Apache
  • UI / UX
  • SDLC & QA
  • Gamification
  • Microservices
  • Custom CMS / LMS
  • Operating Systems
  • Remote Collaboration
  • Agile Development
  • Customer Service
  • Technical Writing & Support

Experienced 1-2 Years

  • Progressive Web Apps
  • GitHub Actions
  • PHP
  • Java
  • Drupal
  • WordPress
  • GCP
  • SVN
  • XState
  • CI / CD
  • TDD
  • SASS

Familiar < 1 year

  • C++
  • Go
  • Rust
  • React
  • Angular
  • AWS
  • WebGL
  • GraphQL
  • Selenium
  • Godot

General Tech Interests

  • Next gen web technologies
  • Interactivity & gamification
  • Cross-platform & hybrid apps
  • Educational & social tools
  • Data visualization, simulation & virtualization
  • Sustainable & open source software
  • Decentralized governance, democracy & blockchains
  • Scientific, concurrent & high performance computing
  • & More

Other Hobbies

  • Tai Chi
  • Qigong
  • Yoga
  • Jeet Kune Do
  • Hiking
  • Gaming
  • Meditation
  • Reading
',14),Vl=[zl];function ql(e,t){return ce(),it("div",null,Vl)}const Jl=vt(Wl,[["render",ql],["__scopeId","data-v-953b8a40"]]),Yl={};function Gl(e,t){return ce(),it("h3",null,"Coming Soon: Godot Project Demo")}const Ql=vt(Yl,[["render",Gl]]),Xl="/assets/Python.brts-3853e43d.png",Zl="/assets/Python.breaker1-8a6f137f.jpeg",ea="/assets/Python.breaker2-d47a9fff.jpeg";const ta={},na=Xn('

White Label Django Learning Management Platform

2018 ~ 2020

This Python project was inherited when I started working with Oregon Research Institute and Influents Innovations. My team and I maintained and enhanced the existing collection of web apps, servers, databases, and associated native mobile apps for a few years while expanding their scope to support a dozen different research projects.

A few of the many enhancements I worked on included evolving the project into a progressive web app (PWA), implementing custom landing pages configurable by project managers, and enhancing the web servers to support HTTPS encryption with auto-renewing certificates.

Eventually, I became intimately familiar with the existing platform and its limitations relative to future goals for the platform. So I led the successful efforts to propose, architect, and rebuild the LMS platform from scratch using innovative and efficient technologies (see Vue section for details on the successor project).

Learn More

Find more details here in the 'T-BIDS' product section

Block Breaker Game

2010

Breakout style game built using the Pygame library. Extra balls make this version more interesting than the original game.

',13),sa=[na];function ia(e,t){return ce(),it("div",null,sa)}const oa=vt(ta,[["render",ia],["__scopeId","data-v-b4ac3716"]]),ra="/assets/Vue.brts-0d07c5b9.png",la="/assets/Ionic-6dc8eb67.svg",aa="/assets/Node-3013b930.svg",ca="/assets/TS-14a00f9d.svg",fa="/assets/Firebase-44a65a5e.svg",ua="/assets/Capacitor-299ab557.svg",ot=e=>(fi("data-v-8202beaf"),e=e(),ui(),e),da=ot(()=>w("h2",null,"White Label Cross-Platform Vue Learning Management Platform",-1)),pa=ot(()=>w("h5",null,"2020 ~ 2023",-1)),ha=ot(()=>w("img",{src:ra,class:"banner",alt:"be ready to smile images"},null,-1)),ga=ot(()=>w("p",null," This was a project I initiated after working with Oregon Research Institute and Influents Innovations on their existing LMS platform for a few years and recognizing the limitations holding it back (see Python section for more details on the legacy product). ",-1)),ma=ot(()=>w("p",null," In the first year of the project, I led the proposal, prototyping, and architecture phases of the software rebuild process. Next, my small team and I completed the core project and features over two more years of development, then launched our organization's new flagship product across web and mobile platforms successfully. ",-1)),va=ot(()=>w("br",null,null,-1)),ba=ot(()=>w("h3",null,"Tech Stack",-1)),_a=Xn('

Major Enhancements

New Software AdvantagesLegacy Software Limitations
One unified codebase which compiled to native web, iOS & Android versions Three different codebases, one for each platform supported, and each in a different language
A cloud based serverless backend architecture, easily scalable and hosted by Google Firebase Custom Django servers, hosted by our inhouse IT staff, and managed manually by me and our small software team
Modern frontend framework and component libraries for rapid development and supperior visual and interactive quality No frontend framework foundation, all UI/UX design work done from scratch, further hindering our productivity and ability to iterate quickly

Learn More

For a sample of hybrid mobile versions of an app compiled from the unified LMS platform, please check out these App Store and Play Store pages of an associated project.

Find more details about specific projects utilizing the custom LMS platform here in the 'Be Ready To Smile' & 'MomMoodBooster' product sections.

',7),ya=nn({__name:"Vue",setup(e){const t=qn("");return(n,s)=>(ce(),it("div",null,[da,pa,ha,ga,ma,va,ba,w("img",{src:Di,onClick:s[0]||(s[0]=i=>t.value="vue"),onMouseover:s[1]||(s[1]=i=>t.value="vue"),onMouseleave:s[2]||(s[2]=i=>t.value=""),class:"logo",alt:"Vue logo"},null,32),w("img",{src:la,onClick:s[3]||(s[3]=i=>t.value="ionic"),onMouseover:s[4]||(s[4]=i=>t.value="ionic"),onMouseleave:s[5]||(s[5]=i=>t.value=""),class:"logo",alt:"Ionic logo"},null,32),w("img",{src:aa,onClick:s[6]||(s[6]=i=>t.value="node"),onMouseover:s[7]||(s[7]=i=>t.value="node"),onMouseleave:s[8]||(s[8]=i=>t.value=""),class:"logo",alt:"Node logo"},null,32),w("img",{src:ca,onClick:s[9]||(s[9]=i=>t.value="ts"),onMouseover:s[10]||(s[10]=i=>t.value="ts"),onMouseleave:s[11]||(s[11]=i=>t.value=""),class:"logo",alt:"TypeScript logo"},null,32),w("img",{src:fa,onClick:s[12]||(s[12]=i=>t.value="firebase"),onMouseover:s[13]||(s[13]=i=>t.value="firebase"),onMouseleave:s[14]||(s[14]=i=>t.value=""),class:"logo",alt:"Firebase logo"},null,32),w("img",{src:ua,onClick:s[15]||(s[15]=i=>t.value="capacitor"),onMouseover:s[16]||(s[16]=i=>t.value="capacitor"),onMouseleave:s[17]||(s[17]=i=>t.value=""),class:"logo",alt:"Capacitor logo"},null,32),w("p",{class:ne({focused:t.value==="vue"})},"Vue Framework",2),w("p",{class:ne({focused:t.value==="ionic"})},"Ionic Framework",2),w("p",{class:ne({focused:t.value==="node"})},"Node.js",2),w("p",{class:ne({focused:t.value==="ts"})},"TypeScript",2),w("p",{class:ne({focused:t.value==="firebase"})},"Firebase + GCP",2),w("p",{class:ne({focused:t.value==="capacitor"})}," Capacitor (Hybrid Mobile Apps) ",2),_a]))}});const Ca=vt(ya,[["__scopeId","data-v-8202beaf"]]),xa=w("h2",null,"WebGL Benchmark ~ 2012",-1),wa=w("canvas",{id:"canvas",width:"658",height:"410"},null,-1),Ta=w("div",{id:"framerate"},null,-1),Ea=w("input",{type:"checkbox",id:"lighting",checked:""},null,-1),Ia=w("input",{type:"checkbox",id:"per-pixel",checked:"",style:{display:"none"}},null,-1),Ma=w("p",null,"A basic benchmark exercise created to experiment with WebGL.",-1),Aa=w("p",null,"The JavaScript and OpenGL source is available in this page.",-1),$a=w("p",null,"Click & drag to rotate camera.",-1),Pa=nn({__name:"WebGL",setup(e){return(t,n)=>(ce(),it(me,null,[xa,wa,Ta,Ea,Li(" Use Lighting "),Ia,Ma,Aa,$a],64))}}),Oa=nn({__name:"App",setup(e){const t=qn("");return(n,s)=>(ce(),it(me,null,[w("div",null,[w("img",{src:Di,onClick:s[0]||(s[0]=i=>t.value="Vue"),class:ne(["logo",{active:t.value==="Vue"}]),alt:"Vue logo"},null,2),w("img",{src:Ml,onClick:s[1]||(s[1]=i=>t.value="Python"),class:ne(["logo",{active:t.value==="Python"}]),alt:"Python logo"},null,2),w("img",{src:Al,onClick:s[2]||(s[2]=i=>t.value="C"),class:ne(["logo",{active:t.value==="C"}]),alt:"C++ logo"},null,2),w("img",{src:$l,onClick:s[3]||(s[3]=i=>t.value="Godot"),class:ne(["logo",{active:t.value==="Godot"}]),alt:"Godot logo"},null,2),w("img",{src:Pl,onClick:s[4]||(s[4]=i=>t.value="Info"),class:ne(["logo",{active:t.value==="Info"}]),alt:"info logo"},null,2)]),fe(ts,{name:"fade",mode:"out-in"},{default:di(()=>[t.value==="C"?(ce(),Be(Ul,{key:0})):t.value==="Godot"?(ce(),Be(Ql,{key:1})):t.value==="Python"?(ce(),Be(oa,{key:2})):t.value==="Vue"?(ce(),Be(Ca,{key:3})):t.value==="WebGL"?(ce(),Be(Pa,{key:4})):t.value==="Info"?(ce(),Be(Jl,{key:5})):Dr("",!0)]),_:1}),(ce(),Be(mr(t.value)))],64))}});const Fa=vt(Oa,[["__scopeId","data-v-33e25f85"]]);El(Fa).mount("#app"); diff --git a/index.html b/index.html index 89af098..8963f53 100644 --- a/index.html +++ b/index.html @@ -5,8 +5,8 @@ Paul Naylor - - + +