lecodes-3d-editor 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -0
- package/dist/app/assets/createViewer-DGHC9eXK.js +5 -0
- package/dist/app/assets/createViewer2d-CI6PFuCm.js +1 -0
- package/dist/app/assets/createViewerLite-CoShwplA.js +487 -0
- package/dist/app/assets/creator-gl-GaTBGmVI.wasm +0 -0
- package/dist/app/assets/creator-ui-DNJBpZ2P.wasm +0 -0
- package/dist/app/assets/creator2d-zNxn9uSj.wasm +0 -0
- package/dist/app/assets/fetch-CbiE4Jmm.js +1 -0
- package/dist/app/assets/fetch-yAxxs-ZQ.js +1 -0
- package/dist/app/assets/gizmo-D5xdNVjw.filamat +0 -0
- package/dist/app/assets/index-BuGYQX6Z.css +1 -0
- package/dist/app/assets/index-DZc_N5Kk.js +2 -0
- package/dist/app/assets/lit-WtoZF0Yx.filamat +0 -0
- package/dist/app/assets/matcap_porcelain_white-DRnbNWwg.jpg +0 -0
- package/dist/app/assets/mediaplayer-40oza6jV.js +1 -0
- package/dist/app/assets/neutral_ibl128-D-lzdkLN.ktx +0 -0
- package/dist/app/assets/shadow-CnJ-PXnb.filamat +0 -0
- package/dist/app/assets/src-DKPpeImT.js +451 -0
- package/dist/app/assets/uberarchive-De8g3sSw.bin +0 -0
- package/dist/app/assets/unlit-pnl94z8g.filamat +0 -0
- package/dist/app/assets/video-CdjDrvX4.filamat +0 -0
- package/dist/app/index.html +26 -0
- package/dist/server.js +503 -0
- package/package.json +34 -0
- package/src/index.ts +19 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./fetch-yAxxs-ZQ.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[],t=new TextDecoder(`utf-8`),n=async(t,n,r,i)=>{let a;if(n.body)if(typeof n.body==`object`&&Array.isArray(n.body._entries)){let e=new FormData;for(let[t,r,i]of n.body._entries)typeof r==`object`?e.append(t,new Blob([s(r._id)]),i):e.append(t,r);a=e}else typeof n.body==`string`?a=n.body:i(Error(`Invalid body`));let o=await fetch(t,{method:n.method,body:a,headers:n.headers,mode:`cors`,credentials:`omit`}),c=typeof n.onProgress==`function`?n.onProgress:null;if(!c){let t=await o.arrayBuffer();e.push(t),r(e.length-1,o.status);return}let l=o.body?.getReader();if(!l){let t=await o.arrayBuffer();e.push(t),r(e.length-1,o.status);return}let u=Number(o.headers.get(`content-length`))||void 0,d=0,f=[];for(;;){let{done:e,value:t}=await l.read();if(e)break;t&&(f.push(t),d+=t.length,c({loaded:d,total:u}))}let p=new Uint8Array(d),m=0;for(let e of f)p.set(e,m),m+=e.length;e.push(p.buffer),r(e.length-1,o.status)},r=e=>JSON.parse(t.decode(s(e))),i=e=>t.decode(s(e)),a=(e,n,r)=>t.decode(s(e).slice(n,r)),o=t=>new Blob([e[t]]),s=t=>e[t],c=t=>{e[t]=null},l=t=>(e.push(t),e.length-1),u=new Map,d=(e,t)=>{u.set(e,t)},f=new Map,p=e=>{for(let[t,n]of f)if(n===e)return t},m=t=>{let n=f.get(t);if(n!==void 0)return n;let r=u.get(t);if(!r)return-1;e.push(r);let i=e.length-1;return f.set(t,i),i};export{r as a,s as c,d,a as i,p as l,n,i as o,m as r,o as s,c as t,l as u};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#161513;--surface:#1b1a17;--panel:#1f1e1b;--panel-2:#26241f;--panel-hover:#262420;--editor-bg:#161513;--border:#312f2a;--border-2:#3e3b33;--text:#ecebe8;--muted:#a6a39b;--dim:#88857c;--faint:#67645c;--accent:#f0653e;--accent-fg:#fff;--accent-soft:#f0653e29;--accent-border:#f0653e6b;--green:#5bbd8c;--green-soft:#5bbd8c29;--warn:#d9a03f;--warn-soft:#d9a03f24;--danger:#e5654b;--danger-soft:#e5654b1f;--shadow:0 12px 40px -12px #0009;--font-ui:"Golos Text",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}[data-theme=light]{--bg:#faf9f6;--surface:#fff;--panel:#fff;--panel-2:#f4f2ec;--panel-hover:#f3f1ea;--editor-bg:#fff;--border:#e7e4dc;--border-2:#d9d5cb;--text:#1d1c19;--muted:#5e5b54;--dim:#7d796f;--faint:#a39f95;--accent:#d6492a;--accent-fg:#fff;--accent-soft:#d6492a1a;--accent-border:#d6492a52;--green:#1f9d63;--green-soft:#1f9d631f;--warn:#b0791f;--warn-soft:#b0791f1f;--danger:#cf4023;--danger-soft:#cf40231a;--shadow:0 18px 48px -16px #28241c47}[data-accent=cobalt]{--accent:#5b8cff;--accent-soft:#5b8cff29;--accent-border:#5b8cff6b}[data-accent=iris]{--accent:#7b74ff;--accent-soft:#7b74ff29;--accent-border:#7b74ff6b}[data-accent=violet]{--accent:#9d6cff;--accent-soft:#9d6cff29;--accent-border:#9d6cff6b}[data-accent=magenta]{--accent:#c46cf0;--accent-soft:#c46cf029;--accent-border:#c46cf06b}[data-accent=rose]{--accent:#f25a8b;--accent-soft:#f25a8b29;--accent-border:#f25a8b6b}[data-accent=coral]{--accent:#f0653e;--accent-soft:#f0653e29;--accent-border:#f0653e6b}[data-accent=emerald]{--accent:#1fb877;--accent-soft:#1fb87729;--accent-border:#1fb8776b}[data-accent=cyan]{--accent:#1fb6d4;--accent-soft:#1fb6d429;--accent-border:#1fb6d46b}[data-theme=light][data-accent=cobalt]{--accent:#2f6fe0;--accent-soft:#2f6fe01a;--accent-border:#2f6fe052}[data-theme=light][data-accent=iris]{--accent:#5b50e5;--accent-soft:#5b50e51a;--accent-border:#5b50e552}[data-theme=light][data-accent=violet]{--accent:#7a45e0;--accent-soft:#7a45e01a;--accent-border:#7a45e052}[data-theme=light][data-accent=magenta]{--accent:#a23ad0;--accent-soft:#a23ad01a;--accent-border:#a23ad052}[data-theme=light][data-accent=rose]{--accent:#d63a6e;--accent-soft:#d63a6e1a;--accent-border:#d63a6e52}[data-theme=light][data-accent=coral]{--accent:#d6492a;--accent-soft:#d6492a1a;--accent-border:#d6492a52}[data-theme=light][data-accent=emerald]{--accent:#0e9c63;--accent-soft:#0e9c631a;--accent-border:#0e9c6352}[data-theme=light][data-accent=cyan]{--accent:#0e8fa8;--accent-soft:#0e8fa81a;--accent-border:#0e8fa852}.escn{background:var(--bg,#161513);min-width:0;min-height:0;color:var(--text,#ecebe8);flex:1;display:flex}.escn__viewport{outline:none;flex:1;min-width:0;position:relative;overflow:hidden}.escn__viewport canvas{width:100%;height:100%;position:absolute;inset:0}.escn__status,.escn__error{z-index:2;background:var(--surface,#1b1a17);border:1px solid var(--border,#312f2a);color:var(--dim,#88857c);border-radius:8px;max-width:80%;padding:6px 14px;font-size:13px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.escn__error{color:var(--danger,#e5654b);white-space:pre-wrap}.escn__parse-errors{z-index:2;font-size:12px;font-family:var(--font-mono,"JetBrains Mono", ui-monospace, monospace);background:var(--surface,#1b1a17);border:1px solid var(--border,#312f2a);color:var(--danger,#e5654b);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:5px 10px;position:absolute;bottom:34px;left:10px;right:10px;overflow:hidden}.escn__hint{z-index:1;color:var(--faint,#67645c);pointer-events:none;white-space:nowrap;font-size:11px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.escn__hint--tool{color:var(--accent,#f0653e)}.escn__modes{z-index:3;background:var(--surface,#1b1a17);border:1px solid var(--border,#312f2a);border-radius:9px;gap:2px;padding:3px;display:flex;position:absolute;top:10px;left:10px}.escn__modes button{width:28px;height:26px;color:var(--dim,#88857c);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.escn__modes button .scn-icon{width:15px;height:15px}.escn__modes button:hover:not(:disabled){background:var(--panel-hover,#262420);color:var(--text,#ecebe8)}.escn__modes button:disabled{opacity:.35;cursor:default}.escn__modes-sep{background:var(--border,#312f2a);width:1px;margin:3px 2px}.escn__mode--active{background:var(--accent-soft,#f0653e29)!important;color:var(--accent,#f0653e)!important}.escn__tool-glyph{font-size:14px;line-height:1}.escn-wins{z-index:3;flex-direction:column;gap:8px;width:240px;max-height:calc(100% - 52px);display:flex;position:absolute;top:10px;right:10px;overflow-y:auto}.escn-win{border:1px solid var(--border,#312f2a);background:var(--surface,#1b1a17);border-radius:10px;flex:none}.escn-win--engaged{border-color:var(--accent,#f0653e)}.escn-win--engaged .escn-win__title{color:var(--accent,#f0653e)}.escn-win__head{cursor:pointer;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:7px 10px 5px;display:flex}.escn-win__title{text-transform:uppercase;letter-spacing:.04em;color:var(--dim,#88857c);font-family:inherit;font-size:11px;font-weight:600}.escn-win__chevron{color:var(--dim,#88857c);transition:transform .12s;width:11px!important;height:11px!important}.escn-win__chevron--open{transform:rotate(90deg)}.escn-win__body{padding:0 10px 8px}.escn-assets{z-index:3;border:1px solid var(--border,#312f2a);background:var(--surface,#1b1a17);border-radius:10px;max-width:min(60%,520px);position:absolute;bottom:28px;left:10px}.escn-assets__head{cursor:pointer;color:var(--dim,#88857c);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.escn-assets__chevron{transition:transform .12s;width:11px!important;height:11px!important}.escn-assets__chevron--open{transform:rotate(90deg)}.escn-assets__list{gap:4px;padding:0 8px 8px;display:flex;overflow-x:auto}.escn-assets__tile{border:1px solid var(--border,#312f2a);background:var(--bg,#161513);width:74px;color:var(--dim,#88857c);cursor:pointer;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:5px;min-width:0;padding:9px 4px 7px;font-family:inherit;font-size:10px;display:flex}.escn-assets__tile .scn-icon{width:20px;height:20px}.escn-assets__tile span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.escn-assets__tile:hover{color:var(--text,#ecebe8);border-color:var(--dim,#88857c)}.escn-assets__tile--armed{background:var(--accent-soft,#f0653e29);color:var(--accent,#f0653e)!important;border-color:var(--accent,#f0653e)!important}.scn-icon{flex:none;width:14px;height:14px}.escn-tree{border-right:1px solid var(--border,#312f2a);background:var(--surface,#1b1a17);flex-direction:column;flex:none;width:200px;padding-bottom:8px;display:flex;overflow-y:auto}.escn-tree__title{text-transform:uppercase;letter-spacing:.04em;color:var(--dim,#88857c);justify-content:space-between;align-items:center;padding:6px 8px 4px 12px;font-size:11px;font-weight:600;display:flex}.escn-tree__add-wrap{position:relative}.escn-tree__add{width:22px;height:22px;color:var(--dim,#88857c);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.escn-tree__add .scn-icon{width:13px;height:13px}.escn-tree__add:hover{background:var(--panel-hover,#262420);color:var(--text,#ecebe8)}.escn-tree__menu{z-index:5;background:var(--surface,#1b1a17);border:1px solid var(--border,#312f2a);border-radius:8px;min-width:140px;margin-top:4px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000059}.escn-tree__menu-item{width:100%;color:var(--text,#ecebe8);text-transform:none;letter-spacing:normal;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:5px 8px;font-family:inherit;font-size:12px;font-weight:400;display:block}.escn-tree__menu-item:hover{background:var(--panel-hover,#262420)}.escn-tree__menu-item--model{align-items:center;gap:7px;display:flex}.escn-tree__menu-item--model .scn-icon{width:13px;height:13px;color:var(--dim,#88857c);flex:none}.escn-tree__menu-item:not(.escn-tree__menu-item--model)+.escn-tree__menu-item--model{border-top:1px solid var(--border,#312f2a);border-radius:0 0 5px 5px;margin-top:4px}.escn-tree__row{height:26px;color:var(--text,#ecebe8);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:none;align-items:center;gap:7px;min-width:0;font-family:inherit;font-size:13px;display:flex}.escn-tree__row .scn-icon{color:var(--dim,#88857c)}.escn-tree__row:hover{background:var(--panel-hover,#262420)}.escn-tree__row--selected{color:var(--accent,#f0653e);background:var(--accent-soft,#f0653e29)!important}.escn-tree__row--selected .scn-icon{color:var(--accent,#f0653e)}.escn-tree__row--opaque{color:var(--dim,#88857c);cursor:default}.escn-tree__row--part{color:var(--dim,#88857c);font-size:12px}.escn-tree__row--part .scn-icon{width:12px;height:12px}.escn-tree__chevron{width:16px;height:16px;color:var(--dim,#88857c);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-right:-7px;padding:0;display:flex}.escn-tree__chevron .scn-icon{width:11px;height:11px;transition:transform .12s}.escn-tree__chevron--open .scn-icon{transform:rotate(90deg)}.escn-tree__row--drop{outline:1px solid var(--accent,#f0653e);outline-offset:-1px;background:var(--accent-soft,#f0653e29)}.escn-tree--drop-root{box-shadow:inset 0 0 0 1px var(--accent,#f0653e)}.escn-tree__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.escn-tree__rename{border:1px solid var(--accent,#f0653e);background:var(--bg,#161513);min-width:0;height:20px;color:var(--text,#ecebe8);border-radius:4px;outline:none;flex:1;padding:0 4px;font-family:inherit;font-size:12px}.escn-tree__actions{gap:2px;margin-right:6px;display:none}.escn-tree__row:hover .escn-tree__actions{display:flex}.escn-tree__actions button{color:var(--dim,#88857c);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.escn-tree__actions button .scn-icon{width:12px;height:12px}.escn-tree__actions button:hover{color:var(--text,#ecebe8);background:var(--panel-hover,#262420)}.escn-tree__empty{color:var(--dim,#88857c);padding:8px 12px;font-size:12px}.escn-insp{border-left:1px solid var(--border,#312f2a);background:var(--surface,#1b1a17);flex:none;width:260px;padding-bottom:14px;overflow-y:auto}.escn-insp__title{padding:10px 12px 4px;font-size:13px;font-weight:600}.escn-insp__part-path{color:var(--dim,#88857c);text-overflow:ellipsis;white-space:nowrap;padding:0 12px 6px;font-size:11px;overflow:hidden}.escn-insp__group{border-bottom:1px solid var(--border,#312f2a);padding:4px 12px 8px}.escn-insp__group:last-child{border-bottom:none}.escn-insp__head{text-transform:uppercase;letter-spacing:.04em;color:var(--dim,#88857c);padding:6px 0 4px;font-size:11px;font-weight:600}.escn-insp__subhead{color:var(--dim,#88857c);padding:4px 0 2px;font-size:11px}.escn-insp__aspect{border:1px solid var(--border,#312f2a);border-radius:8px;margin:4px 0 8px;padding:6px 8px}.escn-insp__aspect-head{justify-content:space-between;align-items:center;min-width:0;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.escn-insp__aspect-remove{color:var(--dim,#88857c);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px;display:flex}.escn-insp__aspect-remove .scn-icon{width:13px;height:13px}.escn-insp__aspect-remove:hover{color:var(--danger,#e5654b);background:var(--panel-hover,#262420)}.escn-insp__add-wrap{position:relative}.escn-insp__note{color:var(--dim,#88857c);padding:2px 2px 4px;font-size:11.5px;line-height:1.4}.escn-insp__add{border:1px dashed var(--border,#312f2a);color:var(--dim,#88857c);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;margin-top:4px;padding:5px 10px;font-family:inherit;font-size:12px;display:flex}.escn-insp__add .scn-icon{width:13px;height:13px}.escn-insp__add:hover{color:var(--text,#ecebe8);border-color:var(--dim,#88857c)}.escn-insp__menu{z-index:5;background:var(--surface,#1b1a17);border:1px solid var(--border,#312f2a);border-radius:8px;max-height:240px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.escn-insp__menu-item{width:100%;color:var(--text,#ecebe8);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 8px;font-family:inherit;font-size:12px;display:flex}.escn-insp__menu-item:hover{background:var(--panel-hover,#262420)}.escn-insp__menu-item--sep{border-top:1px solid var(--border,#312f2a);border-radius:0 0 5px 5px}.escn-insp__menu-hint{color:var(--dim,#88857c);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.escn-insp__empty{color:var(--dim,#88857c);padding:16px 12px;font-size:12px}.escn-card{min-width:0}.escn-card__btn{border:1px solid var(--border,#312f2a);background:var(--panel-hover,#262420);width:100%;color:var(--text,#ecebe8);cursor:pointer;border-radius:7px;margin-top:4px;padding:5px 10px;font-family:inherit;font-size:12px;display:block}.escn-card__btn:hover{border-color:var(--dim,#88857c)}.escn-card__btn:active{background:var(--surface,#1b1a17)}.escn-card__btn--active{border-color:var(--accent,#f0653e);background:var(--accent-soft,#f0653e29);color:var(--accent,#f0653e)}.escn-card__info,.escn-card__warn{color:var(--dim,#88857c);padding:4px 2px;font-size:11px}.escn-card__warn{color:var(--warn,#d9a03f)}.escn-field{align-items:center;gap:8px;min-height:26px;font-size:12px;display:flex}.escn-field__label{width:76px;color:var(--dim,#88857c);text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;flex:none;overflow:hidden}.escn-field__num,.escn-field__text,.escn-field__select,.escn-field__vec input{border:1px solid var(--border,#312f2a);background:var(--bg,#161513);min-width:0;height:22px;color:var(--text,#ecebe8);font-size:12px;font-family:var(--font-mono,"JetBrains Mono", ui-monospace, monospace);border-radius:5px;flex:1;padding:0 6px}.escn-field__num:focus,.escn-field__text:focus,.escn-field__select:focus,.escn-field__vec input:focus{border-color:var(--accent,#f0653e);outline:none}.escn-field__num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.escn-field__num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.escn-field__vec input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.escn-field__vec input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.escn-field__num,.escn-field__vec input{appearance:textfield;cursor:ew-resize}.escn-field__num:focus,.escn-field__vec input:focus{cursor:text}.escn-field__vec{flex:1;gap:4px;min-width:0;display:flex}.escn-field__check{accent-color:var(--accent,#f0653e)}.escn-field__color{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.escn-field__color input{border:1px solid var(--border,#312f2a);cursor:pointer;background:0 0;border-radius:4px;width:26px;height:20px;padding:0}.escn-field__color span{font-family:var(--font-mono,"JetBrains Mono", ui-monospace, monospace);color:var(--dim,#88857c);font-size:11px}.escn-field__expr{min-width:0;font-family:var(--font-mono,"JetBrains Mono", ui-monospace, monospace);color:var(--dim,#88857c);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.escn-field__node{flex:1;gap:4px;min-width:0;display:flex}.escn-field__node .escn-field__select{flex:1}.escn-field__pick{border:1px solid var(--border,#312f2a);background:var(--bg,#161513);width:24px;height:22px;color:var(--dim,#88857c);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;display:flex}.escn-field__pick .scn-icon{width:13px;height:13px}.escn-field__pick:hover{color:var(--text,#ecebe8)}.escn-field__pick--active{color:var(--accent,#f0653e);border-color:var(--accent,#f0653e)}.scn-bar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:12px;padding:8px 14px;display:flex}.scn-title{color:var(--text);font-size:13px;font-weight:600}.scn-path{font-family:var(--font-mono);color:var(--dim);font-size:12px}.scn-select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;height:24px;padding:0 6px;font-size:12px}.scn-dir{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;max-width:40%;margin-left:auto;font-size:11px;overflow:hidden}.scn-empty{color:var(--dim);padding:40px}.scn-empty code{font-family:var(--font-mono);background:var(--surface);border-radius:4px;padding:1px 5px}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/createViewer-DGHC9eXK.js","assets/fetch-yAxxs-ZQ.js","assets/mediaplayer-40oza6jV.js","assets/fetch-CbiE4Jmm.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ne=/-\w/g,T=te(e=>e.replace(ne,e=>e.slice(1).toUpperCase())),re=/\B([A-Z])/g,E=te(e=>e.replace(re,`-$1`).toLowerCase()),ie=te(e=>e.charAt(0).toUpperCase()+e.slice(1)),ae=te(e=>e?`on${ie(e)}`:``),D=(e,t)=>!Object.is(e,t),oe=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},O=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},se=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function k(e){if(d(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=g(r)?fe(r):k(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(g(e)||v(e))return e}var A=/;(?![^(]*\))/g,ue=/:([^]+)/,de=/\/\*[^]*?\*\//g;function fe(e){let t={};return e.replace(de,``).split(A).forEach(e=>{if(e){let n=e.split(ue);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function j(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;n<e.length;n++){let r=j(e[n]);r&&(t+=r+` `)}else if(v(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var pe=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,me=e(pe);pe+``;function he(e){return!!e||e===``}function ge(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=M(e[r],t[r]);return n}function M(e,t){if(e===t)return!0;let n=m(e),r=m(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=_(e),r=_(t),n||r)return e===t;if(n=d(e),r=d(t),n||r)return n&&r?ge(e,t):!1;if(n=v(e),r=v(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!M(e[n],t[n]))return!1}}return String(e)===String(t)}function _e(e,t){return e.findIndex(e=>M(e,t))}var ve=e=>!!(e&&e.__v_isRef===!0),N=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?ve(e)?N(e.value):JSON.stringify(e,ye,2):String(e),ye=(e,t)=>ve(t)?ye(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[be(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>be(e))}:_(t)?be(t):v(t)&&!d(t)&&!C(t)?String(t):t,be=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,P,xe=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&P&&(P.active?(this.parent=P,this.index=(P.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=P;try{return P=this,e()}finally{P=t}}}on(){++this._on===1&&(this.prevScope=P,P=this)}off(){if(this._on>0&&--this._on===0){if(P===this)P=this.prevScope;else{let e=P;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Se(){return P}var F,Ce=new WeakSet,we=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,P&&(P.active?P.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ce.has(this)&&(Ce.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Oe(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ve(this),je(this);let e=F,t=Le;F=this,Le=!0;try{return this.fn()}finally{Me(this),F=e,Le=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Fe(e);this.deps=this.depsTail=void 0,Ve(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ce.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ne(this)&&this.run()}get dirty(){return Ne(this)}},Te=0,Ee,De;function Oe(e,t=!1){if(e.flags|=8,t){e.next=De,De=e;return}e.next=Ee,Ee=e}function ke(){Te++}function Ae(){if(--Te>0)return;if(De){let e=De;for(De=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ee;){let t=Ee;for(Ee=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function je(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Me(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Fe(r),Ie(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Ne(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Pe(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Pe(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===He)||(e.globalVersion=He,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ne(e))))return;e.flags|=2;let t=e.dep,n=F,r=Le;F=e,Le=!0;try{je(e);let n=e.fn(e._value);(t.version===0||D(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{F=n,Le=r,Me(e),e.flags&=-3}}function Fe(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Fe(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ie(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Le=!0,Re=[];function ze(){Re.push(Le),Le=!1}function Be(){let e=Re.pop();Le=e===void 0?!0:e}function Ve(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=F;F=void 0;try{t()}finally{F=e}}}var He=0,Ue=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},We=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!F||!Le||F===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==F)t=this.activeLink=new Ue(F,this),F.deps?(t.prevDep=F.depsTail,F.depsTail.nextDep=t,F.depsTail=t):F.deps=F.depsTail=t,Ge(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=F.depsTail,t.nextDep=void 0,F.depsTail.nextDep=t,F.depsTail=t,F.deps===t&&(F.deps=e)}return t}trigger(e){this.version++,He++,this.notify(e)}notify(e){ke();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ae()}}};function Ge(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ge(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Ke=new WeakMap,qe=Symbol(``),Je=Symbol(``),Ye=Symbol(``);function I(e,t,n){if(Le&&F){let t=Ke.get(e);t||Ke.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new We),r.map=t,r.key=n),r.track()}}function Xe(e,t,n,r,i,a){let o=Ke.get(e);if(!o){He++;return}let s=e=>{e&&e.trigger()};if(ke(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Ye||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Ye)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(qe)),f(e)&&s(o.get(Je)));break;case`delete`:i||(s(o.get(qe)),f(e)&&s(o.get(Je)));break;case`set`:f(e)&&s(o.get(qe));break}}Ae()}function Ze(e){let t=L(e);return t===e?t:(I(t,`iterate`,Ye),It(e)?t:t.map(zt))}function Qe(e){return I(e=L(e),`iterate`,Ye),e}function $e(e,t){return Ft(e)?Bt(Pt(e)?zt(t):t):zt(t)}var et={__proto__:null,[Symbol.iterator](){return tt(this,Symbol.iterator,e=>$e(this,e))},concat(...e){return Ze(this).concat(...e.map(e=>d(e)?Ze(e):e))},entries(){return tt(this,`entries`,e=>(e[1]=$e(this,e[1]),e))},every(e,t){return rt(this,`every`,e,t,void 0,arguments)},filter(e,t){return rt(this,`filter`,e,t,e=>e.map(e=>$e(this,e)),arguments)},find(e,t){return rt(this,`find`,e,t,e=>$e(this,e),arguments)},findIndex(e,t){return rt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return rt(this,`findLast`,e,t,e=>$e(this,e),arguments)},findLastIndex(e,t){return rt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return rt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return at(this,`includes`,e)},indexOf(...e){return at(this,`indexOf`,e)},join(e){return Ze(this).join(e)},lastIndexOf(...e){return at(this,`lastIndexOf`,e)},map(e,t){return rt(this,`map`,e,t,void 0,arguments)},pop(){return ot(this,`pop`)},push(...e){return ot(this,`push`,e)},reduce(e,...t){return it(this,`reduce`,e,t)},reduceRight(e,...t){return it(this,`reduceRight`,e,t)},shift(){return ot(this,`shift`)},some(e,t){return rt(this,`some`,e,t,void 0,arguments)},splice(...e){return ot(this,`splice`,e)},toReversed(){return Ze(this).toReversed()},toSorted(e){return Ze(this).toSorted(e)},toSpliced(...e){return Ze(this).toSpliced(...e)},unshift(...e){return ot(this,`unshift`,e)},values(){return tt(this,`values`,e=>$e(this,e))}};function tt(e,t,n){let r=Qe(e),i=r[t]();return r!==e&&!It(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var nt=Array.prototype;function rt(e,t,n,r,i,a){let o=Qe(e),s=o!==e&&!It(e),c=o[t];if(c!==nt[t]){let t=c.apply(e,a);return s?zt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,$e(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function it(e,t,n,r){let i=Qe(e),a=i!==e&&!It(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=$e(e,t)),n.call(this,t,$e(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?$e(e,c):c}function at(e,t,n){let r=L(e);I(r,`iterate`,Ye);let i=r[t](...n);return(i===-1||i===!1)&&Lt(n[0])?(n[0]=L(n[0]),r[t](...n)):i}function ot(e,t,n=[]){ze(),ke();let r=L(e)[t].apply(e,n);return Ae(),Be(),r}var st=e(`__proto__,__v_isRef,__isVue`),ct=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function lt(e){_(e)||(e=String(e));let t=L(this);return I(t,`has`,e),t.hasOwnProperty(e)}var ut=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Ot:Dt:i?Et:Tt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=et[t]))return e;if(t===`hasOwnProperty`)return lt}let o=Reflect.get(e,t,R(e)?e:n);if((_(t)?ct.has(t):st(t))||(r||I(e,`get`,t),i))return o;if(R(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Mt(e):e}return v(o)?r?Mt(o):At(o):o}},dt=class extends ut{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Ft(i);if(!It(n)&&!Ft(n)&&(i=L(i),n=L(n)),!a&&R(i)&&!R(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:u(e,t),s=Reflect.set(e,t,n,R(e)?e:r);return e===L(r)&&(o?D(n,i)&&Xe(e,`set`,t,n,i):Xe(e,`add`,t,n)),s}deleteProperty(e,t){let n=u(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&Xe(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!_(t)||!ct.has(t))&&I(e,`has`,t),n}ownKeys(e){return I(e,`iterate`,d(e)?`length`:qe),Reflect.ownKeys(e)}},ft=class extends ut{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},pt=new dt,mt=new ft,ht=new dt(!0),gt=e=>e,_t=e=>Reflect.getPrototypeOf(e);function vt(e,t,n){return function(...r){let i=this.__v_raw,a=L(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?gt:t?Bt:zt;return!t&&I(a,`iterate`,l?Je:qe),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function yt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function bt(e,t){let n={get(n){let r=this.__v_raw,i=L(r),a=L(n);e||(D(n,a)&&I(i,`get`,n),I(i,`get`,a));let{has:o}=_t(i),s=t?gt:e?Bt:zt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&I(L(t),`iterate`,qe),t.size},has(t){let n=this.__v_raw,r=L(n),i=L(t);return e||(D(t,i)&&I(r,`has`,t),I(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=L(a),s=t?gt:e?Bt:zt;return!e&&I(o,`iterate`,qe),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:yt(`add`),set:yt(`set`),delete:yt(`delete`),clear:yt(`clear`)}:{add(e){let n=L(this),r=_t(n),i=L(e),a=!t&&!It(e)&&!Ft(e)?i:e;return r.has.call(n,a)||D(e,a)&&r.has.call(n,e)||D(i,a)&&r.has.call(n,i)||(n.add(a),Xe(n,`add`,a,a)),this},set(e,n){!t&&!It(n)&&!Ft(n)&&(n=L(n));let r=L(this),{has:i,get:a}=_t(r),o=i.call(r,e);o||=(e=L(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?D(n,s)&&Xe(r,`set`,e,n,s):Xe(r,`add`,e,n),this},delete(e){let t=L(this),{has:n,get:r}=_t(t),i=n.call(t,e);i||=(e=L(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&Xe(t,`delete`,e,void 0,a),o},clear(){let e=L(this),t=e.size!==0,n=e.clear();return t&&Xe(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=vt(r,e,t)}),n}function xt(e,t){let n=bt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var St={get:xt(!1,!1)},Ct={get:xt(!1,!0)},wt={get:xt(!0,!1)},Tt=new WeakMap,Et=new WeakMap,Dt=new WeakMap,Ot=new WeakMap;function kt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function At(e){return Ft(e)?e:Nt(e,!1,pt,St,Tt)}function jt(e){return Nt(e,!1,ht,Ct,Et)}function Mt(e){return Nt(e,!0,mt,wt,Dt)}function Nt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=kt(S(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Pt(e){return Ft(e)?Pt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ft(e){return!!(e&&e.__v_isReadonly)}function It(e){return!!(e&&e.__v_isShallow)}function Lt(e){return e?!!e.__v_raw:!1}function L(e){let t=e&&e.__v_raw;return t?L(t):e}function Rt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&O(e,`__v_skip`,!0),e}var zt=e=>v(e)?At(e):e,Bt=e=>v(e)?Mt(e):e;function R(e){return e?e.__v_isRef===!0:!1}function z(e){return Ht(e,!1)}function Vt(e){return Ht(e,!0)}function Ht(e,t){return R(e)?e:new Ut(e,t)}var Ut=class{constructor(e,t){this.dep=new We,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:L(e),this._value=t?e:zt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||It(e)||Ft(e);e=n?e:L(e),D(e,t)&&(this._rawValue=e,this._value=n?e:zt(e),this.dep.trigger())}};function B(e){return R(e)?e.value:e}var Wt={get:(e,t,n)=>t===`__v_raw`?e:B(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return R(i)&&!R(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Gt(e){return Pt(e)?e:new Proxy(e,Wt)}var Kt=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new We(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=He-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&F!==this)return Oe(this,!0),!0}get value(){let e=this.dep.track();return Pe(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function qt(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new Kt(r,i,n)}var Jt={},Yt=new WeakMap,Xt=void 0;function Zt(e,t=!1,n=Xt){if(n){let t=Yt.get(n);t||Yt.set(n,t=[]),t.push(e)}}function Qt(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:It(e)||o===!1||o===0?$t(e,1):$t(e),m,g,_,v,y=!1,b=!1;if(R(e)?(g=()=>e.value,y=It(e)):Pt(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Pt(e)||It(e)),g=()=>e.map(e=>{if(R(e))return e.value;if(Pt(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){ze();try{_()}finally{Be()}}let t=Xt;Xt=m;try{return f?f(e,3,[v]):e(v)}finally{Xt=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>$t(e(),t)}let x=Se(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(Jt):Jt,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>D(e,C[t])):D(e,C))){_&&_();let t=Xt;Xt=m;try{let t=[e,C===Jt?void 0:b&&C[0]===Jt?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{Xt=t}}}else m.run()};return u&&u(w),m=new we(g),m.scheduler=l?()=>l(w,!1):w,v=e=>Zt(e,!1,m),_=m.onStop=()=>{let e=Yt.get(m);if(e){if(f)f(e,4);else for(let t of e)t();Yt.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function $t(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,R(e))$t(e.value,t,n);else if(d(e))for(let r=0;r<e.length;r++)$t(e[r],t,n);else if(p(e)||f(e))e.forEach(e=>{$t(e,t,n)});else if(C(e)){for(let r in e)$t(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&$t(e[r],t,n)}return e}function en(e,t,n,r){try{return r?e(...r):e()}catch(e){nn(e,t,n)}}function tn(e,t,n,r){if(h(e)){let i=en(e,t,n,r);return i&&y(i)&&i.catch(e=>{nn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a<e.length;a++)i.push(tn(e[a],t,n,r));return i}}function nn(e,n,r,i=!0){let a=n?n.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=n&&n.appContext.config||t;if(n){let t=n.parent,i=n.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;t;){let n=t.ec;if(n){for(let t=0;t<n.length;t++)if(n[t](e,i,a)===!1)return}t=t.parent}if(o){ze(),en(o,null,10,[e,i,a]),Be();return}}rn(e,r,a,i,s)}function rn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var an=[],on=-1,sn=[],cn=null,ln=0,un=Promise.resolve(),dn=null;function fn(e){let t=dn||un;return e?t.then(this?e.bind(this):e):t}function pn(e){let t=on+1,n=an.length;for(;t<n;){let r=t+n>>>1,i=an[r],a=yn(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function mn(e){if(!(e.flags&1)){let t=yn(e),n=an[an.length-1];!n||!(e.flags&2)&&t>=yn(n)?an.push(e):an.splice(pn(t),0,e),e.flags|=1,hn()}}function hn(){dn||=un.then(bn)}function gn(e){d(e)?sn.push(...e):cn&&e.id===-1?cn.splice(ln+1,0,e):e.flags&1||(sn.push(e),e.flags|=1),hn()}function _n(e,t,n=on+1){for(;n<an.length;n++){let t=an[n];if(t&&t.flags&2){if(e&&t.id!==e.uid)continue;an.splice(n,1),n--,t.flags&4&&(t.flags&=-2),t(),t.flags&4||(t.flags&=-2)}}}function vn(e){if(sn.length){let e=[...new Set(sn)].sort((e,t)=>yn(e)-yn(t));if(sn.length=0,cn){cn.push(...e);return}for(cn=e,ln=0;ln<cn.length;ln++){let e=cn[ln];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}cn=null,ln=0}}var yn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function bn(e){try{for(on=0;on<an.length;on++){let e=an[on];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),en(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;on<an.length;on++){let e=an[on];e&&(e.flags&=-2)}on=-1,an.length=0,vn(e),dn=null,(an.length||sn.length)&&bn(e)}}var xn=null,Sn=null;function Cn(e){let t=xn;return xn=e,Sn=e&&e.type.__scopeId||null,t}function wn(e,t=xn,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&Pi(-1);let i=Cn(t),a;try{a=e(...n)}finally{Cn(i),r._d&&Pi(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Tn(e,n){if(xn===null)return e;let r=ma(xn),i=e.dirs||=[];for(let e=0;e<n.length;e++){let[a,o,s,c=t]=n[e];a&&(h(a)&&(a={mounted:a,updated:a}),a.deep&&$t(o),i.push({dir:a,instance:r,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function En(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(ze(),tn(c,n,8,[e.el,s,e,t]),Be())}}function Dn(e,t){if(J){let n=J.provides,r=J.parent&&J.parent.provides;r===n&&(n=J.provides=Object.create(r)),n[e]=t}}function On(e,t,n=!1){let r=$i();if(r||Lr){let i=Lr?Lr._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&h(t)?t.call(r&&r.proxy):t}}var kn=Symbol.for(`v-scx`),An=()=>On(kn);function jn(e,t,n){return Mn(e,t,n)}function Mn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(aa){if(c===`sync`){let e=An();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=J;u.call=(e,t,n)=>tn(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{mi(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():mn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=Qt(e,n,u);return aa&&(f?f.push(h):d&&h()),h}function Nn(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Pn(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=na(this),s=Mn(i,a.bind(r),n);return o(),s}function Pn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var Fn=Symbol(`_vte`),In=e=>e.__isTeleport,Ln=Symbol(`_leaveCb`);function Rn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Rn(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 zn(e,t){return h(e)?s({name:e.name},t,{setup:e}):e}function Bn(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function Vn(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Hn=new WeakMap;function Un(e,n,r,a,o=!1){if(d(e)){e.forEach((e,t)=>Un(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Gn(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Un(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?ma(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=L(v),b=v===t?i:e=>Vn(_,e)?!1:u(y,e),x=(e,t)=>!(t&&Vn(_,t));if(m!=null&&m!==p){if(Wn(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(R(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))en(p,f,12,[l,_]);else{let t=g(p),n=R(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),Hn.delete(e)};t.id=-1,Hn.set(e,t),mi(t,r)}else Wn(e),i()}}}function Wn(e){let t=Hn.get(e);t&&(t.flags|=8,Hn.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var Gn=e=>!!e.type.__asyncLoader,Kn=e=>e.type.__isKeepAlive;function qn(e,t){Yn(e,`a`,t)}function Jn(e,t){Yn(e,`da`,t)}function Yn(e,t,n=J){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Zn(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Kn(e.parent.vnode)&&Xn(r,t,n,e),e=e.parent}}function Xn(e,t,n,r){let i=Zn(t,e,r,!0);ir(()=>{c(r[t],i)},n)}function Zn(e,t,n=J,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{ze();let i=na(n),a=tn(t,n,e,r);return i(),Be(),a};return r?i.unshift(a):i.push(a),a}}var Qn=e=>(t,n=J)=>{(!aa||e===`sp`)&&Zn(e,(...e)=>t(...e),n)},$n=Qn(`bm`),er=Qn(`m`),tr=Qn(`bu`),nr=Qn(`u`),rr=Qn(`bum`),ir=Qn(`um`),ar=Qn(`sp`),or=Qn(`rtg`),sr=Qn(`rtc`);function cr(e,t=J){Zn(`ec`,e,t)}var lr=`components`;function ur(e,t){return fr(lr,e,!0,t)||e}var dr=Symbol.for(`v-ndc`);function fr(e,t,n=!0,r=!1){let i=xn||J;if(i){let n=i.type;if(e===lr){let e=ha(n,!1);if(e&&(e===t||e===T(t)||e===ie(T(t))))return n}let a=pr(i[e]||n[e],t)||pr(i.appContext[e],t);return!a&&r?n:a}}function pr(e,t){return e&&(e[t]||e[T(t)]||e[ie(T(t))])}function V(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Pt(e),r=!1,s=!1;n&&(r=!It(e),s=Ft(e),e=Qe(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?Bt(zt(e[n])):zt(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(v(e))if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}else i=[];return n&&(n[r]=i),i}var mr=e=>e?ia(e)?ma(e):mr(e.parent):null,hr=s(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=>mr(e.parent),$root:e=>mr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>wr(e),$forceUpdate:e=>e.f||=()=>{mn(e.update)},$nextTick:e=>e.n||=fn.bind(e.proxy),$watch:e=>Nn.bind(e)}),gr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),_r={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(gr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else yr&&(s[n]=0)}let d=hr[n],f,p;if(d)return n===`$attrs`&&I(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return gr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||gr(n,c)||u(o,c)||u(i,c)||u(hr,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function vr(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var yr=!0;function br(e){let t=wr(e),n=e.proxy,i=e.ctx;yr=!1,t.beforeCreate&&Sr(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:ee,renderTracked:te,renderTriggered:ne,errorCaptured:T,serverPrefetch:re,expose:E,inheritAttrs:ie,components:ae,directives:D,filters:oe}=t;if(u&&xr(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=At(t))}if(yr=!0,o)for(let e in o){let t=o[e],a=Y({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Cr(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Dn(t,e[t])})}f&&Sr(f,e,`c`);function O(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(O($n,p),O(er,m),O(tr,g),O(nr,_),O(qn,y),O(Jn,b),O(cr,T),O(sr,te),O(or,ne),O(rr,S),O(ir,w),O(ar,re),d(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};ee&&e.render===r&&(e.render=ee),ie!=null&&(e.inheritAttrs=ie),ae&&(e.components=ae),D&&(e.directives=D),re&&Bn(e)}function xr(e,t,n=r){d(e)&&(e=kr(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?On(r.from||n,r.default,!0):On(r.from||n):On(r),R(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Sr(e,t,n){tn(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Cr(e,t,n,r){let i=r.includes(`.`)?Pn(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&jn(i,n)}else if(h(e))jn(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>Cr(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&jn(i,r,e)}}function wr(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Tr(c,e,o,!0)),Tr(c,t,o)),v(t)&&a.set(t,c),c}function Tr(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Tr(e,a,n,!0),i&&i.forEach(t=>Tr(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Er[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Er={data:Dr,props:Mr,emits:Mr,methods:jr,computed:jr,beforeCreate:Ar,created:Ar,beforeMount:Ar,mounted:Ar,beforeUpdate:Ar,updated:Ar,beforeDestroy:Ar,beforeUnmount:Ar,destroyed:Ar,unmounted:Ar,activated:Ar,deactivated:Ar,errorCaptured:Ar,serverPrefetch:Ar,components:jr,directives:jr,watch:Nr,provide:Dr,inject:Or};function Dr(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Or(e,t){return jr(kr(e),kr(t))}function kr(e){if(d(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ar(e,t){return e?[...new Set([].concat(e,t))]:t}function jr(e,t){return e?s(Object.create(null),e,t):t}function Mr(e,t){return e?d(e)&&d(t)?[...new Set([...e,...t])]:s(Object.create(null),vr(e),vr(t??{})):t}function Nr(e,t){if(!e)return t;if(!t)return e;let n=s(Object.create(null),e);for(let r in t)n[r]=Ar(e[r],t[r]);return n}function Pr(){return{app:null,config:{isNativeTag:i,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}}var Fr=0;function Ir(e,t){return function(n,r=null){h(n)||(n=s({},n)),r!=null&&!v(r)&&(r=null);let i=Pr(),a=new WeakSet,o=[],c=!1,l=i.app={_uid:Fr++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:_a,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&h(e.install)?(a.add(e),e.install(l,...t)):h(e)&&(a.add(e),e(l,...t))),l},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),l},component(e,t){return t?(i.components[e]=t,l):i.components[e]},directive(e,t){return t?(i.directives[e]=t,l):i.directives[e]},mount(a,o,s){if(!c){let u=l._ceVNode||K(n,r);return u.appContext=i,s===!0?s=`svg`:s===!1&&(s=void 0),o&&t?t(u,a):e(u,a,s),c=!0,l._container=a,a.__vue_app__=l,ma(u.component)}},onUnmount(e){o.push(e)},unmount(){c&&(tn(o,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return i.provides[e]=t,l},runWithContext(e){let t=Lr;Lr=l;try{return e()}finally{Lr=t}}};return l}}var Lr=null,Rr=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${T(t)}Modifiers`]||e[`${E(t)}Modifiers`];function zr(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&Rr(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(se)));let c,l=i[c=ae(n)]||i[c=ae(T(n))];!l&&o&&(l=i[c=ae(E(n))]),l&&tn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,tn(u,e,6,a)}}var Br=new WeakMap;function Vr(e,t,n=!1){let r=n?Br:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=Vr(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function Hr(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,E(t))||u(e,t))}function Ur(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Cn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Gi(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Gi(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Wr(c)}}catch(t){Ai.length=0,nn(t,e,1),v=K(Oi)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=Gr(y,a)),b=Ui(b,y,!1,!0))}return n.dirs&&(b=Ui(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Rn(b,n.transition),v=b,Cn(_),v}var Wr=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},Gr=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Kr(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?qr(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(Jr(o,r,n)&&!Hr(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?o?qr(r,o,l):!0:!!o;return!1}function qr(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(Jr(t,e,a)&&!Hr(n,a))return!0}return!1}function Jr(e,t,n){let r=e[n],i=t[n];return n===`style`&&v(r)&&v(i)?!M(r,i):r!==i}function Yr({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var Xr={},Zr=()=>Object.create(Xr),Qr=e=>Object.getPrototypeOf(e)===Xr;function $r(e,t,n,r=!1){let i={},a=Zr();e.propsDefaults=Object.create(null),ti(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:jt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function ei(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=L(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(Hr(e.emitsOptions,o))continue;let d=t[o];if(c)if(u(a,o))d!==a[o]&&(a[o]=d,l=!0);else{let t=T(o);i[t]=ni(c,s,t,d,e,!1)}else d!==a[o]&&(a[o]=d,l=!0)}}}else{ti(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!u(t,a)&&((r=E(a))===a||!u(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=ni(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!u(t,e))&&(delete a[e],l=!0)}l&&Xe(e.attrs,`set`,``)}function ti(e,n,r,i){let[a,o]=e.propsOptions,s=!1,c;if(n)for(let t in n){if(ee(t))continue;let l=n[t],d;a&&u(a,d=T(t))?!o||!o.includes(d)?r[d]=l:(c||={})[d]=l:Hr(e.emitsOptions,t)||(!(t in i)||l!==i[t])&&(i[t]=l,s=!0)}if(o){let n=L(r),i=c||t;for(let t=0;t<o.length;t++){let s=o[t];r[s]=ni(a,n,s,i[s],e,!u(i,s))}}return s}function ni(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=u(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&h(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=na(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===E(n))&&(r=!0))}return r}var ri=new WeakMap;function ii(e,r,i=!1){let a=i?ri:r.propsCache,o=a.get(e);if(o)return o;let c=e.props,l={},f=[],p=!1;if(!h(e)){let t=e=>{p=!0;let[t,n]=ii(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;e<c.length;e++){let n=T(c[e]);ai(n)&&(l[n]=t)}else if(c)for(let e in c){let t=T(e);if(ai(t)){let n=c[e],r=l[t]=d(n)||h(n)?{type:n}:s({},n),i=r.type,a=!1,o=!0;if(d(i))for(let e=0;e<i.length;++e){let t=i[e],n=h(t)&&t.name;if(n===`Boolean`){a=!0;break}else n===`String`&&(o=!1)}else a=h(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||u(r,`default`))&&f.push(t)}}let m=[l,f];return v(e)&&a.set(e,m),m}function ai(e){return e[0]!==`$`&&!ee(e)}var oi=e=>e===`_`||e===`_ctx`||e===`$stable`,si=e=>d(e)?e.map(Gi):[Gi(e)],ci=(e,t,n)=>{if(t._n)return t;let r=wn((...e)=>si(t(...e)),n);return r._c=!1,r},li=(e,t,n)=>{let r=e._ctx;for(let n in e){if(oi(n))continue;let i=e[n];if(h(i))t[n]=ci(n,i,r);else if(i!=null){let e=si(i);t[n]=()=>e}}},ui=(e,t)=>{let n=si(t);e.slots.default=()=>n},di=(e,t,n)=>{for(let r in t)(n||!oi(r))&&(e[r]=t[r])},fi=(e,t,n)=>{let r=e.slots=Zr();if(e.vnode.shapeFlag&32){let e=t._;e?(di(r,t,n),n&&O(r,`_`,e,!0)):li(t,r)}else t&&ui(e,t)},pi=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:di(a,n,r):(o=!n.$stable,li(n,a)),s=n}else n&&(ui(e,n),s={default:1});if(o)for(let e in a)!oi(e)&&s[e]==null&&delete a[e]},mi=Ei;function hi(e){return gi(e)}function gi(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ri(e,t)&&(r=M(e),j(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Di:y(e,t,n,r);break;case Oi:b(e,t,n,r);break;case ki:e??x(t,n,r,o);break;case H:ae(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?D(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,N)}u!=null&&i?Un(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Un(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)te(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),re(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},te=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&T(e.children,d,null,r,i,_i(e,a),s,u),_&&En(e,null,r,`created`),ne(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ee(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Yi(f,r,e)}_&&En(e,null,r,`beforeMount`);let v=yi(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&mi(()=>{try{f&&Yi(f,r,e),v&&g.enter(d),_&&En(e,null,r,`mounted`)}finally{}},i)},ne=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||Ti(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;ne(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},T=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++)v(null,e[l]=s?Ki(e[l]):Gi(e[l]),t,n,r,i,a,o,s)},re=(e,n,r,i,a,o,s)=>{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&vi(r,!1),(g=h.onVnodeBeforeUpdate)&&Yi(g,r,n,e),f&&En(n,e,r,`beforeUpdate`),r&&vi(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?E(e.dynamicChildren,d,l,r,i,_i(n,a),o):s||A(e,n,l,null,r,i,_i(n,a),o,!1),u>0){if(u&16)ie(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t],i=m[n],o=h[n];(o!==i||n===`value`)&&c(l,n,i,o,a,r)}}u&1&&e.children!==n.children&&p(l,n.children)}else !s&&d==null&&ie(l,m,h,r,a);((g=h.onVnodeUpdated)||f)&&mi(()=>{g&&Yi(g,r,n,e),f&&En(n,e,r,`updated`)},i)},E=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s];v(c,l,c.el&&(c.type===H||!Ri(c,l)||c.shapeFlag&198)?m(c.el):n,null,r,i,a,o,!0)}},ie=(e,n,r,i,a)=>{if(n!==r){if(n!==t)for(let t in n)!ee(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(ee(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ae=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),T(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(E(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&bi(e,t,!0)):A(e,t,n,f,i,a,s,c,l)},D=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):O(t,n,r,i,a,o,c):se(e,t,c)},O=(e,t,n,r,i,a,o)=>{let s=e.component=Qi(e,r,i);if(Kn(e)&&(s.ctx.renderer=N),oa(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,ce,o),!e.el){let r=s.subTree=K(Oi);b(null,r,t,n),e.placeholder=r.el}}else ce(s,e,t,n,i,a,o)},se=(e,t,n)=>{let r=t.component=e.component;if(Kr(e,t,n))if(r.asyncDep&&!r.asyncResolved){k(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},ce=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Si(e);if(n){t&&(t.el=c.el,k(e,t,o)),n.asyncDep.then(()=>{mi(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;vi(e,!1),t?(t.el=c.el,k(e,t,o)):t=c,n&&oe(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Yi(d,s,t,c),vi(e,!0);let f=Ur(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),M(p),e,i,a),t.el=f.el,u===null&&Yr(e,f.el),r&&mi(r,i),(d=t.props&&t.props.onVnodeUpdated)&&mi(()=>Yi(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Gn(t);if(vi(e,!1),l&&oe(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Yi(o,d,t),vi(e,!0),s&&be){let t=()=>{e.subTree=Ur(e),be(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Ur(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&mi(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;mi(()=>Yi(o,d,e),i)}(t.shapeFlag&256||d&&Gn(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&mi(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new we(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>mn(u),vi(e,!0),l()},k=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,ei(e,t.props,r,n),pi(e,t.children,n),ze(),_n(e),Be()},A=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){de(l,d,n,r,i,a,o,s,c);return}else if(f&256){ue(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ge(l,i,a),d!==l&&p(n,d)):u&16?m&16?de(l,d,n,r,i,a,o,s,c):ge(l,i,a,!0):(u&8&&p(n,``),m&16&&T(d,n,r,i,a,o,s,c))},ue=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;p<f;p++){let n=t[p]=l?Ki(t[p]):Gi(t[p]);v(e[p],n,r,null,a,o,s,c,l)}u>d?ge(e,a,o,!0,!1,f):T(t,r,i,a,o,s,c,l,f)},de=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?Ki(t[u]):Gi(t[u]);if(Ri(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?Ki(t[p]):Gi(t[p]);if(Ri(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=e<d?t[e].el:i;for(;u<=p;)v(null,t[u]=l?Ki(t[u]):Gi(t[u]),r,n,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)j(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ki(t[u]):Gi(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let n=e[u];if(y>=b){j(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ri(n,t[_])){i=_;break}i===void 0?j(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?xi(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1<d?f.el||wi(f):i;C[u]===0?v(null,n,r,p,a,o,s,c,l):x&&(_<0||u!==w[_]?fe(n,r,p,2):_--)}}},fe=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){fe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,N);return}if(c===H){o(a,t,n);for(let e=0;e<u.length;e++)fe(u[e],t,n,r);o(e.anchor,t,n);return}if(c===ki){S(e,t,n);return}if(r!==2&&d&1&&l)if(r===0)l.persisted&&!a[Ln]?o(a,t,n):(l.beforeEnter(a),o(a,t,n),mi(()=>l.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[Ln];a._isLeaving&&a[Ln](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},j=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(ze(),Un(s,null,n,e,!0),Be()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Gn(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Yi(_,t,e),u&6)he(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&En(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,N,r):l&&!l.hasOnce&&(a!==H||d>0&&d&64)?ge(l,t,n,!1,!0):(a===H&&d&384||!i&&u&16)&&ge(c,t,n),r&&pe(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&mi(()=>{_&&Yi(_,t,e),h&&En(e,null,t,`unmounted`),v&&(e.el=null)},n)},pe=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===H){me(n,r);return}if(t===ki){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},me=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},he=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Ci(c),Ci(l),r&&oe(r),i.stop(),a&&(a.flags|=8,j(o,e,t,n)),s&&mi(s,t),mi(()=>{e.isUnmounted=!0},t)},ge=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)j(e[o],t,n,r,i)},M=e=>{if(e.shapeFlag&6)return M(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Fn];return n?h(n):t},_e=!1,ve=(e,t,n)=>{let r;e==null?t._vnode&&(j(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,_e||=(_e=!0,_n(r),vn(),!1)},N={p:v,um:j,m:fe,r:pe,mt:O,mc:T,pc:A,pbc:E,n:M,o:e},ye,be;return i&&([ye,be]=i(N)),{render:ve,hydrate:ye,createApp:Ir(ve,ye)}}function _i({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function vi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function yi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bi(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=Ki(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&bi(t,a)),a.type===Di&&(a.patchFlag===-1&&(a=i[e]=Ki(a)),a.el=t.el),a.type===Oi&&!a.el&&(a.el=t.el)}}function xi(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Si(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Si(t)}function Ci(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function wi(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?wi(t.subTree):null}var Ti=e=>e.__isSuspense;function Ei(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):gn(e)}var H=Symbol.for(`v-fgt`),Di=Symbol.for(`v-txt`),Oi=Symbol.for(`v-cmt`),ki=Symbol.for(`v-stc`),Ai=[],ji=null;function U(e=!1){Ai.push(ji=e?null:[])}function Mi(){Ai.pop(),ji=Ai[Ai.length-1]||null}var Ni=1;function Pi(e,t=!1){Ni+=e,e<0&&ji&&t&&(ji.hasOnce=!0)}function Fi(e){return e.dynamicChildren=Ni>0?ji||n:null,Mi(),Ni>0&&ji&&ji.push(e),e}function W(e,t,n,r,i,a){return Fi(G(e,t,n,r,i,a,!0))}function Ii(e,t,n,r,i){return Fi(K(e,t,n,r,i,!0))}function Li(e){return e?e.__v_isVNode===!0:!1}function Ri(e,t){return e.type===t.type&&e.key===t.key}var zi=({key:e})=>e??null,Bi=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||R(e)||h(e)?{i:xn,r:e,k:t,f:!!n}:e);function G(e,t=null,n=null,r=0,i=null,a=e===H?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zi(t),ref:t&&Bi(t),scopeId:Sn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:xn};return s?(qi(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),Ni>0&&!o&&ji&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&ji.push(c),c}var K=Vi;function Vi(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===dr)&&(e=Oi),Li(e)){let r=Ui(e,t,!0);return n&&qi(r,n),Ni>0&&!a&&ji&&(r.shapeFlag&6?ji[ji.indexOf(e)]=r:ji.push(r)),r.patchFlag=-2,r}if(ga(e)&&(e=e.__vccOpts),t){t=Hi(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=j(e)),v(n)&&(Lt(n)&&!d(n)&&(n=s({},n)),t.style=k(n))}let o=g(e)?1:Ti(e)?128:In(e)?64:v(e)?4:h(e)?2:0;return G(e,t,n,r,i,o,a,!0)}function Hi(e){return e?Lt(e)||Qr(e)?s({},e):e:null}function Ui(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ji(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&zi(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Bi(t)):[a,Bi(t)]:Bi(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==H?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ui(e.ssContent),ssFallback:e.ssFallback&&Ui(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Rn(u,c.clone(u)),u}function Wi(e=` `,t=0){return K(Di,null,e,t)}function q(e=``,t=!1){return t?(U(),Ii(Oi,null,e)):K(Oi,null,e)}function Gi(e){return e==null||typeof e==`boolean`?K(Oi):d(e)?K(H,null,e.slice()):Li(e)?Ki(e):K(Di,null,String(e))}function Ki(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ui(e)}function qi(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),qi(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Qr(t)?t._ctx=xn:r===3&&xn&&(xn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:xn},n=32):(t=String(t),r&64?(n=16,t=[Wi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ji(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=j([t.class,r.class]));else if(e===`style`)t.style=k([t.style,r.style]);else if(a(e)){let n=t[e],i=r[e];i&&n!==i&&!(d(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!o(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Yi(e,t,n,r=null){tn(e,t,7,[n,r])}var Xi=Pr(),Zi=0;function Qi(e,n,r){let i=e.type,a=(n?n.appContext:e.appContext)||Xi,o={uid:Zi++,vnode:e,type:i,parent:n,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new xe(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(a.provides),ids:n?n.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ii(i,a),emitsOptions:Vr(i,a),emit:null,emitted:null,propsDefaults:t,inheritAttrs:i.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=n?n.root:o,o.emit=zr.bind(null,o),e.ce&&e.ce(o),o}var J=null,$i=()=>J||xn,ea,ta;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};ea=t(`__VUE_INSTANCE_SETTERS__`,e=>J=e),ta=t(`__VUE_SSR_SETTERS__`,e=>aa=e)}var na=e=>{let t=J;return ea(e),e.scope.on(),()=>{e.scope.off(),ea(t)}},ra=()=>{J&&J.scope.off(),ea(null)};function ia(e){return e.vnode.shapeFlag&4}var aa=!1;function oa(e,t=!1,n=!1){t&&ta(t);let{props:r,children:i}=e.vnode,a=ia(e);$r(e,r,a,t),fi(e,i,n||t);let o=a?sa(e,t):void 0;return t&&ta(!1),o}function sa(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_r);let{setup:r}=n;if(r){ze();let n=e.setupContext=r.length>1?pa(e):null,i=na(e),a=en(r,e,0,[e.props,n]),o=y(a);if(Be(),i(),(o||e.sp)&&!Gn(e)&&Bn(e),o){if(a.then(ra,ra),t)return a.then(n=>{ca(e,n,t)}).catch(t=>{nn(t,e,0)});e.asyncDep=a}else ca(e,a,t)}else da(e,t)}function ca(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=Gt(t)),da(e,n)}var la,ua;function da(e,t,n){let i=e.type;if(!e.render){if(!t&&la&&!i.render){let t=i.template||wr(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=la(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,ua&&ua(e)}{let t=na(e);ze();try{br(e)}finally{Be(),t()}}}var fa={get(e,t){return I(e,`get`,``),e[t]}};function pa(e){return{attrs:new Proxy(e.attrs,fa),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function ma(e){return e.exposed?e.exposeProxy||=new Proxy(Gt(Rt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hr)return hr[n](e)},has(e,t){return t in e||t in hr}}):e.proxy}function ha(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function ga(e){return h(e)&&`__vccOpts`in e}var Y=(e,t)=>qt(e,t,aa),_a=`3.5.35`,va=void 0,ya=typeof window<`u`&&window.trustedTypes;if(ya)try{va=ya.createPolicy(`vue`,{createHTML:e=>e})}catch{}var ba=va?e=>va.createHTML(e):e=>e,xa=`http://www.w3.org/2000/svg`,Sa=`http://www.w3.org/1998/Math/MathML`,Ca=typeof document<`u`?document:null,wa=Ca&&Ca.createElement(`template`),Ta={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Ca.createElementNS(xa,e):t===`mathml`?Ca.createElementNS(Sa,e):n?Ca.createElement(e,{is:n}):Ca.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Ca.createTextNode(e),createComment:e=>Ca.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ca.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{wa.innerHTML=ba(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=wa.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ea=Symbol(`_vtc`);function Da(e,t,n){let r=e[Ea];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Oa=Symbol(`_vod`),ka=Symbol(`_vsh`),Aa={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Oa]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):ja(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),ja(e,!0),r.enter(e)):r.leave(e,()=>{ja(e,!1)}):ja(e,t))},beforeUnmount(e,{value:t}){ja(e,t)}};function ja(e,t){e.style.display=t?e[Oa]:`none`,e[ka]=!t}var Ma=Symbol(``),Na=/(?:^|;)\s*display\s*:/;function Pa(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Ia(r,t,``)}else for(let e in t)n[e]??Ia(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Ia(r,i,``):Ba(e,i,!g(t)&&t?t[i]:void 0,o)||Ia(r,i,o)}}else if(i){if(t!==n){let e=r[Ma];e&&(n+=`;`+e),r.cssText=n,a=Na.test(n)}}else t&&e.removeAttribute(`style`);Oa in e&&(e[Oa]=a?r.display:``,e[ka]&&(r.display=`none`))}var Fa=/\s*!important$/;function Ia(e,t,n){if(d(n))n.forEach(n=>Ia(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=za(e,t);Fa.test(n)?e.setProperty(E(r),n.replace(Fa,``),`important`):e[r]=n}}var La=[`Webkit`,`Moz`,`ms`],Ra={};function za(e,t){let n=Ra[t];if(n)return n;let r=T(t);if(r!==`filter`&&r in e)return Ra[t]=r;r=ie(r);for(let n=0;n<La.length;n++){let i=La[n]+r;if(i in e)return Ra[t]=i}return t}function Ba(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&g(r)&&n===r}var Va=`http://www.w3.org/1999/xlink`;function Ha(e,t,n,r,i,a=me(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Va,t.slice(6,t.length)):e.setAttributeNS(Va,t,n):n==null||a&&!he(n)?e.removeAttribute(t):e.setAttribute(t,a?``:_(n)?String(n):n)}function Ua(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?ba(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=he(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Wa(e,t,n,r){e.addEventListener(t,n,r)}function Ga(e,t,n,r){e.removeEventListener(t,n,r)}var Ka=Symbol(`_vei`);function qa(e,t,n,r,i=null){let a=e[Ka]||(e[Ka]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=Ya(t);r?Wa(e,n,a[t]=$a(r,i),s):o&&(Ga(e,n,o,s),a[t]=void 0)}}var Ja=/(?:Once|Passive|Capture)$/;function Ya(e){let t;if(Ja.test(e)){t={};let n;for(;n=e.match(Ja);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===`:`?e.slice(3):E(e.slice(2)),t]}var Xa=0,Za=Promise.resolve(),Qa=()=>Xa||=(Za.then(()=>Xa=0),Date.now());function $a(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&tn(e,t,5,a)}}else tn(r,t,5,[e])};return n.value=e,n.attached=Qa(),n}var eo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,to=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?Da(e,r,c):t===`style`?Pa(e,n,r):a(t)?o(t)||qa(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):no(e,t,r,c))?(Ua(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Ha(e,t,r,c,s,t!==`value`)):e._isVueCE&&(ro(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?Ua(e,T(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Ha(e,t,r,c))};function no(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&eo(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return eo(t)&&g(n)?!1:t in e}function ro(e,t){let n=e._def.props;if(!n)return!1;let r=T(t);return Array.isArray(n)?n.some(e=>T(e)===r):Object.keys(n).some(e=>T(e)===r)}var io=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>oe(t,e):t},ao=Symbol(`_assign`),oo={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=p(t);Wa(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?se(co(e)):co(e));e[ao](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,fn(()=>{e._assigning=!1})}),e[ao]=io(r)},mounted(e,{value:t}){so(e,t)},beforeUpdate(e,t,n){e[ao]=io(n)},updated(e,{value:t}){e._assigning||so(e,t)}};function so(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=co(a);if(n)if(r){let e=typeof o;e===`string`||e===`number`?a.selected=t.some(e=>String(e)===String(o)):a.selected=_e(t,o)>-1}else a.selected=t.has(o);else if(M(co(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function co(e){return`_value`in e?e._value:e.value}var lo=[`ctrl`,`shift`,`alt`,`meta`],uo={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>lo.some(n=>e[`${n}Key`]&&!t.includes(n))},fo=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=uo[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},po={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},mo=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=E(n.key);if(t.some(e=>e===r||po[e]===r))return e(n)}))},ho=s({patchProp:to},Ta),go;function _o(){return go||=hi(ho)}var vo=((...e)=>{let t=_o().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=bo(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,yo(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function yo(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function bo(e){return g(e)?document.querySelector(e):e}var xo=e=>{let t=e.indexOf(`::`);return t<0?null:{model:e.slice(0,t),path:e.slice(t+2)}},So=globalThis,X=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.$expr==`string`,Co=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.$asset==`string`,wo=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.$ref==`string`,To=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.$make==`string`,Eo=e=>X(e)?`opaque`:e.props.mesh===void 0?e.props.model===void 0?e.props.light===void 0?e.props.make===void 0?e.props.prefab===void 0?e.props.camera===void 0?`group`:`camera`:`prefab`:`make`:`light`:`model`:`mesh`,Do=e=>{let t=[],n=(e,r)=>{for(let[i,a]of Object.entries(e))t.push({name:i,depth:r,kind:Eo(a),node:a}),!X(a)&&a.children&&n(a.children,r+1)};return n(e.nodes,0),t},Z=(e,t)=>{let n=e=>{for(let[r,i]of Object.entries(e)){if(X(i))continue;if(r===t)return i;let e=i.children?n(i.children):null;if(e)return e}return null};return n(e.nodes)},Oo=e=>{if(wo(e))return`node`;if(typeof e==`boolean`)return`switch`;if(typeof e==`number`)return`number`;if(typeof e==`string`)return e.startsWith(`#`)?`color`:`text`;if(Array.isArray(e)&&e.length>=2&&e.length<=4&&e.every(e=>typeof e==`number`))return e.length===2?`vec2`:e.length===3?`vec3`:`vec4`},ko=(e,t)=>{let n=e=>e.split(`/`).filter(e=>!!e&&e!==`.`),r=t.startsWith(`.`)?n(e).slice(0,-1):[];for(let e of n(t))e===`..`?r.pop():r.push(e);return r.join(`/`)},Ao=(e,t)=>{let n=e=>e.split(`/`).filter(e=>!!e&&e!==`.`),r=n(e).slice(0,-1),i=n(t.replace(/\.ts$/,``)),a=0;for(;a<r.length&&a<i.length-1&&r[a]===i[a];)a++;let o=r.length-a,s=i.slice(a).join(`/`);return(o===0?`./`:`../`.repeat(o))+s},jo=[`MoveTo`,`FollowPath`,`Spin`,`LookAt`,`PlayAnimation`,`Shape`,`Physics`,`Trigger`,`CharacterController`,`ModelAnimation`],Mo=(e,t)=>{let n=t.split(`/`).pop().replace(/\.scene\.ts$/i,``).replace(/\.ts$/i,``).replace(/[-_\s]+(\w)/g,(e,t)=>t.toUpperCase()).replace(/[^\w$]/g,``);/^[A-Za-z_$]/.test(n)||(n=`_`+n);let r=new Set(e.imports.flatMap(e=>[...e.defaultName?[e.defaultName]:[],...e.names]));if(!r.has(n))return n;for(let e=2;;e++)if(!r.has(`${n}${e}`))return`${n}${e}`},No=[{kind:`box`,label:`Box`,make:()=>({props:{mesh:{kind:`box`,size:[1,1,1]},material:{lit:{color:`#8a8f98`}},position:[0,.5,0]}})},{kind:`sphere`,label:`Sphere`,make:()=>({props:{mesh:{kind:`sphere`,radius:.5},material:{lit:{color:`#8a8f98`}},position:[0,.5,0]}})},{kind:`cylinder`,label:`Cylinder`,make:()=>({props:{mesh:{kind:`cylinder`,radius:.5},material:{lit:{color:`#8a8f98`}},position:[0,.5,0]}})},{kind:`plane`,label:`Plane`,make:()=>({props:{mesh:{kind:`plane`,normal:[0,1,0]},material:{lit:{color:`#8a8f98`}},scale:[4,1,4]}})},{kind:`group`,label:`Empty`,make:()=>({props:{position:[0,0,0]}})},{kind:`camera`,label:`Camera`,make:()=>({props:{camera:{},position:[0,3,7],eulerAngles:[-18,0,0]}})},{kind:`sun`,label:`Light (sun)`,make:()=>({props:{light:{kind:`sun`,shadowsQuality:1}}})}],Po=(e,t)=>{let n=Z(e,t);if(!n||n.props.camera===void 0)return!0;let r=0,i=e=>{for(let t of Object.values(e))X(t)||(t.props.camera!==void 0&&r++,t.children&&i(t.children))};return i(e.nodes),r>1},Fo=(e,t)=>{let n=(e,r)=>{for(let[i,a]of Object.entries(e)){if(i===t)return r;if(X(a)||!a.children)continue;let e=n(a.children,i);if(e!==void 0)return e}};return n(e.nodes,null)??null},Io=(e,t)=>{let n=e=>{if(t in e)return e;for(let t of Object.values(e)){if(X(t)||!t.children)continue;let e=n(t.children);if(e)return e}return null};return n(e.nodes)},Lo=(e,t)=>{let n=t.replace(/[^A-Za-z0-9_$]/g,``)||`node`;if(!Io(e,n))return n;for(let t=2;;t++){let r=`${n}${t}`;if(!Io(e,r))return r}},Ro=(e,t,n)=>{e.nodes[t]=n},zo=(e,t)=>{let n=Io(e,t);return n?(delete n[t],!0):!1},Bo=(e,t,n)=>{if(!n||n===t||Io(e,n))return!1;let r=Io(e,t);if(!r)return!1;let i=Object.entries(r).map(([e,r])=>[e===t?n:e,r]);for(let e of Object.keys(r))delete r[e];for(let[e,t]of i)r[e]=t;return!0},Vo=(e,t)=>{for(let[n,r]of Object.entries(e.children??{}))if(n===t||!X(r)&&Vo(r,t))return!0;return!1},Ho=(e,t,n)=>{let r=Io(e,t),i=r?.[t];if(!r||i===void 0)return!1;let a;if(n===null)a=e.nodes;else{if(n===t)return!1;let r=Z(e,n);if(!r||!X(i)&&Vo(i,n))return!1;a=r.children??={}}return delete r[t],a[t]=i,!0},Uo=(e,t)=>{let n=Io(e,t),r=n?.[t];if(!n||!r||X(r))return null;let i=Lo(e,t.replace(/\d+$/,``)),a=JSON.parse(JSON.stringify(r)),o=Object.entries(n);for(let e of Object.keys(n))delete n[e];for(let[e,r]of o)n[e]=r,e===t&&(n[i]=a);return i},Wo=(e,t)=>JSON.stringify(e??null)===JSON.stringify(t??null),Go=Symbol(`expr`),Ko=(e,t)=>{if(e!==void 0){if(X(e)||To(e))return Go;if(Co(e))return t?.(e.$asset)??Go;if(Array.isArray(e)){let n=e.map(e=>Ko(e,t));return n.includes(Go)?Go:n}if(typeof e==`object`&&e){let n={};for(let[r,i]of Object.entries(e)){let e=Ko(i,t);if(e===Go)return Go;n[r]=e}return n}return e}},qo=(e,t)=>{let n=Ko(e.props,t);if(n===Go)return null;let r={...n};if(delete r.children,e.children&&Object.keys(e.children).length>0){let n={};for(let[r,i]of Object.entries(e.children)){if(X(i))return null;let e=qo(i,t);if(!e)return null;n[r]=e}r.children=n}return r},Jo={position:[0,0,0],eulerAngles:[0,0,0],scale:[1,1,1],visible:!0,locked:!1},Yo=new Set([`color`,`roughness`,`metallic`]),Xo=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!X(e)&&!Co(e),Zo=(e,t,n,r)=>{if(!Xo(t)||!Xo(n))return!1;let i=t,a=n,o=Object.keys(a);if(o.length!==1||!Wo(Object.keys(i),o)||o[0]!==`lit`&&o[0]!==`unlit`)return!1;let s=i[o[0]],c=a[o[0]];if(!Xo(s)||!Xo(c))return!1;let l=s,u=c,d=[];for(let e of new Set([...Object.keys(l),...Object.keys(u)])){if(Wo(l[e],u[e]))continue;if(!Yo.has(e)||u[e]===void 0)return!1;let t=Ko(u[e]);if(t===Go)return!1;d.push([e,t])}return r.push({type:`material`,name:e,changes:d}),!0},Qo=(e,t,n,r)=>{if(!To(t)||!To(n)||t.$make!==n.$make)return!1;let i=t.args??{},a=n.args??{};if(Object.keys(i).some(e=>a[e]===void 0))return!1;let o=[];for(let[e,t]of Object.entries(a))if(!Wo(i[e],t)){if(X(t)||Co(t)||To(t))return!1;o.push([e,t])}return o.length>0&&r.push({type:`make`,name:e,changes:o}),!0},$o=(e,t,n,r)=>{if(t!==void 0&&!Xo(t)||n!==void 0&&!Xo(n))return!1;let i=t??{},a=n??{};for(let e of Object.keys(i)){let t=i[e],n=a[e];if(n===void 0||!Xo(t)||!Xo(n))return!1;let r=n;if(Object.keys(t).some(e=>r[e]===void 0))return!1}for(let[t,n]of Object.entries(a)){if(!Xo(n))return!1;let a=Xo(i[t])?i[t]:{},o=[];for(let[e,t]of Object.entries(n)){if(Wo(a[e],t))continue;if(!(e in Jo))return!1;let n=Ko(t);if(n===Go)return!1;o.push([e,n])}o.length>0&&r.push({type:`props`,name:e+`::`+t,changes:o})}return!0},es=(e,t,n,r)=>{let i=[];for(let a of new Set([...Object.keys(t.props),...Object.keys(n.props)]))if(!Wo(t.props[a],n.props[a]))if(a in Jo){let e=n.props[a]===void 0?Jo[a]:Ko(n.props[a]);if(e===Go)return!1;i.push([a,e])}else if(a===`material`){if(!Zo(e,t.props[a],n.props[a],r))return!1}else if(a===`make`){if(!Qo(e,t.props[a],n.props[a],r))return!1}else if(a===`overrides`){if(!$o(e,t.props[a],n.props[a],r))return!1}else return!1;i.length>0&&r.push({type:`props`,name:e,changes:i}),Wo(t.aspects??[],n.aspects??[])||r.push({type:`aspects`,name:e});let a=t.children??{},o=n.children??{},s=Object.keys(a);if(s.length!==Object.keys(o).length||s.some(e=>o[e]===void 0))return!1;for(let e of s){if(Wo(a[e],o[e]))continue;let t=a[e],n=o[e];if(X(t)||X(n)||!es(e,t,n,r))return!1}return!0},ts=(e,t,n,r)=>{if(X(t)||X(n))return!1;let i=[];return es(e,t,n,i)?(r.push(...i),!0):!1},ns=e=>Xo(e.env)?e.env:null,rs=(e,t,n)=>{let r={rerun:!0,actions:[]};if(!Wo(e.raw,t.raw))return r;let i=[];if(!Wo(e.props,t.props)){let n=e=>{let t=JSON.parse(JSON.stringify(e)),n=ns(t);return n&&delete n.skybox,t};if(!Wo(n(e.props),n(t.props)))return r;i.push({type:`skybox`,value:ns(t.props)?.skybox})}for(let n of Object.keys(e.nodes))t.nodes[n]===void 0&&i.push({type:`remove`,name:n});for(let[a,o]of Object.entries(t.nodes)){let t=e.nodes[a];if(t!==void 0&&Wo(t,o)||t!==void 0&&ts(a,t,o,i))continue;if(X(o))return r;let s=qo(o,n);if(!s)return r;i.push({type:`patch`,name:a,def:s,add:t===void 0})}return{rerun:!1,actions:i}},is=100,as=(e={})=>{let t=e.coalesceMs??700,n=e.now??(()=>Date.now()),r=[],i=[],a=null,o=0;return{record(e,s){i.length=0;let c=n();if(s!==void 0&&s===a&&c-o<t){o=c;return}r.push(e),r.length>is&&r.shift(),a=s??null,o=c},undo(e){let t=r.pop();return t?(i.push(e),a=null,t):null},redo(e){let t=i.pop();return t?(r.push(e),a=null,t):null},clear(){r.length=0,i.length=0,a=null},canUndo:()=>r.length>0,canRedo:()=>i.length>0}},os=`modulepreload`,ss=function(e){return`/`+e},cs={},ls=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=ss(t,n),t in cs)return;cs[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:os,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},us=1200,ds=e=>Math.round(e*1e4)/1e4,fs=(e,t)=>{let n=z(`loading`),r=z(null),i=z([]),a=z(null),o=z(null),s=z([]),c=z([]),l=z(`translate`),u=z(`global`),d=z(!1),f=z(!1),p=!1,m=z({}),h=z(null),g=z(!1),_=z(!1),v=z([]),y=z([]),b=z(null),x=z({}),S=z(0),C=null,w=null,ee=null,te=null,ne=null,T=0,re,E=!1,ie=!0,ae=!1,D=as(),oe={text:``,selected:null},O=0,se=null,ce=()=>{g.value=D.canUndo(),_.value=D.canRedo()},le=async()=>{C??=await ls(()=>import(`./src-DKPpeImT.js`),[]);let t=C.parseSceneDoc(e.text());a.value=t.doc,i.value=t.errors,oe={text:e.text(),selected:o.value}},k=t=>{if(!a.value||!C)return;let n=C.printSceneDoc(a.value);n!==oe.text&&(O===0&&(D.record(oe,t),ce()),oe={text:n,selected:o.value}),ne=n,e.write(n),S.value++},A=e=>{k(e),Se()},ue=e=>{O===0&&(se={...oe}),O++;try{e()}finally{--O===0&&(se&&oe.text!==se.text&&(D.record(se),ce()),se=null)}},de=t=>e.assetUrl?.(t)??null,fe=e=>qo(e,de),j=(e,t,n,r)=>{k(r);let i=w;if(!i?.patchNode||t===null&&!c.value.includes(e)){Se();return}i.patchNode(e,t,n).then(n=>{if(!n){Se();return}t===null?c.value=c.value.filter(t=>t!==e):(c.value.includes(e)||(c.value=[...c.value,e]),o.value===e&&i.select(e),`model`in t&&pe().then(me))}).catch(()=>Se())},pe=async()=>{let e=w,t=a.value;if(!e?.modelParts||!t){m.value={};return}let n=Do(t).filter(e=>e.kind===`model`||e.kind===`prefab`).map(e=>e.name),r={};await Promise.all(n.map(async t=>{let n=await e.modelParts(t);n.length>0&&(r[t]=n)})),m.value=r},me=()=>{let e=o.value;h.value=e&&xo(e)?w?.getNodeProps?.(e)??null:null},he=()=>new Set(s.value.filter(e=>e.editor).map(e=>e.className)),ge=e=>{if(!e)return!1;let t=he();if(t.size===0)return!1;let n=e=>{for(let n of e.aspects??[])if(!X(n)&&t.has(n.ctor))return!0;return Object.values(e.children??{}).some(e=>!X(e)&&n(e))};return n(e)},M=null,_e=()=>new Promise(e=>{M?.(null),M=e}),ve=(e,t,n)=>{if(!a.value)return;let r=xo(e);if(r){let e=Z(a.value,r.model);if(!e)return;let i=e.props.overrides??={};(i[r.path]??={})[t]=n}else{let r=Z(a.value,e);r&&(r.props[t]=n)}},N=async t=>{if(!C)return;let n=a.value,r=C.parseSceneDoc(t.text),s=r.doc;if(!s)return;a.value=s,i.value=r.errors,oe={text:t.text,selected:t.selected},ne=t.text,e.write(t.text),S.value++;let l=t.selected?xo(t.selected):null,u=l?l.model:t.selected;o.value=u&&Z(s,u)?t.selected:null;let d=w,f=n&&d?rs(n,s,de):{rerun:!0,actions:[]},p=f.actions.some(e=>(e.type===`aspects`||e.type===`patch`||e.type===`remove`)&&(ge(n?Z(n,e.name):null)||ge(Z(s,e.name))));if(f.rerun||p||!d){w?.select(o.value),me(),Se();return}try{for(let e of f.actions)if(e.type===`skybox`){if(!d.setSceneProp?.(`skybox`,e.value))throw Error(`no live skybox`)}else if(e.type===`props`)for(let[t,n]of e.changes)d.setNodeProp(e.name,t,n);else if(e.type===`material`){if(!d.setMaterialProp)throw Error(`no live material`);for(let[t,n]of e.changes)d.setMaterialProp(e.name,t,n)}else if(e.type===`make`){for(let[t,n]of e.changes)if(!d.setMakeArg?.(e.name,t,n))throw Error(`no live make`)}else if(e.type!==`aspects`)if(e.type===`remove`){if(!d.patchNode||!await d.patchNode(e.name,null))throw Error(`patch failed`);c.value=c.value.filter(t=>t!==e.name)}else{if(!d.patchNode||!await d.patchNode(e.name,e.def,e.add?null:void 0))throw Error(`patch failed`);c.value.includes(e.name)||(c.value=[...c.value,e.name])}}catch{Se()}d.select(o.value),pe().then(me)},ye=()=>{let e=D.undo({text:oe.text,selected:o.value});ce(),e&&N(e)},be=()=>{let e=D.redo({text:oe.text,selected:o.value});ce(),e&&N(e)},P=()=>{ee?.destroy(),ee=null,w=null},xe=async()=>{if(!te||ae)return;let t=++T;n.value=`compiling`,r.value=null;let i;try{i=await e.compile()}catch(e){if(t!==T)return;n.value=`error`,r.value=e?.message??String(e);return}if(!(t!==T||ae)){if(!i.js){n.value=`error`,r.value=i.error??`Compile failed`;return}try{P();let{createHost:e,createBareUI:a}=await ls(async()=>{let{createHost:e,createBareUI:t}=await import(`./createViewer-DGHC9eXK.js`);return{createHost:e,createBareUI:t}},__vite__mapDeps([0,1,2,3])),d=await e(te,{engine:`gl`,ui:a,preloads:new Set([`lit.filamat`,`unlit.filamat`,`gizmo.filamat`,`matcap_porcelain_white.jpg`,`uberarchive`])});if(t!==T||ae){d.destroy();return}ee=d,So.__lecodesSceneEdit=!0,So.__lecodesScenes=[],d.run(i.js,{onError:e=>{r.value=e.message}});let f=So.__lecodesSceneHarness,p=So.__lecodesScenes??[];if(!f||p.length===0){n.value=`error`,r.value="The scene did not register — is `export default defineScene({...})` present?";return}let{nodes:m}=await f.attach(p[p.length-1]);if(t!==T||ae)return;if(w=f,c.value=m,s.value=f.aspectSchemas(),f.callbacks.onSelect=e=>{if(M){let t=M;M=null,f.select(o.value),t(e?xo(e)?.model??e:null);return}o.value=e,me()},f.callbacks.onTransform=(e,t,n)=>{ve(e,t,n.map(ds))},f.callbacks.onTransformEnd=(e,t,n)=>{ve(e,t,n.map(ds)),k()},f.setGizmoMode?.(l.value),f.setGizmoSpace?.(u.value),Xe(),f.setEditorOps?.(Ge()),v.value=f.editorWindows?.()??[],y.value=f.editorTools?.()??[],x.value={},b.value&&y.value.some(e=>e.name===b.value)?f.setActiveTool?.(b.value):b.value=null,o.value){let e=xo(o.value);m.includes(e?e.model:o.value)||(o.value=null),f.select(o.value)}pe().then(me),n.value=`ready`}catch(e){if(console.error(`[scene-editor] run failed:`,e?.stack??e),t!==T)return;n.value=`error`,r.value=e?.message??String(e)}}},Se=()=>{if(!ie){E=!0;return}E=!1,clearTimeout(re),re=setTimeout(()=>void xe(),us)},F=async e=>{te=e,await le(),xe()},Ce=e=>{ie=e,e&&E&&Se()},we=e=>{o.value=e,w?.select(e),me()},Te=(e,t)=>{let n=o.value;if(n){if(xo(n)){if(e===`locked`)return;ve(n,e,t)}else{let r=a.value?Z(a.value,n):null;if(!r)return;r.props[e]=t}w?.setNodeProp(n,e,t),k(`t:${n}:${e}`)}},Ee=e=>w?.zoom(e),De=(e,t)=>w?.pan(e,t),Oe=()=>w?.focus(),ke=()=>o.value&&a.value?Z(a.value,o.value):null,Ae=new Set([`color`,`roughness`,`metallic`]),je=(e,t)=>{let n=o.value,r=ke();if(!n||!r||e.length===0)return;let i=r.props;for(let t of e.slice(0,-1))i=i?.[t];if(!i||typeof i!=`object`)return;let a=e[e.length-1];i[a]=t;let s=`v:${n}:${e.join(`.`)}`;if(e[0]===`material`&&Ae.has(a)&&w?.setMaterialProp)w.setMaterialProp(n,a,t),k(s);else{let e=ge(r)?null:fe(r);e?j(n,e,void 0,s):A(s)}},Me=(e,t)=>{let n=o.value,r=ke()?.props.make;!n||!To(r)||((r.args??={})[e]=t,w?.setMakeArg?.(n,e,t)?k(`mk:${n}:${e}`):A(`mk:${n}:${e}`))},Ne=(e,t,n,r=!0)=>{let i=o.value,a=ke()?.aspects?.[e];if(!i||!a||X(a))return;(a.props??={})[t]=n;let s=he().has(a.ctor);if(r&&s&&!X(n)&&w?.updateEditorAspect?.(i,e,t,n)!==!0){A(`a:${i}:${e}:${t}`);return}k(`a:${i}:${e}:${t}`)},Pe=(e,t)=>{let n=w;if(!n?.inspector)return null;let r;if(e.aspect!==void 0){let t=a.value?Z(a.value,e.name)?.aspects?.[e.aspect]:void 0;if(!t||X(t))return null;r=t.props??{}}try{return n.inspector(e,{props:r,event:t})}catch(e){return console.error(`[scene-editor] inspector card failed:`,e),null}},Fe=(e,n)=>{let r=ke();if(!(!r||!a.value)){if((r.aspects??=[]).push({ctor:e,props:{}}),n){let r=Ao(t,n),i=a.value.imports.find(e=>e.from===r&&!e.typeOnly);i?i.names.includes(e)||i.names.push(e):a.value.imports.push({names:[e],from:r})}A()}},Ie=e=>{let t=ke(),n=t?.aspects?.[e];if(!t?.aspects||n===void 0)return;let r=new Set(s.value.filter(e=>e.editor||e.inspector).map(e=>e.className)),i=t.aspects.some(e=>!X(e)&&r.has(e.ctor));t.aspects.splice(e,1),i?A():k()},Le=(e,n,r)=>{if(!a.value)return;let i=r?r.map(ds):[0,0,0];if(e===`prefab`){if(!n)return;let e=a.value,r=Ao(t,n),s=e.imports.find(e=>e.from===r&&!e.typeOnly),c=s?.defaultName;c||(c=Mo(e,n),s?s.defaultName=c:e.imports.push({names:[],defaultName:c,from:r}));let l=Lo(e,n.split(`/`).pop().replace(/\.scene\.ts$/i,``));Ro(e,l,{props:{prefab:{$expr:c},position:i}}),o.value=l,A();return}if(e===`model`){if(!n)return;let e=n.split(`/`).pop().replace(/\.(glb|gltf)$/i,``),t=Lo(a.value,e),r={props:{model:{$asset:n},position:i}};Ro(a.value,t,r),o.value=t;let s=fe(r);s?j(t,s,null):A();return}let s=No.find(t=>t.kind===e);if(!s)return;let c=Lo(a.value,e===`sun`?`sun`:e===`group`?`empty`:e),l=s.make();r&&(l.props.position=i),Ro(a.value,c,l),o.value=c;let u=fe(l);u?j(c,u,null):A()},Re=(e,t,n,r)=>{let i=w?.raycast?.(n,r);Le(e,t,i?.point)},ze=e=>{if(!(!a.value||!Po(a.value,e)||!zo(a.value,e))){if((o.value===e||o.value?.startsWith(e+`::`))&&(o.value=null,w?.select(null)),m.value[e]){let{[e]:t,...n}=m.value;m.value=n}j(e,null)}},Be=(e,t)=>{let n=t.trim();if(!(!a.value||!Bo(a.value,e,n))){if(o.value===e?o.value=n:o.value?.startsWith(e+`::`)&&(o.value=n+o.value.slice(e.length)),m.value[e]){let{[e]:t,...r}=m.value;m.value={...r,[n]:t}}k(),w?.renameNode?.(e,n)?c.value=c.value.map(t=>t===e?n:t):Se()}},Ve=(e,t)=>{!a.value||!Ho(a.value,e,t)||(k(),w?.reparentNode?.(e,t)||Se())},He=e=>{if(!a.value)return null;let t=Uo(a.value,e);if(!t)return null;o.value=t;let n=Z(a.value,t),r=n&&!ge(n)?fe(n):null;return r?j(t,r,Fo(a.value,t)):A(),t},Ue=(e,t)=>{let n=a.value;if(!n||!e||Z(n,e))return!1;let r={...t};typeof r.model==`string`&&(r.model={$asset:r.model}),Ro(n,e,{props:r});let i=fe({props:r});return i?j(e,i,null):A(),!0},We=(e,t,n)=>{let r=a.value,i=r?Z(r,e):null;if(!i)return!1;if(i.props[t]=n,t===`position`||t===`eulerAngles`||t===`scale`||t===`visible`)w?.setNodeProp(e,t,n),k();else{let t=ge(i)?null:fe(i);t?j(e,t):A()}return!0},Ge=()=>({nodes:()=>{let e=a.value;return e?Do(e).filter(e=>e.kind!==`opaque`).map(e=>({name:e.name,kind:e.kind})):[]},uniqueName:e=>a.value?Lo(a.value,e):e,addNode:Ue,setProp:We,removeNode:ze,duplicate:He,transact:ue}),Ke=(e,t)=>{try{let n=w?.renderWindow?.(e,t)??null;for(let t of n??[])t.kind===`toolButton`&&x.value[t.tool]!==e&&(x.value={...x.value,[t.tool]:e});return n}catch(e){return console.error(`[scene-editor] window render failed:`,e),null}},qe=e=>{b.value=e,w?.setActiveTool?.(e)},Je=(e,t)=>{if(!a.value||e.length===0)return;let n=a.value.props;for(let t of e.slice(0,-1))if(n[t]===void 0&&(n[t]={}),n=n[t],!n||typeof n!=`object`||Array.isArray(n))return;let r=e[e.length-1];n[r]=t,e[0]===`env`&&w?.setSceneProp?.(r,t)?k(`s:${e.join(`.`)}`):A(`s:${e.join(`.`)}`)},Ye=e=>{b.value&&qe(null),l.value=e,w?.setGizmoMode?.(e)},I=e=>{u.value=e,w?.setGizmoSpace?.(e)},Xe=()=>w?.setSnap?.({move:d.value!==p,angle:f.value!==p});return jn(()=>e.text(),e=>{ae||e===ne||(D.clear(),ce(),le().then(()=>Se()))}),{source:e,path:t,phase:n,error:r,parseErrors:i,doc:a,selected:o,schemas:s,runtimeNodes:c,gizmoMode:l,gizmoSpace:u,modelParts:m,partProps:h,canUndo:g,canRedo:_,snapGrid:d,snapAngle:f,editorWindows:v,editorTools:y,activeTool:b,toolWindows:x,docVersion:S,mount:F,dispose:()=>{ae=!0,T++,clearTimeout(re),M?.(null),M=null,P(),So.__lecodesSceneEdit=!1},setActive:Ce,select:we,setTransform:Te,commit:k,commitStructural:A,undo:ye,redo:be,transact:ue,pickNode:_e,renderCard:Pe,renderWindow:Ke,setActiveTool:qe,updateNodeValue:je,updateAspectProp:Ne,updateMakeArg:Me,addAspect:Fe,removeAspect:Ie,addNode:Le,placeAsset:Re,removeNode:ze,renameNode:Be,duplicateNode:He,reparentNode:Ve,updateSceneValue:Je,canDelete:e=>a.value?Po(a.value,e):!0,setCameraFromView:e=>{let t=w?.setFromView?.(e),n=a.value?Z(a.value,e):null;!t||!n||(n.props.position=t.position.map(ds),n.props.eulerAngles=t.eulerAngles.map(ds),k())},setGizmoMode:Ye,setGizmoSpace:I,toggleSnap:e=>{let t=e===`grid`?d:f;t.value=!t.value,Xe()},setSnapKey:e=>{p=e,Xe()},setSurfaceSnap:e=>w?.setSurfaceSnap?.(e),zoom:Ee,pan:De,focus:Oe}},ps=[`stroke-width`,`innerHTML`],Q=zn({__name:`ScnIcon`,props:{name:{}},setup(e){let t={cube:`<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/>`,sun:`<circle cx="12" cy="12" r="4"/><line x1="12" y1="2" x2="12" y2="5"/><line x1="12" y1="19" x2="12" y2="22"/><line x1="2" y1="12" x2="5" y2="12"/><line x1="19" y1="12" x2="22" y2="12"/><line x1="4.9" y1="4.9" x2="7" y2="7"/><line x1="17" y1="17" x2="19.1" y2="19.1"/><line x1="4.9" y1="19.1" x2="7" y2="17"/><line x1="17" y1="7" x2="19.1" y2="4.9"/>`,folder:`<path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>`,code:`<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>`,"file-model":`<path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"/><path d="M3.3 7 12 12l8.7-5"/><path d="M12 22V12"/>`,plus:`<line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/>`,trash:`<polyline points="3 6 5 6 21 6"/><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/><path d="M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"/>`,copy:`<rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>`,move:`<path d="M5 9l-3 3 3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20"/>`,rotate:`<path d="M21 2v6h-6"/><path d="M3 12a9 9 0 0 1 15-6.7L21 8"/><path d="M3 22v-6h6"/><path d="M21 12a9 9 0 0 1-15 6.7L3 16"/>`,scale:`<path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7"/>`,globe:`<circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>`,part:`<circle cx="12" cy="12" r="3.2"/><path d="M12 3v5.8M12 15.2V21M3 12h5.8M15.2 12H21"/>`,chevron:`<polyline points="9 6 15 12 9 18"/>`,undo:`<path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-15-6.7L3 13"/>`,redo:`<path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 15-6.7L21 13"/>`,wand:`<path d="M15 4V2M15 16v-2M8 9h2M20 9h2M17.8 11.8L19 13M17.8 6.2L19 5M12.2 6.2L11 5M14 9l-11 11 2 2 11-11z"/>`,boxes:`<path d="M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"/><path d="m7 16.5-4.74-2.85"/><path d="m7 16.5 5-3"/><path d="M7 16.5v5.17"/><path d="M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"/><path d="m17 16.5-5-3"/><path d="m17 16.5 4.74-2.85"/><path d="M17 16.5v5.17"/><path d="M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"/><path d="M12 8 7.26 5.15"/><path d="m12 8 4.74-2.85"/><path d="M12 13.5V8"/>`,magnet:`<path d="m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15"/><path d="m5 8 4 4"/><path d="m12 15 4 4"/>`,angle:`<path d="M4 20h16"/><path d="M4 20 15 6"/><path d="M12 20a8 8 0 0 0-3.06-6.29"/>`,camera:`<path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/>`,empty:`<path d="M12 3v5M12 16v5M3 12h5M16 12h5"/><circle cx="12" cy="12" r="1.4"/>`},n={cube:1.7,folder:1.9,code:1.9,"file-model":1.8,plus:2.4,boxes:1.5};return(r,i)=>(U(),W(`svg`,{class:`scn-icon`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":n[e.name]??2,"stroke-linecap":`round`,"stroke-linejoin":`round`,innerHTML:t[e.name]??``},null,8,ps))}}),ms={class:`escn-tree__title`},hs={class:`escn-tree__add-wrap`},gs=[`onClick`],_s=[`title`,`onClick`],vs=[`title`,`onClick`],ys=[`draggable`,`onClick`,`onDblclick`,`onDragstart`,`onDragover`,`onDragleave`,`onDrop`],bs=[`onClick`],xs=[`value`],Ss=[`title`],Cs={key:3,class:`escn-tree__actions`},ws=[`onClick`],Ts=[`onClick`],Es={key:0,class:`escn-tree__empty`},Ds=`\0root`,Os=zn({__name:`SceneTree`,props:{rows:{},selected:{},models:{},scenes:{},canDelete:{type:Function}},emits:[`select`,`add`,`remove`,`duplicate`,`rename`,`reparent`,`toggle`],setup(e,{emit:t}){let n=t,r={mesh:`cube`,model:`file-model`,light:`sun`,make:`wand`,prefab:`boxes`,camera:`camera`,group:`empty`,opaque:`code`,part:`part`},i=e=>e.split(`/`).pop()??e,a=z(!1),o=z(),s=e=>{o.value?.parentElement?.contains(e.target)||(a.value=!1)};jn(a,e=>{e?document.addEventListener(`pointerdown`,s,!0):document.removeEventListener(`pointerdown`,s,!0)}),rr(()=>document.removeEventListener(`pointerdown`,s,!0));let c=z(null),l=z(null),u=(e,t)=>{c.value=t.name,e.dataTransfer?.setData(`text/plain`,t.name),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)},d=()=>{c.value=null,l.value=null},f=(e,t)=>{!c.value||c.value===t.name||t.kind===`opaque`||t.kind===`part`||(e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),l.value=t.name)},p=e=>{c.value&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),l.value=Ds)},m=e=>{let t=c.value;c.value=null,l.value=null,t&&t!==e&&n(`reparent`,t,e)},h=z(null),g=z(),_=e=>{e.kind===`opaque`||e.kind===`part`||(h.value=e.name,fn(()=>{let e=g.value?.[0];e?.focus(),e?.select()}))},v=e=>{let t=h.value;h.value=null;let r=e.target.value.trim();t&&r&&r!==t&&n(`rename`,t,r)};return(t,s)=>(U(),W(`div`,{class:j([`escn-tree`,{"escn-tree--drop-root":l.value===Ds}]),onDragover:p,onDragleave:s[5]||=e=>l.value===Ds&&(l.value=null),onDrop:s[6]||=fo(e=>m(null),[`prevent`])},[G(`div`,ms,[s[7]||=G(`span`,null,`Nodes`,-1),G(`div`,hs,[G(`button`,{class:`escn-tree__add`,title:`Add node`,onClick:s[0]||=e=>a.value=!a.value},[K(Q,{name:`plus`})]),a.value?(U(),W(`div`,{key:0,ref_key:`menuRef`,ref:o,class:`escn-tree__menu`},[(U(!0),W(H,null,V(B(No),e=>(U(),W(`button`,{key:e.kind,class:`escn-tree__menu-item`,onClick:t=>{a.value=!1,n(`add`,e.kind)}},N(e.label),9,gs))),128)),(U(!0),W(H,null,V(e.models??[],e=>(U(),W(`button`,{key:e,class:`escn-tree__menu-item escn-tree__menu-item--model`,title:e,onClick:t=>{a.value=!1,n(`add`,`model`,e)}},[K(Q,{name:`file-model`}),Wi(N(i(e)),1)],8,_s))),128)),(U(!0),W(H,null,V(e.scenes??[],e=>(U(),W(`button`,{key:e,class:`escn-tree__menu-item escn-tree__menu-item--model`,title:e,onClick:t=>{a.value=!1,n(`add`,`prefab`,e)}},[K(Q,{name:`boxes`}),Wi(N(i(e)),1)],8,vs))),128))],512)):q(``,!0)])]),(U(!0),W(H,null,V(e.rows,t=>(U(),W(`div`,{key:t.name,class:j([`escn-tree__row`,{"escn-tree__row--selected":t.name===e.selected,"escn-tree__row--opaque":t.kind===`opaque`,"escn-tree__row--part":t.kind===`part`,"escn-tree__row--drop":l.value===t.name}]),style:k({paddingLeft:10+t.depth*14+(t.expandable?0:16)+`px`}),draggable:h.value!==t.name&&t.kind!==`part`,onClick:r=>t.kind!==`opaque`&&n(`select`,t.name===e.selected?null:t.name),onDblclick:e=>_(t),onDragstart:e=>u(e,t),onDragend:d,onDragover:e=>f(e,t),onDragleave:e=>l.value===t.name&&(l.value=null),onDrop:fo(e=>m(t.name),[`prevent`,`stop`])},[t.expandable?(U(),W(`button`,{key:0,class:j([`escn-tree__chevron`,{"escn-tree__chevron--open":t.expanded}]),onClick:fo(e=>n(`toggle`,t.name),[`stop`])},[K(Q,{name:`chevron`})],10,bs)):q(``,!0),K(Q,{name:r[t.kind]},null,8,[`name`]),h.value===t.name?(U(),W(`input`,{key:1,ref_for:!0,ref_key:`renameRef`,ref:g,class:`escn-tree__rename`,value:t.name,onClick:s[1]||=fo(()=>{},[`stop`]),onKeydown:[s[2]||=mo(e=>v(e),[`enter`]),s[3]||=mo(e=>h.value=null,[`esc`])],onBlur:s[4]||=e=>v(e)},null,40,xs)):(U(),W(`span`,{key:2,class:`escn-tree__name`,title:t.label??t.name},N(t.label??t.name),9,Ss)),t.kind!==`opaque`&&t.kind!==`part`&&h.value!==t.name?(U(),W(`div`,Cs,[G(`button`,{title:`Duplicate`,onClick:fo(e=>n(`duplicate`,t.name),[`stop`])},[K(Q,{name:`copy`})],8,ws),e.canDelete?.(t.name)??!0?(U(),W(`button`,{key:0,title:`Delete`,onClick:fo(e=>n(`remove`,t.name),[`stop`])},[K(Q,{name:`trash`})],8,Ts)):q(``,!0)])):q(``,!0)],46,ys))),128)),e.rows.length===0?(U(),W(`div`,Es,`No nodes — add one with +`)):q(``,!0)],34))}}),ks={class:`escn-field`},As=[`title`],js=[`title`],Ms=[`step`,`min`,`max`,`value`],Ns={key:2,class:`escn-field__vec`},Ps=[`step`,`value`,`onChange`,`onPointerdown`],Fs=[`checked`],Is={key:4,class:`escn-field__color`},Ls=[`value`],Rs=[`value`],zs=[`value`],Bs={key:6,class:`escn-field__node`},Vs=[`value`],Hs=[`value`],Us=[`title`],Ws=[`value`],Gs=[`value`],Ks=[`value`],qs=[`title`],$=zn({__name:`SceneField`,props:{label:{},editor:{},value:{type:[String,Number,Boolean,null,Array,Object]},min:{},max:{},step:{},options:{},tooltip:{},nodeOptions:{},assetOptions:{},pickNode:{type:Function}},emits:[`update`],setup(e,{emit:t}){let n=e,r=t,i=Y(()=>X(n.value)?n.value.$expr:null),a=Y(()=>{if(n.value===void 0)return`—`;if(Co(n.value))return`asset('${n.value.$asset}')`;try{return JSON.stringify(n.value)}catch{return String(n.value)}}),o=Y(()=>typeof n.value==`number`?n.value:0),s={vec2:2,vec3:3,vec4:4},c=Y(()=>{let e=s[n.editor??``]??3,t=Array.isArray(n.value)?n.value:[];return Array.from({length:e},(e,n)=>typeof t[n]==`number`?t[n]:0)}),l=Y(()=>typeof n.value==`string`&&n.value.startsWith(`#`)?n.value:`#ffffff`),u=e=>{let t=Number(e.target.value);Number.isNaN(t)||r(`update`,t)},d=(e,t)=>{let n=Number(t.target.value);if(Number.isNaN(n))return;let i=[...c.value];i[e]=n,r(`update`,i)},f=(e,t)=>{let n=[...c.value];n[e]=t,r(`update`,n)},p=e=>(n.min!==void 0&&e<n.min&&(e=n.min),n.max!==void 0&&e>n.max&&(e=n.max),Math.round(e*1e4)/1e4),m=(e,t,r)=>{if(e.button!==0)return;let i=e.currentTarget;if(document.activeElement===i)return;e.preventDefault();let a=e.clientX,o=t(),s=!1,c=t=>{if(!s){if(Math.abs(t.clientX-a)<3)return;s=!0,i.setPointerCapture(e.pointerId)}let c=(n.step??.1)*(t.shiftKey?.1:1);r(p(o+(t.clientX-a)*c))},l=()=>{i.removeEventListener(`pointermove`,c),i.removeEventListener(`pointerup`,l),i.removeEventListener(`pointercancel`,l),s||(i.focus(),i.select())};i.addEventListener(`pointermove`,c),i.addEventListener(`pointerup`,l),i.addEventListener(`pointercancel`,l)},h=e=>{let t=e.target.value;r(`update`,(n.options??[]).find(e=>String(e)===t)??t)},g=Y(()=>wo(n.value)?n.value.$ref:``),_=e=>{let t=e.target.value;r(`update`,t===``?null:{$ref:t})},v=z(!1),y=async()=>{if(!(!n.pickNode||v.value)){v.value=!0;try{let e=await n.pickNode();e&&r(`update`,{$ref:e})}finally{v.value=!1}}};return(t,n)=>(U(),W(`div`,ks,[G(`div`,{class:`escn-field__label`,title:e.tooltip??e.label},N(e.label),9,As),i.value===null?e.editor===`number`?(U(),W(`input`,{key:1,class:`escn-field__num`,type:`number`,step:e.step??.1,min:e.min,max:e.max,value:o.value,onChange:u,onPointerdown:n[0]||=e=>m(e,()=>o.value,e=>r(`update`,e))},null,40,Ms)):e.editor===`vec2`||e.editor===`vec3`||e.editor===`vec4`?(U(),W(`div`,Ns,[(U(!0),W(H,null,V(c.value,(t,n)=>(U(),W(`input`,{key:n,type:`number`,step:e.step??.1,value:t,onChange:e=>d(n,e),onPointerdown:e=>m(e,()=>c.value[n],e=>f(n,e))},null,40,Ps))),128))])):e.editor===`switch`?(U(),W(`input`,{key:3,class:`escn-field__check`,type:`checkbox`,checked:e.value===!0,onChange:n[1]||=e=>r(`update`,e.target.checked)},null,40,Fs)):e.editor===`color`?(U(),W(`div`,Is,[G(`input`,{type:`color`,value:l.value,onInput:n[2]||=e=>r(`update`,e.target.value)},null,40,Ls),G(`span`,null,N(l.value),1)])):e.editor===`select`?(U(),W(`select`,{key:5,class:`escn-field__select`,value:String(e.value??``),onChange:h},[(U(!0),W(H,null,V(e.options??[],e=>(U(),W(`option`,{key:String(e),value:String(e)},N(e),9,zs))),128))],40,Rs)):e.editor===`node`?(U(),W(`div`,Bs,[G(`select`,{class:`escn-field__select`,value:g.value,onChange:_},[n[5]||=G(`option`,{value:``},`— none —`,-1),(U(!0),W(H,null,V(e.nodeOptions??[],e=>(U(),W(`option`,{key:e,value:e},N(e),9,Hs))),128))],40,Vs),e.pickNode?(U(),W(`button`,{key:0,class:j([`escn-field__pick`,{"escn-field__pick--active":v.value}]),title:v.value?`Click a node in the viewport…`:`Pick in viewport`,onClick:y},[K(Q,{name:`part`})],10,Us)):q(``,!0)])):e.editor===`asset`?(U(),W(`select`,{key:7,class:`escn-field__select`,value:typeof e.value==`string`?e.value:``,onChange:n[3]||=e=>r(`update`,e.target.value)},[n[6]||=G(`option`,{value:``},`— none —`,-1),(U(!0),W(H,null,V(e.assetOptions??[],e=>(U(),W(`option`,{key:e,value:e},N(e),9,Gs))),128))],40,Ws)):e.editor===`text`?(U(),W(`input`,{key:8,class:`escn-field__text`,type:`text`,value:e.value??``,onChange:n[4]||=e=>r(`update`,e.target.value)},null,40,Ks)):(U(),W(`div`,{key:9,class:`escn-field__expr`,title:a.value},N(a.value),9,qs)):(U(),W(`div`,{key:0,class:`escn-field__expr`,title:i.value},N(i.value),9,js))]))}}),Js={key:0,class:`escn-insp__head`},Ys=[`onClick`],Xs=[`onClick`],Zs={key:4,class:`escn-card__info`},Qs={key:5,class:`escn-card__warn`},$s=zn({__name:`SceneCard`,props:{ctl:{},name:{},aspect:{},ctor:{},window:{}},emits:[`fallback`],setup(e,{emit:t}){let n=e,r=t,i=z([]),a=z(!0),o=Y(()=>{let e=n.ctl.doc.value;return e?Do(e).filter(e=>e.kind!==`opaque`).map(e=>e.name):[]}),s=e=>{if(e.kind!==`field`||!e.auto||!n.ctor)return e;let t=(n.ctl.source.aspects().find(e=>e.className===n.ctor)?.hints)?.find(t=>t.key===e.key);if(!t)return e;let r={...e};return t.options&&!r.options&&(r.options=t.options,r.editor=`select`),t.node&&(r.editor=`node`),t.tooltip&&(r.tooltip=t.tooltip),r},c=e=>{let t=n.window===void 0?n.ctl.renderCard({name:n.name,aspect:n.aspect},e):n.ctl.renderWindow(n.window,e);if(t===null){a.value=!1,n.aspect!==void 0&&r(`fallback`);return}a.value=!0,i.value=t.map(s)},l=(e,t)=>{e.doc&&n.aspect!==void 0?(n.ctl.updateAspectProp(n.aspect,e.key,t,!1),c()):c({id:e.id,value:t})},u=e=>{c({id:e.id}),c()},d=e=>{n.ctl.setActiveTool(n.ctl.activeTool.value===e.tool?null:e.tool),c()};return jn(Y(()=>{if(n.aspect===void 0)return``;let e=n.ctl.doc.value,t=e?Z(e,n.name)?.aspects?.[n.aspect]:void 0;return t!==void 0&&!X(t)?JSON.stringify(t.props??{}):``}),()=>c()),jn(()=>n.window===void 0?0:n.ctl.docVersion.value,()=>c()),jn(()=>n.window===void 0?null:n.ctl.selected.value,()=>c()),jn(()=>n.ctl.phase.value,e=>{e===`ready`&&c()}),er(c),(t,n)=>a.value&&i.value.length>0?(U(),W(`div`,{key:0,class:j([`escn-card`,{"escn-insp__group":e.aspect===void 0&&e.window===void 0}])},[(U(!0),W(H,null,V(i.value,t=>(U(),W(H,{key:t.id},[t.kind===`header`?(U(),W(`div`,Js,N(t.label),1)):t.kind===`field`?(U(),Ii($,{key:1,label:t.label,editor:t.editor,value:t.value,min:t.min,max:t.max,step:t.step,options:t.options,tooltip:t.tooltip,"node-options":o.value,"pick-node":e.ctl.pickNode,"asset-options":e.ctl.source.models?.()??[],onUpdate:e=>l(t,e)},null,8,[`label`,`editor`,`value`,`min`,`max`,`step`,`options`,`tooltip`,`node-options`,`pick-node`,`asset-options`,`onUpdate`])):t.kind===`button`?(U(),W(`button`,{key:2,class:`escn-card__btn`,onClick:e=>u(t)},N(t.label),9,Ys)):t.kind===`toolButton`?(U(),W(`button`,{key:3,class:j([`escn-card__btn`,{"escn-card__btn--active":e.ctl.activeTool.value===t.tool}]),onClick:e=>d(t)},N(t.label),11,Xs)):t.kind===`info`?(U(),W(`div`,Zs,N(t.text),1)):t.kind===`warn`?(U(),W(`div`,Qs,N(t.text),1)):q(``,!0)],64))),128))],2)):q(``,!0)}}),ec={class:`escn-insp__subhead`},tc=zn({__name:`SceneValueRows`,props:{obj:{},path:{},readonlyKeys:{}},emits:[`update`],setup(e,{emit:t}){let n=e,r=t,i=Y(()=>Object.entries(n.obj)),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!X(e)&&!Co(e),o=(e,t)=>n.readonlyKeys?.includes(e)?void 0:Oo(t);return(t,n)=>{let s=ur(`SceneValueRows`,!0);return U(!0),W(H,null,V(i.value,([t,i])=>(U(),W(H,{key:t},[a(i)?(U(),W(H,{key:0},[G(`div`,ec,N(t),1),K(s,{obj:i,path:[...e.path,t],onUpdate:n[0]||=(e,t)=>r(`update`,e,t)},null,8,[`obj`,`path`])],64)):(U(),Ii($,{key:1,label:t,editor:o(t,i),value:i,onUpdate:n=>r(`update`,[...e.path,t],n)},null,8,[`label`,`editor`,`value`,`onUpdate`]))],64))),128)}}}),nc={class:`escn-insp`},rc={class:`escn-insp__title`},ic=[`title`],ac={class:`escn-insp__group`},oc={class:`escn-insp__title`},sc={class:`escn-insp__group`},cc={key:0,class:`escn-insp__group`},lc={class:`escn-field`},uc={class:`escn-field__expr`},dc={key:1,class:`escn-field`},fc={key:1,class:`escn-insp__group`},pc={class:`escn-field`},mc=[`title`],hc={key:2,class:`escn-insp__group`},gc={class:`escn-insp__head`},_c={key:4,class:`escn-insp__group`},vc={key:2,class:`escn-field`},yc={key:5,class:`escn-insp__group`},bc={class:`escn-insp__group`},xc={key:0,class:`escn-insp__aspect`},Sc={class:`escn-insp__aspect-head`},Cc={class:`escn-field__expr`},wc={key:1,class:`escn-insp__aspect`},Tc={class:`escn-insp__aspect-head`},Ec=[`onClick`],Dc={key:0,class:`escn-insp__menu`},Oc=[`onClick`],kc={key:0,class:`escn-insp__menu-hint`},Ac={class:`escn-insp__group`},jc={class:`escn-insp__group`},Mc={key:1,class:`escn-insp__note`},Nc=zn({__name:`SceneInspector`,props:{ctl:{}},setup(e){let t=e,n=Y(()=>t.ctl.selected.value),r=Y(()=>{let e=t.ctl.doc.value;return e&&n.value?Z(e,n.value):null}),i=new Set([`position`,`eulerAngles`,`scale`,`visible`,`locked`]),a=[`mesh`,`model`,`light`],o=Y(()=>a.filter(e=>r.value?.props[e]!==void 0)),s=Y(()=>Object.keys(r.value?.props??{}).filter(e=>!i.has(e)&&!a.includes(e)&&e!==`material`&&e!==`overrides`&&e!==`make`&&e!==`prefab`&&e!==`camera`)),c=Y(()=>{let e=r.value?.props.make;return To(e)?e:null}),l=Y(()=>{let e=r.value?.props.prefab;return X(e)?e.$expr:`set in code`}),u=Y(()=>{let e=r.value?.props.prefab;return X(e)?t.ctl.doc.value?.imports.find(t=>t.defaultName===e.$expr)?.from??null:null}),d=Y(()=>n.value?xo(n.value):null),f=Y(()=>d.value?.path.split(`/`).pop()??``),p=e=>{let n=d.value;if(!n)return;let r=t.ctl.doc.value,i=(r?Z(r,n.model):null)?.props.overrides,a=i!==void 0&&x(i)?i[n.path]:void 0,o=a!==void 0&&x(a)?a[e]:void 0;if(o!==void 0)return o;let s=t.ctl.partProps.value;return s?s[e]:void 0},m=Y(()=>{let e=r.value?.props.material;if(e===void 0)return null;if(!x(e))return`expr`;let t=e;return x(t.lit)?`lit`:x(t.unlit)?`unlit`:t.shadow===void 0?`expr`:`shadow`}),h=Y(()=>r.value?.props.mesh!==void 0&&r.value?.props.material===void 0),g=e=>{let t=m.value;if(t!==`lit`&&t!==`unlit`)return;let n=(r.value?.props.material)[t];return x(n)?n[e]:void 0},_=Y(()=>{let e=r.value?.props.material?.shadow;return typeof e==`string`?e:`#000000aa`}),v=e=>{if(e===m.value||e!==`lit`&&e!==`unlit`)return;let n=g(`color`)??`#8a8f98`;t.ctl.updateNodeValue([`material`],{[e]:{color:n}})},y=()=>t.ctl.updateNodeValue([`material`],{lit:{color:`#8a8f98`}}),b=Y(()=>{let e=r.value?.props.scale;return e===void 0?`number`:Oo(e)}),x=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!X(e)&&!Co(e),S=e=>{let n=t.ctl.doc.value?.props[e];return x(n)?n:{}},C=e=>S(`env`)[e],w=e=>S(`camera`)[e],ee=Y(()=>{let e=t.ctl.doc.value;return e?Do(e).find(e=>e.kind===`camera`)?.name??null:null}),te=new Set([`skybox`,`bloom`,`ibl`]),ne=Y(()=>Object.keys(S(`env`)).filter(e=>!te.has(e))),T=Y(()=>{let e=t.ctl.doc.value;return e?Do(e).filter(e=>e.kind!==`opaque`).map(e=>e.name):[]}),re=z(new Set),E=(e,t)=>`${n.value}:${e}:${t}`,ie=(e,n)=>t.ctl.schemas.value.find(t=>t.className===e.ctor)?.inspector===!0&&!re.value.has(E(n,e.ctor));jn(()=>t.ctl.schemas.value,()=>{re.value=new Set});let ae=e=>{let n=t.ctl.schemas.value.find(t=>t.className===e.ctor),r=e.props??{},i=(n?.fields??[]).map(e=>({...e,value:r[e.key]===void 0?e.value:r[e.key]}));for(let[e,t]of Object.entries(r))i.some(t=>t.key===e)||i.push({key:e,label:e,value:t,editor:Oo(t)});let a=t.ctl.source.aspects().find(t=>t.className===e.ctor)?.hints;for(let e of a??[]){let t=i.find(t=>t.key===e.key);t&&(e.options&&!t.options&&(t.options=e.options,t.editor=`select`),e.node&&(t.editor=`node`),e.tooltip&&(t.tooltip=e.tooltip))}return i},D=z(!1),oe=z(),O=Y(()=>{let e=jo.map(e=>({className:e}));return t.ctl.source.aspects().forEach((t,n)=>e.push({className:t.className,path:t.path,separator:n===0})),e}),se=e=>{D.value=!1,t.ctl.addAspect(e.className,e.path)},ce=e=>{oe.value?.contains(e.target)||(D.value=!1)};return jn(D,e=>{e?document.addEventListener(`pointerdown`,ce,!0):document.removeEventListener(`pointerdown`,ce,!0)}),rr(()=>document.removeEventListener(`pointerdown`,ce,!0)),(t,i)=>(U(),W(`div`,nc,[d.value?(U(),W(H,{key:0},[G(`div`,rc,N(f.value),1),G(`div`,{class:`escn-insp__part-path`,title:d.value.path},N(d.value.model)+` · `+N(d.value.path),9,ic),G(`div`,ac,[i[22]||=G(`div`,{class:`escn-insp__head`},`Transform`,-1),K($,{label:`Position`,editor:`vec3`,value:p(`position`)??[0,0,0],onUpdate:i[0]||=t=>e.ctl.setTransform(`position`,t)},null,8,[`value`]),K($,{label:`Rotation`,editor:`vec3`,value:p(`eulerAngles`)??[0,0,0],onUpdate:i[1]||=t=>e.ctl.setTransform(`eulerAngles`,t)},null,8,[`value`]),K($,{label:`Scale`,editor:B(Oo)(p(`scale`)??1),value:p(`scale`)??1,onUpdate:i[2]||=t=>e.ctl.setTransform(`scale`,t)},null,8,[`editor`,`value`]),K($,{label:`Visible`,editor:`switch`,value:p(`visible`)??!0,onUpdate:i[3]||=t=>e.ctl.setTransform(`visible`,t)},null,8,[`value`])]),i[23]||=G(`div`,{class:`escn-insp__empty`},`Internal node — edits are saved as overrides`,-1)],64)):r.value&&n.value?(U(),W(H,{key:1},[G(`div`,oc,N(n.value),1),G(`div`,sc,[i[24]||=G(`div`,{class:`escn-insp__head`},`Transform`,-1),K($,{label:`Position`,editor:`vec3`,value:r.value.props.position??[0,0,0],onUpdate:i[4]||=t=>e.ctl.setTransform(`position`,t)},null,8,[`value`]),K($,{label:`Rotation`,editor:`vec3`,value:r.value.props.eulerAngles??[0,0,0],onUpdate:i[5]||=t=>e.ctl.setTransform(`eulerAngles`,t)},null,8,[`value`]),K($,{label:`Scale`,editor:b.value,value:r.value.props.scale??1,onUpdate:i[6]||=t=>e.ctl.setTransform(`scale`,t)},null,8,[`editor`,`value`]),K($,{label:`Visible`,editor:`switch`,value:r.value.props.visible??!0,onUpdate:i[7]||=t=>e.ctl.setTransform(`visible`,t)},null,8,[`value`]),K($,{label:`Locked`,editor:`switch`,tooltip:`Locked nodes are never a gizmo target — fields still edit`,value:r.value.props.locked??!1,onUpdate:i[8]||=t=>e.ctl.setTransform(`locked`,t)},null,8,[`value`])]),r.value.props.make===void 0?q(``,!0):(U(),W(`div`,cc,[i[27]||=G(`div`,{class:`escn-insp__head`},`Make`,-1),c.value?(U(),W(H,{key:0},[G(`div`,lc,[i[25]||=G(`span`,{class:`escn-field__label`},`factory`,-1),G(`span`,uc,N(c.value.$make)+`()`,1)]),(U(!0),W(H,null,V(c.value.args,(t,n)=>(U(),Ii($,{key:String(n),label:String(n),editor:B(Oo)(t),value:t,"node-options":T.value,"pick-node":e.ctl.pickNode,onUpdate:t=>e.ctl.updateMakeArg(String(n),t)},null,8,[`label`,`editor`,`value`,`node-options`,`pick-node`,`onUpdate`]))),128))],64)):(U(),W(`div`,dc,[...i[26]||=[G(`span`,{class:`escn-field__label`},`make`,-1),G(`span`,{class:`escn-field__expr`},`set in code`,-1)]]))])),r.value.props.prefab===void 0?q(``,!0):(U(),W(`div`,fc,[i[29]||=G(`div`,{class:`escn-insp__head`},`Prefab`,-1),G(`div`,pc,[i[28]||=G(`span`,{class:`escn-field__label`},`scene`,-1),G(`span`,{class:`escn-field__expr`,title:u.value??void 0},N(l.value),9,mc)])])),r.value.props.camera===void 0?q(``,!0):(U(),W(`div`,hc,[i[31]||=G(`div`,{class:`escn-insp__head`},`Camera`,-1),i[32]||=G(`div`,{class:`escn-insp__note`},`The running scene looks through this node.`,-1),G(`button`,{class:`escn-insp__add`,onClick:i[9]||=t=>e.ctl.setCameraFromView(n.value)},[K(Q,{name:`camera`}),i[30]||=Wi(`Set from current view `,-1)])])),(U(!0),W(H,null,V(o.value,t=>(U(),W(`div`,{key:t,class:`escn-insp__group`},[G(`div`,gc,N(t),1),x(r.value.props[t])?(U(),Ii(tc,{key:0,obj:r.value.props[t],path:[t],"readonly-keys":[`kind`],onUpdate:i[10]||=(t,n)=>e.ctl.updateNodeValue(t,n)},null,8,[`obj`,`path`])):(U(),Ii($,{key:1,label:t,value:r.value.props[t],onUpdate:n=>e.ctl.updateNodeValue([t],n)},null,8,[`label`,`value`,`onUpdate`]))]))),128)),r.value.props.model===void 0?q(``,!0):(U(),Ii($s,{key:`node:`+n.value,ctl:e.ctl,name:n.value},null,8,[`ctl`,`name`])),m.value||h.value?(U(),W(`div`,_c,[i[35]||=G(`div`,{class:`escn-insp__head`},`Material`,-1),m.value===`lit`||m.value===`unlit`?(U(),W(H,{key:0},[K($,{label:`kind`,editor:`select`,options:[`lit`,`unlit`],value:m.value,onUpdate:i[11]||=e=>v(e)},null,8,[`value`]),K($,{label:`color`,editor:`color`,value:g(`color`)??`#ffffff`,onUpdate:i[12]||=t=>e.ctl.updateNodeValue([`material`,m.value,`color`],t)},null,8,[`value`]),m.value===`lit`?(U(),W(H,{key:0},[K($,{label:`roughness`,editor:`number`,min:0,max:1,step:.05,value:g(`roughness`)??0,onUpdate:i[13]||=t=>e.ctl.updateNodeValue([`material`,`lit`,`roughness`],t)},null,8,[`value`]),K($,{label:`metallic`,editor:`number`,min:0,max:1,step:.05,value:g(`metallic`)??0,onUpdate:i[14]||=t=>e.ctl.updateNodeValue([`material`,`lit`,`metallic`],t)},null,8,[`value`])],64)):q(``,!0)],64)):m.value===`shadow`?(U(),Ii($,{key:1,label:`color`,editor:`color`,value:_.value,onUpdate:i[15]||=t=>e.ctl.updateNodeValue([`material`,`shadow`],t)},null,8,[`value`])):m.value===`expr`?(U(),W(`div`,vc,[...i[33]||=[G(`span`,{class:`escn-field__label`},`material`,-1),G(`span`,{class:`escn-field__expr`},`set in code`,-1)]])):(U(),W(`button`,{key:3,class:`escn-insp__add`,onClick:y},[K(Q,{name:`plus`}),i[34]||=Wi(`Add material`,-1)]))])):q(``,!0),s.value.length>0?(U(),W(`div`,yc,[i[36]||=G(`div`,{class:`escn-insp__head`},`Rendering`,-1),(U(!0),W(H,null,V(s.value,t=>(U(),Ii($,{key:t,label:t,editor:B(Oo)(r.value.props[t]),value:r.value.props[t],onUpdate:n=>e.ctl.updateNodeValue([t],n)},null,8,[`label`,`editor`,`value`,`onUpdate`]))),128))])):q(``,!0),G(`div`,bc,[i[38]||=G(`div`,{class:`escn-insp__head`},`Aspects`,-1),(U(!0),W(H,null,V(r.value.aspects??[],(t,r)=>(U(),W(H,{key:r},[B(X)(t)?(U(),W(`div`,xc,[G(`div`,Sc,[G(`span`,Cc,N(t.$expr),1)])])):(U(),W(`div`,wc,[G(`div`,Tc,[G(`span`,null,N(t.ctor),1),G(`button`,{class:`escn-insp__aspect-remove`,title:`Remove aspect`,onClick:t=>e.ctl.removeAspect(r)},[K(Q,{name:`trash`})],8,Ec)]),ie(t,r)?(U(),Ii($s,{key:`card:`+n.value+`:`+r+`:`+t.ctor,ctl:e.ctl,name:n.value,aspect:r,ctor:t.ctor,onFallback:e=>re.value.add(E(r,t.ctor))},null,8,[`ctl`,`name`,`aspect`,`ctor`,`onFallback`])):(U(!0),W(H,{key:1},V(ae(t),t=>(U(),Ii($,{key:t.key,label:t.label,editor:t.editor,value:t.value,min:t.min,max:t.max,step:t.step,options:t.options,tooltip:t.tooltip,"node-options":T.value,"pick-node":e.ctl.pickNode,onUpdate:n=>e.ctl.updateAspectProp(r,t.key,n)},null,8,[`label`,`editor`,`value`,`min`,`max`,`step`,`options`,`tooltip`,`node-options`,`pick-node`,`onUpdate`]))),128))]))],64))),128)),G(`div`,{ref_key:`addRef`,ref:oe,class:`escn-insp__add-wrap`},[G(`button`,{class:`escn-insp__add`,onClick:i[16]||=e=>D.value=!D.value},[K(Q,{name:`plus`}),i[37]||=Wi(`Add aspect `,-1)]),D.value?(U(),W(`div`,Dc,[(U(!0),W(H,null,V(O.value,e=>(U(),W(`button`,{key:e.className+(e.path??``),class:j([`escn-insp__menu-item`,{"escn-insp__menu-item--sep":e.separator}]),onClick:t=>se(e)},[G(`span`,null,N(e.className),1),e.path?(U(),W(`span`,kc,N(e.path.replace(/^\.?\//,``)),1)):q(``,!0)],10,Oc))),128))])):q(``,!0)],512)])],64)):e.ctl.doc.value?(U(),W(H,{key:2},[i[43]||=G(`div`,{class:`escn-insp__title`},`Scene`,-1),G(`div`,Ac,[i[39]||=G(`div`,{class:`escn-insp__head`},`Environment`,-1),K($,{label:`skybox`,editor:`color`,value:C(`skybox`)??`#000000`,onUpdate:i[17]||=t=>e.ctl.updateSceneValue([`env`,`skybox`],t)},null,8,[`value`]),K($,{label:`bloom`,editor:`switch`,value:C(`bloom`)??!1,onUpdate:i[18]||=t=>e.ctl.updateSceneValue([`env`,`bloom`],t)},null,8,[`value`]),K($,{label:`ibl`,editor:`switch`,value:C(`ibl`)??!0,onUpdate:i[19]||=t=>e.ctl.updateSceneValue([`env`,`ibl`],t)},null,8,[`value`]),(U(!0),W(H,null,V(ne.value,t=>(U(),Ii($,{key:t,label:t,editor:B(Oo)(C(t)),value:C(t),onUpdate:n=>e.ctl.updateSceneValue([`env`,t],n)},null,8,[`label`,`editor`,`value`,`onUpdate`]))),128))]),G(`div`,jc,[i[42]||=G(`div`,{class:`escn-insp__head`},`Camera`,-1),ee.value?(U(),W(`div`,Mc,[i[40]||=Wi(` The view follows the `,-1),G(`b`,null,N(ee.value),1),i[41]||=Wi(` node — select it to reposition. `,-1)])):(U(),W(H,{key:0},[K($,{label:`position`,editor:`vec3`,value:w(`position`)??[0,5,10],onUpdate:i[20]||=t=>e.ctl.updateSceneValue([`camera`,`position`],t)},null,8,[`value`]),K($,{label:`target`,editor:`vec3`,value:w(`target`)??[0,0,0],onUpdate:i[21]||=t=>e.ctl.updateSceneValue([`camera`,`target`],t)},null,8,[`value`])],64))]),i[44]||=G(`div`,{class:`escn-insp__empty`},`Select a node to inspect it`,-1)],64)):q(``,!0)]))}}),Pc=[`onClick`],Fc={class:`escn-win__title`},Ic={class:`escn-win__body`},Lc=zn({__name:`SceneWindows`,props:{ctl:{}},setup(e){let t=e,n=z(new Set),r=e=>{let t=new Set(n.value);t.has(e)?t.delete(e):t.add(e),n.value=t},i=e=>{let n=t.ctl.activeTool.value;return n!==null&&t.ctl.toolWindows.value[n]===e};return jn(()=>t.ctl.activeTool.value,e=>{if(!e)return;let i=t.ctl.toolWindows.value[e],a=i===void 0?void 0:t.ctl.editorWindows.value[i]?.title;a&&n.value.has(a)&&r(a)}),(t,a)=>e.ctl.editorWindows.value.length>0?(U(),W(`div`,{key:0,class:`escn-wins`,onPointerdown:a[0]||=fo(()=>{},[`stop`]),onWheel:a[1]||=fo(()=>{},[`stop`]),onKeydown:a[2]||=fo(()=>{},[`stop`])},[(U(!0),W(H,null,V(e.ctl.editorWindows.value,(t,a)=>(U(),W(`div`,{key:t.title,class:j([`escn-win`,{"escn-win--engaged":i(a)}])},[G(`button`,{class:`escn-win__head`,onClick:e=>r(t.title)},[K(Q,{name:`chevron`,class:j([{"escn-win__chevron--open":!n.value.has(t.title)},`escn-win__chevron`])},null,8,[`class`]),G(`span`,Fc,N(t.title),1)],8,Pc),Tn(G(`div`,Ic,[K($s,{ctl:e.ctl,name:``,window:a},null,8,[`ctl`,`window`])],512),[[Aa,!n.value.has(t.title)]])],2))),128))],32)):q(``,!0)}}),Rc={key:0,class:`escn-assets__list`},zc=[`title`,`onClick`,`onDragstart`],Bc=`application/x-lecodes-asset`,Vc=zn({__name:`SceneAssets`,props:{models:{},scenes:{},armed:{}},emits:[`place`],setup(e,{emit:t}){let n=e,r=t,i=z(!0),a=e=>e.split(`/`).pop()??e,o=Y(()=>[...n.models.map(e=>({kind:`model`,src:e,label:a(e)})),...n.scenes.map(e=>({kind:`prefab`,src:e,label:a(e)}))]),s=(e,t)=>{e.dataTransfer?.setData(Bc,JSON.stringify({kind:t.kind,src:t.src})),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)};return(t,n)=>o.value.length>0?(U(),W(`div`,{key:0,class:`escn-assets`,onPointerdown:n[1]||=fo(()=>{},[`stop`]),onWheel:n[2]||=fo(()=>{},[`stop`])},[G(`button`,{class:`escn-assets__head`,onClick:n[0]||=e=>i.value=!i.value},[K(Q,{name:`chevron`,class:j([`escn-assets__chevron`,{"escn-assets__chevron--open":i.value}])},null,8,[`class`]),n[3]||=G(`span`,null,`Assets`,-1)]),i.value?(U(),W(`div`,Rc,[(U(!0),W(H,null,V(o.value,t=>(U(),W(`button`,{key:t.src,class:j([`escn-assets__tile`,{"escn-assets__tile--armed":e.armed?.src===t.src}]),title:`${t.src} — click to place (then click in the viewport), or drag it in`,draggable:`true`,onClick:e=>r(`place`,t.kind,t.src),onDragstart:e=>s(e,t)},[K(Q,{name:t.kind===`model`?`file-model`:`boxes`},null,8,[`name`]),G(`span`,null,N(t.label),1)],42,zc))),128))])):q(``,!0)],32)):q(``,!0)}}),Hc={class:`escn`},Uc=[`title`,`onClick`],Wc=[`title`,`onClick`],Gc={key:0,class:`escn__tool-glyph`},Kc=[`title`],qc=[`disabled`],Jc=[`disabled`],Yc={key:0,class:`escn__status`},Xc={key:1,class:`escn__error`},Zc={key:2,class:`escn__parse-errors`},Qc=zn({__name:`SceneEditor`,props:{source:{},path:{},active:{type:Boolean,default:!0}},setup(e){let t=e,n=fs(t.source,t.path),r=Vt(),i=z(new Set),a=e=>{let t=new Set(i.value);t.has(e)?t.delete(e):t.add(e),i.value=t},o=e=>e.replace(/^\.?\//,``),s=Y(()=>(n.source.scenes?.()??[]).filter(e=>o(e)!==o(t.path))),c=Y(()=>{if(!n.doc.value)return[];let e=[];for(let t of Do(n.doc.value)){let r=t.kind===`model`||t.kind===`prefab`?n.modelParts.value[t.name]:void 0,a=i.value.has(t.name);if(e.push(r&&r.length>0?{...t,expandable:!0,expanded:a}:t),r&&a)for(let n of r)e.push({name:t.name+`::`+n.path,label:n.name,depth:t.depth+1+n.depth,kind:`part`,node:t.node})}return e}),l=[{mode:`translate`,icon:`move`,title:`Move (W)`},{mode:`rotate`,icon:`rotate`,title:`Rotate (E)`},{mode:`scale`,icon:`scale`,title:`Scale (R)`}],u=Vt(null),d=(e,t)=>{u.value=u.value?.src===t?null:{kind:e,src:t}},f=e=>{let t=r.value.getBoundingClientRect();return[e.clientX-t.left,e.clientY-t.top]},p=e=>{e.dataTransfer?.types.includes(`application/x-lecodes-asset`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},m=e=>{let t=e.dataTransfer?.getData(Bc);if(!t)return;e.preventDefault();let{kind:r,src:i}=JSON.parse(t),[a,o]=f(e);n.placeAsset(r,i,a,o)},h=Y(()=>{if(u.value)return`crosshair`;let e=n.activeTool.value;return e?n.editorTools.value.find(t=>t.name===e)?.cursor??`crosshair`:null}),g=Y(()=>u.value?`place ${u.value.src.split(`/`).pop()}: click in the viewport · Esc to cancel`:n.activeTool.value?`${n.activeTool.value} tool: click in the viewport to apply · Esc to exit`:`drag: orbit · wheel: zoom · shift-drag: pan · W/E/R: move/rotate/scale · F: focus · ctrl: snap · shift+gizmo-drag: place on surface`),_=e=>n.zoom(Math.sign(e.deltaY)),v=e=>{e.code===`KeyF`?n.focus():e.code===`KeyW`?n.setGizmoMode(`translate`):e.code===`KeyE`?n.setGizmoMode(`rotate`):e.code===`KeyR`?n.setGizmoMode(`scale`):e.code===`Escape`&&(u.value?u.value=null:n.setActiveTool(null))},y=!1,b=e=>{if(!e.target.closest?.(`.escn-wins, .escn-assets, .escn__modes`)){if(u.value&&e.button===0){let[t,r]=f(e),i=u.value;u.value=null,n.placeAsset(i.kind,i.src,t,r),e.preventDefault(),e.stopImmediatePropagation();return}(e.shiftKey||e.button===1)&&(y=!0,e.preventDefault(),e.stopImmediatePropagation())}},x=e=>{y&&e.buttons&&n.pan(e.movementX,e.movementY)},S=()=>{y=!1},C=e=>{e.key===`Control`?n.setSnapKey(e.type===`keydown`):e.key===`Shift`&&n.setSurfaceSnap(e.type===`keydown`)},w=()=>{n.setSnapKey(!1),n.setSurfaceSnap(!1)},ee=e=>{let t=e;return!!t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)},te=e=>{!(e.ctrlKey||e.metaKey)||e.altKey||e.code!==`KeyZ`&&e.code!==`KeyY`||t.active===!1||ee(e.target)||(e.preventDefault(),e.code===`KeyY`||e.shiftKey?n.redo():n.undo())};return er(()=>{let e=r.value;e.addEventListener(`pointerdown`,b,{capture:!0}),window.addEventListener(`pointermove`,x),window.addEventListener(`pointerup`,S),window.addEventListener(`keydown`,C),window.addEventListener(`keydown`,te),window.addEventListener(`keyup`,C),window.addEventListener(`blur`,w),n.mount(e)}),ir(()=>{r.value?.removeEventListener(`pointerdown`,b,{capture:!0}),window.removeEventListener(`pointermove`,x),window.removeEventListener(`pointerup`,S),window.removeEventListener(`keydown`,C),window.removeEventListener(`keydown`,te),window.removeEventListener(`keyup`,C),window.removeEventListener(`blur`,w),n.dispose()}),jn(()=>t.active,e=>n.setActive(e),{immediate:!0}),(e,t)=>(U(),W(`div`,Hc,[K(Os,{rows:c.value,selected:B(n).selected.value,models:B(n).source.models?.(),scenes:s.value,"can-delete":B(n).canDelete,onSelect:B(n).select,onAdd:B(n).addNode,onRemove:B(n).removeNode,onDuplicate:B(n).duplicateNode,onRename:B(n).renameNode,onReparent:B(n).reparentNode,onToggle:a},null,8,[`rows`,`selected`,`models`,`scenes`,`can-delete`,`onSelect`,`onAdd`,`onRemove`,`onDuplicate`,`onRename`,`onReparent`]),G(`div`,{ref_key:`viewportRef`,ref:r,class:`escn__viewport`,tabindex:`0`,style:k(h.value?{cursor:h.value}:void 0),onWheel:fo(_,[`prevent`]),onKeydown:v,onDragover:p,onDrop:m},[G(`div`,{class:`escn__modes`,onPointerdown:t[5]||=fo(()=>{},[`stop`])},[(U(),W(H,null,V(l,e=>G(`button`,{key:e.mode,class:j({"escn__mode--active":B(n).gizmoMode.value===e.mode&&!B(n).activeTool.value}),title:e.title,onClick:t=>B(n).setGizmoMode(e.mode)},[K(Q,{name:e.icon},null,8,[`name`])],10,Uc)),64)),B(n).editorTools.value.length>0?(U(),W(H,{key:0},[t[6]||=G(`div`,{class:`escn__modes-sep`},null,-1),(U(!0),W(H,null,V(B(n).editorTools.value,e=>(U(),W(`button`,{key:e.name,class:j({"escn__mode--active":B(n).activeTool.value===e.name}),title:`${e.name} (Esc to exit)`,onClick:t=>B(n).setActiveTool(B(n).activeTool.value===e.name?null:e.name)},[e.icon?(U(),W(`span`,Gc,N(e.icon),1)):(U(),Ii(Q,{key:1,name:`wand`}))],10,Wc))),128))],64)):q(``,!0),t[7]||=G(`div`,{class:`escn__modes-sep`},null,-1),G(`button`,{title:`Gizmo orientation: ${B(n).gizmoSpace.value} (click to toggle; scale is always local)`,onClick:t[0]||=e=>B(n).setGizmoSpace(B(n).gizmoSpace.value===`global`?`local`:`global`)},[K(Q,{name:B(n).gizmoSpace.value===`global`?`globe`:`cube`},null,8,[`name`])],8,Kc),t[8]||=G(`div`,{class:`escn__modes-sep`},null,-1),G(`button`,{class:j({"escn__mode--active":B(n).snapGrid.value}),title:`Grid snap: 0.25u move / 0.1 scale steps (Ctrl inverts)`,onClick:t[1]||=e=>B(n).toggleSnap(`grid`)},[K(Q,{name:`magnet`})],2),G(`button`,{class:j({"escn__mode--active":B(n).snapAngle.value}),title:`Angle snap: 15° rotate steps (Ctrl inverts)`,onClick:t[2]||=e=>B(n).toggleSnap(`angle`)},[K(Q,{name:`angle`})],2),t[9]||=G(`div`,{class:`escn__modes-sep`},null,-1),G(`button`,{disabled:!B(n).canUndo.value,title:`Undo (Ctrl+Z)`,onClick:t[3]||=e=>B(n).undo()},[K(Q,{name:`undo`})],8,qc),G(`button`,{disabled:!B(n).canRedo.value,title:`Redo (Ctrl+Shift+Z)`,onClick:t[4]||=e=>B(n).redo()},[K(Q,{name:`redo`})],8,Jc)],32),B(n).phase.value===`compiling`?(U(),W(`div`,Yc,`Compiling scene…`)):B(n).phase.value===`error`?(U(),W(`div`,Xc,N(B(n).error.value),1)):q(``,!0),B(n).parseErrors.value.length>0?(U(),W(`div`,Zc,N(B(n).parseErrors.value[0]),1)):q(``,!0),K(Lc,{ctl:B(n)},null,8,[`ctl`]),K(Vc,{models:B(n).source.models?.()??[],scenes:s.value,armed:u.value,onPlace:d},null,8,[`models`,`scenes`,`armed`]),G(`div`,{class:j([`escn__hint`,{"escn__hint--tool":B(n).activeTool.value||u.value}])},N(g.value),3)],36),K(Nc,{ctl:B(n)},null,8,[`ctl`])]))}}),$c=()=>{let e=z(``),t=z([]),n=z([]),r=z([]),i=z(null),a=z(``),o=z(!1),s=z(!1),c=0,l=a=>{e.value=a.dir??``,t.value=a.scenes??[],n.value=a.models??[],r.value=a.aspects??[],(!i.value||!t.value.includes(i.value))&&(i.value=t.value[0]??null)},u=async()=>{l(await(await fetch(`/api/project`)).json())},d=async e=>{a.value=(await(await fetch(`/api/file?path=${encodeURIComponent(e)}`)).json()).text??``,o.value=!0},f={text:()=>a.value,write:e=>{a.value=e,c=Date.now(),fetch(`/api/file`,{method:`POST`,body:JSON.stringify({path:i.value,text:e})})},compile:async()=>(await fetch(`/api/compile`,{method:`POST`,body:JSON.stringify({path:i.value})})).json(),aspects:()=>r.value,models:()=>n.value,scenes:()=>t.value,assetUrl:e=>`/project/`+ko(i.value??`./`,e)};(async()=>{await u(),i.value&&await d(i.value),s.value=!0})(),jn(i,e=>{o.value=!1,e&&d(e)});let p=new EventSource(`/events`);return p.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}u(),t.type===`scene`&&t.path===i.value&&Date.now()-c>=3e3&&d(i.value).then(()=>{},()=>{})},ir(()=>p.close()),{dir:e,scenes:t,models:n,aspects:r,current:i,loaded:o,booted:s,source:f}},el={class:`scn-bar`},tl=[`value`],nl={key:1,class:`scn-path`},rl=[`title`],il={key:1,class:`scn-empty`},al=zn({__name:`App`,setup(e){let{dir:t,scenes:n,current:r,loaded:i,booted:a,source:o}=$c();return(e,s)=>(U(),W(H,null,[G(`div`,el,[s[1]||=G(`div`,{class:`scn-title`},`Scene Editor`,-1),B(n).length>1?Tn((U(),W(`select`,{key:0,"onUpdate:modelValue":s[0]||=e=>R(r)?r.value=e:null,class:`scn-select`},[(U(!0),W(H,null,V(B(n),e=>(U(),W(`option`,{key:e,value:e},N(e),9,tl))),128))],512)),[[oo,B(r)]]):B(r)?(U(),W(`div`,nl,N(B(r)),1)):q(``,!0),G(`div`,{class:`scn-dir`,title:B(t)},N(B(t)),9,rl)]),B(r)&&B(i)?(U(),Ii(B(Qc),{key:B(r),source:B(o),path:B(r)},null,8,[`source`,`path`])):B(a)&&!B(r)?(U(),W(`div`,il,[...s[2]||=[Wi(` No `,-1),G(`code`,null,`.scene.ts`,-1),Wi(` file in this project folder. Add one, then it appears here. `,-1)]])):q(``,!0)],64))}});document.documentElement.dataset.theme=`dark`,vo(al).mount(`#app`);export{wo as a,To as i,Co as n,X as r,ls as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[],t=[],n=(e,n,r)=>{e.addEventListener(`ended`,()=>{r(),t[n]&&(e.currentTime=0,e.play())})},r=(r,i)=>{let a=document.createElement(`video`);document.body.appendChild(a),a.crossOrigin=`anonymous`,a.style=`opacity: 0; position: absolute; top: 0; left: 0; width: 1px; height: 1px`,a.src=r,a.playsInline=!0,a.controls=!1;let o=e.length;return e.push(a),t.push(!1),n(a,o,i),o},i=(r,i)=>{let a=document.createElement(`audio`);document.body.appendChild(a),a.style=`opacity: 0; position: absolute; top: 0; left: 0; width: 1px; height: 1px`,a.src=r;let o=e.length;return e.push(a),t.push(!1),n(a,o,i),o},a=(t,n)=>{let r=e[t];r&&(n===0?r.muted=!0:(r.muted&&=!1,r.volume=n))},o=(t,n)=>{let r=e[t];r&&(n?r.play():r.pause())},s=(e,n)=>{t[e]=n},c=t=>e[t]?.currentTime??0,l=(t,n)=>{let r=e[t];r&&(r.currentTime=n)},u=t=>{let n=e[t]?.duration??0;return isNaN(n)?0:n},d=t=>e[t],f=e=>{e.pause(),e.removeAttribute(`src`),e.load(),e.remove()},p=n=>{let r=e[n];r&&(f(r),e[n]=null,t[n]=!1)},m=()=>{for(let t of e)t&&f(t);e.length=0,t.length=0};export{d as a,l as c,a as d,c as i,s as l,r as n,p as o,u as r,m as s,i as t,o as u};
|
|
Binary file
|
|
Binary file
|