diff --git "a/assets/route-block-6uruwqru.js" "b/assets/route-block-6uruwqru.js" new file mode 100644--- /dev/null +++ "b/assets/route-block-6uruwqru.js" @@ -0,0 +1,536 @@ +var Mu=Object.defineProperty;var Iu=(t,e,n)=>e in t?Mu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Uo=(t,e,n)=>Iu(t,typeof e!="symbol"?e+"":e,n);import{d as xe,m as Ge,o as W,T as wr,p as ye,e as je,v as ms,x as gs,y as Mt,c as Z,a as he,z as Ri,A as vs,k as Ke,B as zt,j as P,C as Ci,t as le,f as V,w as Te,h as At,i as vt,D as Oi,E as Ee,l as ys,G as bs,H as Su,I as xs,J as Ru,K as so,L as Bt,M as Tt,N as Cr,b as B,O as Yt,P as In,Q as Or,R as ws,Z as kr,S as Cu,V as de,U as hn,W as $o,X as Tr,Y as kn,_ as Xe,$ as Wt,a0 as Ou,a1 as ks,a2 as jn,a3 as lo,a4 as tt,a5 as Ts,a6 as As,a7 as uo,a8 as Hn,a9 as Nu,aa as co,ab as Pu,ac as _s,ad as Ft,ae as fo,af as Qt,ag as Lu,ah as Es,ai as ln,aj as Ms,ak as Is,al as Du,am as Ss,an as Bu,ao as Nr,ap as Rs,aq as Cs,ar as zu,as as an,at as Fu,au as Uu,av as $u,aw as ju,ax as Hr,ay as Ar,az as Ni,aA as rn,aB as Os,aC as Pi,aD as xn,aE as jo,aF as on,aG as wn,aH as Gr,aI as Vu,aJ as Hu,aK as Gu,aL as Ku,aM as Ns,aN as Ps,aO as _r,aP as Ls,aQ as po,aR as Er,aS as Ds,aT as qu,n as Mr,aU as Yu,aV as Li,aW as Bs,aX as Wu,aY as Fn,aZ as zs,a_ as St,a$ as Ut,b0 as Vn,b1 as Xu,b2 as Qu,b3 as Zu,b4 as Ju,b5 as ec,b6 as ho,b7 as tc,b8 as nc,b9 as rc,ba as Kr,bb as ic,bc as Fs,bd as oc,be as ac,bf as sc,bg as lc,bh as uc,bi as qr,bj as cc,bk as dc,bl as fc,bm as Vo,bn as Ho,bo as Go,bp as Ko,bq as pc,br as hc,bs as mc,bt as gc,bu as vc,bv as Pr,bw as Gn,bx as Zt,by as Kn,bz as yc,bA as bc,bB as xc,bC as cn,bD as qo,bE as vr,bF as wc,bG as xt,bH as kc,bI as Tc,bJ as Ac,bK as _c,F as sn,bL as Us,bM as $s,bN as js,bO as Ec,s as Tn,bP as Yo,bQ as Vs,bR as Mc,bS as Ic,bT as Sc,bU as Hs,bV as Gs,bW as Rc,bX as Yr}from"./index-uwMRe-by.js";import{u as Wr}from"./queue-Hi0XAsyR.js";import{e as Di,T as Ks,A as Cc,L as Bi,c as qs,r as Ys,I as Oc,M as Nc,d as Pc,D as Lc,E as Dc,f as Bc,g as Ws,h as Xs,i as zc,j as Fc,k as zi,V as Uc,m as $c,n as jc,o as Fi,p as Vc,q as Hc,b as Gc,a as Kc,u as qc,l as Yc,s as Wc,t as Xc,_ as Qs}from"./Stage.vue_vue_type_style_index_0_scoped_100ccf8d_lang-DMgZw5_U.js";import{_ as Lr}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{d as Wo}from"./index-DWD8rnPm.js";const Nt="0px",Dr=xe({__name:"TransitionVertical",props:{duration:{default:250},easingEnter:{default:"ease-in-out"},easingLeave:{default:"ease-in-out"},opacityClosed:{default:0},opacityOpened:{default:1}},setup(t){const e=t;function n(l){return{height:l.style.height,width:l.style.width,position:l.style.position,visibility:l.style.visibility,overflow:l.style.overflow,paddingTop:l.style.paddingTop,paddingBottom:l.style.paddingBottom,borderTopWidth:l.style.borderTopWidth,borderBottomWidth:l.style.borderBottomWidth,marginTop:l.style.marginTop,marginBottom:l.style.marginBottom}}function r(l,u){const{width:c}=getComputedStyle(l);l.style.width=c,l.style.position="absolute",l.style.visibility="hidden",l.style.height="";const{height:d}=getComputedStyle(l);return l.style.width=u.width,l.style.position=u.position,l.style.visibility=u.visibility,l.style.height=Nt,l.style.overflow="hidden",u.height&&u.height!==Nt?u.height:d}function i(l,u,c,d,p){const f=l.animate(d,p);l.style.height=u.height,f.onfinish=()=>{l.style.overflow=u.overflow,c()}}function o(l,u){return[{height:Nt,opacity:e.opacityClosed,paddingTop:Nt,paddingBottom:Nt,borderTopWidth:Nt,borderBottomWidth:Nt,marginTop:Nt,marginBottom:Nt},{height:l,opacity:e.opacityOpened,paddingTop:u.paddingTop,paddingBottom:u.paddingBottom,borderTopWidth:u.borderTopWidth,borderBottomWidth:u.borderBottomWidth,marginTop:u.marginTop,marginBottom:u.marginBottom}]}function a(l,u){const c=l,d=n(c),p=r(c,d),f=o(p,d),h={duration:e.duration,easing:e.easingEnter};i(c,d,u,f,h)}function s(l,u){const c=l,d=n(c),{height:p}=getComputedStyle(c);c.style.height=p,c.style.overflow="hidden";const f=o(p,d).reverse(),h={duration:e.duration,easing:e.easingLeave};i(c,d,u,f,h)}return(l,u)=>(W(),Ge(wr,{css:!1,onEnter:a,onLeave:s},{default:ye(()=>[je(l.$slots,"default")]),_:3}))}}),Qc={op50:""},Ui=xe({__name:"Collapsable",props:ms({default:{type:Boolean},label:null},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const e=t,n=gs(t,"modelValue");Mt(()=>{e.default!=null&&(n.value=!!e.default)});function r(i){n.value=i}return(i,o)=>(W(),Z("div",null,[je(i.$slots,"trigger",Ri(vs({visible:n.value,setVisible:r})),()=>[P("button",{sticky:"","top-0":"","z-10":"",flex:"","items-center":"","justify-between":"",px2:"",py1:"","text-sm":"","backdrop-blur-xl":"",onClick:o[0]||(o[0]=a=>n.value=!n.value)},[P("span",null,le(e.label??"Collapsable"),1),o[1]||(o[1]=Ci()),P("span",Qc,le(n.value?"▲":"▼"),1)])]),he(Dr,null,{default:ye(()=>[n.value?je(i.$slots,"default",Ri(zt({key:0},{visible:n.value,setVisible:r}))):Ke("",!0)]),_:3})]))}}),Zc=xe({__name:"Canvas",props:{width:null,height:null},setup(t){const e=t,n=V(),r=V(),i=V();async function o(s){Bi.registerTicker(qs),Di.add(Ks),r.value=new Cc({width:e.width,height:e.height,backgroundAlpha:0}),i.value=r.value.view,i.value.style.objectFit="contain",s.appendChild(r.value.view)}function a(){var s;r.value&&r.value.renderer.resize(e.width,e.height),(s=r.value)!=null&&s.view&&(r.value.view.width=e.width,r.value.view.height=e.height)}return Te([()=>e.width,()=>e.height],()=>a()),At(async()=>n.value&&await o(n.value)),vt(()=>{var s;return(s=r.value)==null?void 0:s.destroy()}),(s,l)=>(W(),Z("div",{ref_key:"containerRef",ref:n,"h-full":"","w-full":""},[je(s.$slots,"default",{app:r.value})],512))}});function Xo(t,e,n){return(1-n)*t+n*e}function nn(t,e){return t+Math.random()*(e-t)}async function*Jc(t,e){const n=t.getReader();try{for(;;){const{done:r,value:i}=await n.read();if(r)return;yield e(i)}}finally{n.releaseLock()}}function ed(){let t=-1,e,n=-1;function r(i,o){(o>=t||oe.app),r=Oi(()=>e.paused),i=V(),o=V(0),a=V(0),s=Ee(()=>Math.max(0,Math.min(100,e.mouthOpenSize))),l=ys(),u=bs(xs),c=Ee(()=>u.between("sm","md").value||u.smaller("sm").value),d=ed();function p(){return i.value.internalModel.coreModel}function f(A){if(!A.value)return;let T=2.2;c.value&&(T=2.2);const E=e.height*.95/a.value*T,O=e.width*.95/o.value*T,m=Math.min(E,O);A.value.scale.set(m,m)}async function h(){var m;if(!n.value)return;Bi.registerTicker(qs),Di.add(Ks),Di.add(Oc),i.value=await Bi.from(e.model,{motionPreload:Nc.ALL}),n.value.stage.addChild(i.value),o.value=i.value.width,a.value=i.value.height,i.value.x=e.width/2,i.value.y=e.height,i.value.rotation=Math.PI,i.value.skew.x=Math.PI,i.value.anchor.set(.5,.5),f(i),i.value.on("hit",M=>{i.value&&M.includes("body")&&i.value.motion("tap_body")});const A=i.value.internalModel,T=A.coreModel,E=A.motionManager;T.setParameterValueById("ParamMouthOpenY",s.value),E.groups.idle&&((m=E.motionGroups[E.groups.idle])==null||m.forEach(M=>{M._motionData.curves.forEach(b=>{(b.id==="ParamEyeBallX"||b.id==="ParamEyeBallY")&&(b.id=`_${b.id}`)})}));const O=E.update;E.update=function(M,b){return O==null||O.call(this,M,b),E.state.currentGroup===E.groups.idle&&d.update(A,b),!0}}async function w(A){await i.value.motion(A,void 0,Pc.FORCE)}const v=Su(()=>{i.value&&(i.value.x=e.width/2,i.value.y=e.height,f(i))},100);function y(){i.value&&(i.value.filters=[new Lc({color:l.value?10053247:14662098,alpha:.3,blur:0,distance:20,rotation:45})])}return Te([()=>e.width,()=>e.height],()=>v()),Te(l,y,{immediate:!0}),Te(i,y),Te(s,A=>p().setParameterValueById("ParamMouthOpenY",A)),Te(n,h),Te(()=>e.motion,()=>e.motion&&w(e.motion)),Te(r,A=>{var T,E;A?(T=n.value)==null||T.stop():(E=n.value)==null||E.start()}),At(y),vt(()=>{var A;return i.value&&((A=n.value)==null?void 0:A.stage.removeChild(i.value))}),(A,T)=>je(A.$slots,"default")}}),Zs=xe({__name:"Screen",setup(t){const e=V(),n=bs(xs),{width:r,height:i}=Ru(),o=so(e,{immediate:!0,windowResize:!0,reset:!0}),a=Ee(()=>n.between("sm","md").value||n.smaller("sm").value),s=Ee(()=>n.between("md","lg").value),l=Ee(()=>n.greaterOrEqual("lg").value),u=Ee(()=>l.value?o.width.value:a.value||s.value?r.value-16:o.width.value),c=V(0);return Te([r,i,e],()=>{var p,f;const d=(f=(p=e.value)==null?void 0:p.parentElement)==null?void 0:f.getBoundingClientRect();l.value||a.value||s.value?c.value=(d==null?void 0:d.height)||0:c.value=600}),Te([o.width,o.height],()=>{l.value||a.value||s.value?c.value=o.height.value:c.value=600}),At(async()=>{e.value&&o.update()}),(d,p)=>(W(),Z("div",{ref_key:"containerRef",ref:e,"h-full":"","w-full":""},[je(d.$slots,"default",{width:u.value,height:c.value})],512))}}),nd={absolute:"",bottom:"3",right:"3"},rd={flex:"~ row","cursor-pointer":""},id=["checked","aria-checked"],od={key:0,"min-w":"50vw",z:"(W(),Ge(Zs,{relative:""},{default:ye(({width:o,height:a})=>[he(Zc,{width:o,height:a},{default:ye(({app:s})=>[he(td,{app:s,model:t.model,"mouth-open-size":t.mouthOpenSize,width:o,height:a,motion:e.value,paused:t.paused},null,8,["app","model","mouth-open-size","width","height","motion","paused"])]),_:2},1032,["width","height"]),P("div",nd,[P("div",rd,[P("label",{class:Bt([n.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[Tt(P("input",{"onUpdate:modelValue":i[0]||(i[0]=s=>n.value=s),checked:n.value,"aria-checked":n.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,id),[[Cr,n.value]]),i[8]||(i[8]=P("div",{"select-none":""},[P("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Dr,null,{default:ye(()=>[n.value?(W(),Z("div",od,[P("div",ad,[P("div",sd,[P("span",null,le(r.$t("stage.viewers.debug-menu.emotions")),1)]),P("div",ld,[P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[1]||(i[1]=s=>e.value=B(Dc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[2]||(i[2]=s=>e.value=B(Bc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[3]||(i[3]=s=>e.value=B(Ws))},le(r.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[4]||(i[4]=s=>e.value=B(Xs))},le(r.$t("stage.viewers.debug-menu.emotions-btn.happy")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[5]||(i[5]=s=>e.value=B(zc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.awkward")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[6]||(i[6]=s=>e.value=B(Fc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.question")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[7]||(i[7]=s=>e.value=B(zi))},le(r.$t("stage.viewers.debug-menu.emotions-btn.think")),1)])])])):Ke("",!0)]),_:1})])]),_:1}))}});var cd=Object.defineProperty,dd=(t,e,n)=>e in t?cd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,fd=(t,e,n)=>dd(t,e+"",n);function pd(t){return Rs()?(Cs(t),!0):!1}function Js(t){return typeof t=="function"?t():B(t)}const hd=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const md=Object.prototype.toString,gd=t=>md.call(t)==="[object Object]",vd=()=>{},yd=hd?window:void 0;function bd(t){var e;const n=Js(t);return(e=n==null?void 0:n.$el)!=null?e:n}function Xr(...t){let e,n,r,i;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,i]=t,e=yd):[e,n,r,i]=t,!e)return vd;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],a=()=>{o.forEach(c=>c()),o.length=0},s=(c,d,p,f)=>(c.addEventListener(d,p,f),()=>c.removeEventListener(d,p,f)),l=Te(()=>[bd(e),Js(i)],([c,d])=>{if(a(),!c)return;const p=gd(d)?{...d}:d;o.push(...n.flatMap(f=>r.map(h=>s(c,f,h,p))))},{immediate:!0,flush:"post"}),u=()=>{l(),a()};return pd(u),u}function el(t,e,n,r){const i=class extends Hn{constructor(o={}){const a=Object.entries(t);super({uniforms:a.reduce((s,[l,u])=>{const c=co.clone({[l]:{value:u}});return{...s,...c}},{}),vertexShader:e,fragmentShader:n}),fd(this,"key",""),a.forEach(([s])=>Object.defineProperty(this,s,{get:()=>this.uniforms[s].value,set:l=>this.uniforms[s].value=l})),Object.assign(this,o)}};return i.key=ln.generateUUID(),i}el({color:new tt("white"),scale:new Xe(1,1),imageBounds:new Xe(1,1),resolution:1024,map:null,zoom:1,radius:0,grayscale:0,opacity:1},` + varying vec2 vUv; + varying vec2 vPos; + void main() { + gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.); + vUv = uv; + vPos = position.xy; + } + `,` + // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44 + varying vec2 vUv; + varying vec2 vPos; + uniform vec2 scale; + uniform vec2 imageBounds; + uniform float resolution; + uniform vec3 color; + uniform sampler2D map; + uniform float radius; + uniform float zoom; + uniform float grayscale; + uniform float opacity; + const vec3 luma = vec3(.299, 0.587, 0.114); + vec4 toGrayscale(vec4 color, float intensity) { + return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a); + } + vec2 aspect(vec2 size) { + return size / min(size.x, size.y); + } + + const float PI = 3.14159265; + + // from https://iquilezles.org/articles/distfunctions + float udRoundBox( vec2 p, vec2 b, float r ) { + return length(max(abs(p)-b+r,0.0))-r; + } + + void main() { + vec2 s = aspect(scale); + vec2 i = aspect(imageBounds); + float rs = s.x / s.y; + float ri = i.x / i.y; + vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x); + vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new; + vec2 uv = vUv * s / new + offset; + vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5); + + vec2 res = vec2(scale * resolution); + vec2 halfRes = 0.5 * res; + float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius); + vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b)); + gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale); + + #include + #include + } + `);const mo=parseInt(zu.replace(/\D+/g,""));var xd=Object.defineProperty,wd=(t,e,n)=>e in t?xd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,kd=(t,e,n)=>(wd(t,e+"",n),n);async function Qo(t){const e=await t.arrayBuffer(),n=btoa(String.fromCharCode(...new Uint8Array(e)));return`data:${t.type||""};base64,${n}`}let er,Qr,mn,tr;function Zr(t,e=1/0,n=null){Qr||(Qr=new Ms(2,2,1,1)),mn||(mn=new Hn({uniforms:{blitTexture:new Gu(t)},vertexShader:` + varying vec2 vUv; + void main(){ + vUv = uv; + gl_Position = vec4(position.xy * 1.0,0.,.999999); + } + `,fragmentShader:` + uniform sampler2D blitTexture; + varying vec2 vUv; + + void main(){ + gl_FragColor = vec4(vUv.xy, 0, 1); + + #ifdef IS_SRGB + gl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) ); + #else + gl_FragColor = texture2D( blitTexture, vUv); + #endif + } + `})),mn.uniforms.blitTexture.value=t,mn.defines.IS_SRGB="colorSpace"in t?t.colorSpace==="srgb":t.encoding===3001,mn.needsUpdate=!0,tr||(tr=new an(Qr,mn),tr.frustrumCulled=!1);const r=new Wt,i=new Pi;i.add(tr),n||(n=er=new Ku({antialias:!1})),n.setSize(Math.min(t.image.width,e),Math.min(t.image.height,e)),n.clear(),n.render(i,r);const o=new Ar(n.domElement);return o.minFilter=t.minFilter,o.magFilter=t.magFilter,o.wrapS=t.wrapS,o.wrapT=t.wrapT,o.name=t.name,er&&(er.dispose(),er=null),o}const Zo={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class tl{constructor(){this.pluginCallbacks=[],this.register(function(e){return new Od(e)}),this.register(function(e){return new Nd(e)}),this.register(function(e){return new Dd(e)}),this.register(function(e){return new Bd(e)}),this.register(function(e){return new zd(e)}),this.register(function(e){return new Fd(e)}),this.register(function(e){return new Pd(e)}),this.register(function(e){return new Ld(e)}),this.register(function(e){return new Ud(e)}),this.register(function(e){return new $d(e)}),this.register(function(e){return new jd(e)})}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,n,r,i){const o=new Cd,a=[];for(let s=0,l=this.pluginCallbacks.length;st.times[t.times.length-1]){if(Math.abs(t.times[t.times.length-1]-e)<.001)return t.times.length-1;r[r.length-1]=e,r.set(t.times,0),i.set(t.values,0),i.set(o.evaluate(e),t.values.length),a=r.length-1}else for(let s=0;se){r.set(t.times.slice(0,s+1),0),r[s+1]=e,r.set(t.times.slice(s+1),s+2),i.set(t.values.slice(0,(s+1)*n),0),i.set(o.evaluate(e),(s+1)*n),i.set(t.values.slice((s+1)*n),(s+2)*n),a=s+1;break}}return t.times=r,t.values=i,a},mergeMorphTargetTracks:function(t,e){const n=[],r={},i=t.tracks;for(let o=0;o4?a=t.array[i*t.itemSize+o]:(o===0?a=t.getX(i):o===1?a=t.getY(i):o===2?a=t.getZ(i):o===3&&(a=t.getW(i)),t.normalized===!0&&(a=ln.normalize(a,t.array))),r.min[o]=Math.min(r.min[o],a),r.max[o]=Math.max(r.max[o],a)}return r}function nl(t){return Math.ceil(t/4)*4}function ei(t,e=0){const n=nl(t.byteLength);if(n!==t.byteLength){const r=new Uint8Array(n);if(r.set(new Uint8Array(t)),e!==0)for(let i=t.byteLength;i"u"&&typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):document.createElement("canvas")}function ra(t,e){if(t.toBlob!==void 0)return new Promise(r=>t.toBlob(r,e));let n;return e==="image/jpeg"?n=.92:e==="image/webp"&&(n=.8),t.convertToBlob({type:e,quality:n})}class Cd{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,n,r={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},r),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);const i=this,o=i.buffers,a=i.json;r=i.options;const s=i.extensionsUsed,l=i.extensionsRequired,u=new Blob(o,{type:"application/octet-stream"}),c=Object.keys(s),d=Object.keys(l);c.length>0&&(a.extensionsUsed=c),d.length>0&&(a.extensionsRequired=d),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=u.size),r.binary===!0?u.arrayBuffer().then(p=>{const f=ei(p),h=new DataView(new ArrayBuffer(ta));h.setUint32(0,f.byteLength,!0),h.setUint32(4,Md,!0);const w=ei(Id(JSON.stringify(a)),32),v=new DataView(new ArrayBuffer(ta));v.setUint32(0,w.byteLength,!0),v.setUint32(4,Ed,!0);const y=new ArrayBuffer(ea),A=new DataView(y);A.setUint32(0,Ad,!0),A.setUint32(4,_d,!0);const T=ea+v.byteLength+w.byteLength+h.byteLength+f.byteLength;A.setUint32(8,T,!0),new Blob([y,v,w,h,f],{type:"application/octet-stream"}).arrayBuffer().then(n)}):a.buffers&&a.buffers.length>0?Qo(u).then(p=>{a.buffers[0].uri=p,n(a)}):n(a)}serializeUserData(e,n){if(Object.keys(e.userData).length===0)return;const r=this.options,i=this.extensionsUsed;try{const o=JSON.parse(JSON.stringify(e.userData));if(r.includeCustomExtensions&&o.gltfExtensions){n.extensions===void 0&&(n.extensions={});for(const a in o.gltfExtensions)n.extensions[a]=o.gltfExtensions[a],i[a]=!0;delete o.gltfExtensions}Object.keys(o).length>0&&(n.extras=o)}catch(o){console.warn("THREE.GLTFExporter: userData of '"+e.name+"' won't be serialized because of JSON.stringify error - "+o.message)}}getUID(e,n=!1){if(this.uids.has(e)===!1){const r=new Map;r.set(!0,this.uid++),r.set(!1,this.uid++),this.uids.set(e,r)}return this.uids.get(e).get(n)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;const n=new de;for(let r=0,i=e.count;r5e-4)return!1;return!0}createNormalizedNormalAttribute(e){const n=this.cache;if(n.attributesNormalized.has(e))return n.attributesNormalized.get(e);const r=e.clone(),i=new de;for(let o=0,a=r.count;o4?h=e.array[p*e.itemSize+f]:(f===0?h=e.getX(p):f===1?h=e.getY(p):f===2?h=e.getZ(p):f===3&&(h=e.getW(p)),e.normalized===!0&&(h=ln.normalize(h,e.array))),n===_e.FLOAT?u.setFloat32(c,h,!0):n===_e.INT?u.setInt32(c,h,!0):n===_e.UNSIGNED_INT?u.setUint32(c,h,!0):n===_e.SHORT?u.setInt16(c,h,!0):n===_e.UNSIGNED_SHORT?u.setUint16(c,h,!0):n===_e.BYTE?u.setInt8(c,h):n===_e.UNSIGNED_BYTE&&u.setUint8(c,h),c+=s}const d={buffer:this.processBuffer(u.buffer),byteOffset:this.byteOffset,byteLength:l};return o!==void 0&&(d.target=o),o===_e.ARRAY_BUFFER&&(d.byteStride=e.itemSize*s),this.byteOffset+=l,a.bufferViews.push(d),{id:a.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){const n=this,r=n.json;return r.bufferViews||(r.bufferViews=[]),e.arrayBuffer().then(i=>{const o=ei(i),a={buffer:n.processBuffer(o),byteOffset:n.byteOffset,byteLength:o.byteLength};return n.byteOffset+=o.byteLength,r.bufferViews.push(a)-1})}processAccessor(e,n,r,i){const o=this.json,a={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"};let s;if(e.array.constructor===Float32Array)s=_e.FLOAT;else if(e.array.constructor===Int32Array)s=_e.INT;else if(e.array.constructor===Uint32Array)s=_e.UNSIGNED_INT;else if(e.array.constructor===Int16Array)s=_e.SHORT;else if(e.array.constructor===Uint16Array)s=_e.UNSIGNED_SHORT;else if(e.array.constructor===Int8Array)s=_e.BYTE;else if(e.array.constructor===Uint8Array)s=_e.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+e.array.constructor.name);if(r===void 0&&(r=0),i===void 0&&(i=e.count),i===0)return null;const l=Rd(e,r,i);let u;n!==void 0&&(u=e===n.index?_e.ELEMENT_ARRAY_BUFFER:_e.ARRAY_BUFFER);const c=this.processBufferView(e,s,r,i,u),d={bufferView:c.id,byteOffset:c.byteOffset,componentType:s,count:i,max:l.max,min:l.min,type:a[e.itemSize]};return e.normalized===!0&&(d.normalized=!0),o.accessors||(o.accessors=[]),o.accessors.push(d)-1}processImage(e,n,r,i="image/png"){if(e!==null){const o=this,a=o.cache,s=o.json,l=o.options,u=o.pending;a.images.has(e)||a.images.set(e,{});const c=a.images.get(e),d=i+":flipY/"+r.toString();if(c[d]!==void 0)return c[d];s.images||(s.images=[]);const p={mimeType:i},f=na();f.width=Math.min(e.width,l.maxTextureSize),f.height=Math.min(e.height,l.maxTextureSize);const h=f.getContext("2d");if(r===!0&&(h.translate(0,f.height),h.scale(1,-1)),e.data!==void 0){n!==Ni&&console.error("GLTFExporter: Only RGBAFormat is supported.",n),(e.width>l.maxTextureSize||e.height>l.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",e);const v=new Uint8ClampedArray(e.height*e.width*4);for(let y=0;yo.processBufferViewImage(v)).then(v=>{p.bufferView=v})):f.toDataURL!==void 0?p.uri=f.toDataURL(i):u.push(ra(f,i).then(Qo).then(v=>{p.uri=v}));const w=s.images.push(p)-1;return c[d]=w,w}else throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(e){const n=this.json;n.samplers||(n.samplers=[]);const r={magFilter:mt[e.magFilter],minFilter:mt[e.minFilter],wrapS:mt[e.wrapS],wrapT:mt[e.wrapT]};return n.samplers.push(r)-1}processTexture(e){const n=this.options,r=this.cache,i=this.json;if(r.textures.has(e))return r.textures.get(e);i.textures||(i.textures=[]),e instanceof Hr&&(e=Zr(e,n.maxTextureSize));let o=e.userData.mimeType;o==="image/webp"&&(o="image/png");const a={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,o)};e.name&&(a.name=e.name),this._invokeAll(function(l){l.writeTexture&&l.writeTexture(e,a)});const s=i.textures.push(a)-1;return r.textures.set(e,s),s}processMaterial(e){const n=this.cache,r=this.json;if(n.materials.has(e))return n.materials.get(e);if(e.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;r.materials||(r.materials=[]);const i={pbrMetallicRoughness:{}};e.isMeshStandardMaterial!==!0&&e.isMeshBasicMaterial!==!0&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const o=e.color.toArray().concat([e.opacity]);if(zn(o,[1,1,1,1])||(i.pbrMetallicRoughness.baseColorFactor=o),e.isMeshStandardMaterial?(i.pbrMetallicRoughness.metallicFactor=e.metalness,i.pbrMetallicRoughness.roughnessFactor=e.roughness):(i.pbrMetallicRoughness.metallicFactor=.5,i.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){const s=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),l={index:this.processTexture(s),channel:s.channel};this.applyTextureTransform(l,s),i.pbrMetallicRoughness.metallicRoughnessTexture=l}if(e.map){const s={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(s,e.map),i.pbrMetallicRoughness.baseColorTexture=s}if(e.emissive){const s=e.emissive;if(Math.max(s.r,s.g,s.b)>0&&(i.emissiveFactor=e.emissive.toArray()),e.emissiveMap){const l={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(l,e.emissiveMap),i.emissiveTexture=l}}if(e.normalMap){const s={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&e.normalScale.x!==1&&(s.scale=e.normalScale.x),this.applyTextureTransform(s,e.normalMap),i.normalTexture=s}if(e.aoMap){const s={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};e.aoMapIntensity!==1&&(s.strength=e.aoMapIntensity),this.applyTextureTransform(s,e.aoMap),i.occlusionTexture=s}e.transparent?i.alphaMode="BLEND":e.alphaTest>0&&(i.alphaMode="MASK",i.alphaCutoff=e.alphaTest),e.side===Nr&&(i.doubleSided=!0),e.name!==""&&(i.name=e.name),this.serializeUserData(e,i),this._invokeAll(function(s){s.writeMaterial&&s.writeMaterial(e,i)});const a=r.materials.push(i)-1;return n.materials.set(e,a),a}processMesh(e){const n=this.cache,r=this.json,i=[e.geometry.uuid];if(Array.isArray(e.material))for(let T=0,E=e.material.length;T=152?{uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3"}:{uv:"TEXCOORD_0",uv2:"TEXCOORD_1"},color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},f=a.getAttribute("normal");f!==void 0&&!this.isNormalizedNormalAttribute(f)&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),a.setAttribute("normal",this.createNormalizedNormalAttribute(f)));let h=null;for(let T in a.attributes){if(T.slice(0,5)==="morph")continue;const E=a.attributes[T];if(T=p[T]||T.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(T)||(T="_"+T),n.attributes.has(this.getUID(E))){u[T]=n.attributes.get(this.getUID(E));continue}h=null;const O=E.array;T==="JOINTS_0"&&!(O instanceof Uint16Array)&&!(O instanceof Uint8Array)&&(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),h=new rn(new Uint16Array(O),E.itemSize,E.normalized));const m=this.processAccessor(h||E,a);m!==null&&(T.startsWith("_")||this.detectMeshQuantization(T,E),u[T]=m,n.attributes.set(this.getUID(E),m))}if(f!==void 0&&a.setAttribute("normal",f),Object.keys(u).length===0)return null;if(e.morphTargetInfluences!==void 0&&e.morphTargetInfluences.length>0){const T=[],E=[],O={};if(e.morphTargetDictionary!==void 0)for(const m in e.morphTargetDictionary)O[e.morphTargetDictionary[m]]=m;for(let m=0;m0&&(l.extras={},l.extras.targetNames=E)}const w=Array.isArray(e.material);if(w&&a.groups.length===0)return null;const v=w?e.material:[e.material],y=w?a.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let T=0,E=y.length;T0&&(O.targets=d),a.index!==null){let M=this.getUID(a.index);(y[T].start!==void 0||y[T].count!==void 0)&&(M+=":"+y[T].start+":"+y[T].count),n.attributes.has(M)?O.indices=n.attributes.get(M):(O.indices=this.processAccessor(a.index,a,y[T].start,y[T].count),n.attributes.set(M,O.indices)),O.indices===null&&delete O.indices}const m=this.processMaterial(v[y[T].materialIndex]);m!==null&&(O.material=m),c.push(O)}l.primitives=c,r.meshes||(r.meshes=[]),this._invokeAll(function(T){T.writeMesh&&T.writeMesh(e,l)});const A=r.meshes.push(l)-1;return n.meshes.set(o,A),A}detectMeshQuantization(e,n){if(this.extensionsUsed[Jr])return;let r;switch(n.array.constructor){case Int8Array:r="byte";break;case Uint8Array:r="unsigned byte";break;case Int16Array:r="short";break;case Uint16Array:r="unsigned short";break;default:return}n.normalized&&(r+=" normalized");const i=e.split("_",1)[0];Zo[i]&&Zo[i].includes(r)&&(this.extensionsUsed[Jr]=!0,this.extensionsRequired[Jr]=!0)}processCamera(e){const n=this.json;n.cameras||(n.cameras=[]);const r=e.isOrthographicCamera,i={type:r?"orthographic":"perspective"};return r?i.orthographic={xmag:e.right*2,ymag:e.top*2,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:i.perspective={aspectRatio:e.aspect,yfov:ln.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},e.name!==""&&(i.name=e.type),n.cameras.push(i)-1}processAnimation(e,n){const r=this.json,i=this.nodeMap;r.animations||(r.animations=[]),e=tl.Utils.mergeMorphTargetTracks(e.clone(),n);const o=e.tracks,a=[],s=[];for(let l=0;l0){const s=[];for(let l=0,u=e.children.length;l0&&(o.children=s)}this._invokeAll(function(s){s.writeNode&&s.writeNode(e,o)});const a=n.nodes.push(o)-1;return i.set(e,a),a}processScene(e){const n=this.json,r=this.options;n.scenes||(n.scenes=[],n.scene=0);const i={};e.name!==""&&(i.name=e.name),n.scenes.push(i);const o=[];for(let a=0,s=e.children.length;a0&&(i.nodes=o),this.serializeUserData(e,i)}processObjects(e){const n=new Pi;n.name="AuxScene";for(let r=0;r0&&this.processObjects(r);for(let i=0;i0&&(a.range=e.distance)):e.isSpotLight&&(a.type="spot",e.distance>0&&(a.range=e.distance),a.spot={},a.spot.innerConeAngle=(e.penumbra-1)*e.angle*-1,a.spot.outerConeAngle=e.angle),e.decay!==void 0&&e.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),e.target&&(e.target.parent!==e||e.target.position.x!==0||e.target.position.y!==0||e.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),o[this.name]||(i.extensions=i.extensions||{},i.extensions[this.name]={lights:[]},o[this.name]=!0);const s=i.extensions[this.name].lights;s.push(a),n.extensions=n.extensions||{},n.extensions[this.name]={light:s.length-1}}}let Nd=class{constructor(t){this.writer=t,this.name="KHR_materials_unlit"}writeMaterial(t,e){if(!t.isMeshBasicMaterial)return;const n=this.writer.extensionsUsed;e.extensions=e.extensions||{},e.extensions[this.name]={},n[this.name]=!0,e.pbrMetallicRoughness.metallicFactor=0,e.pbrMetallicRoughness.roughnessFactor=.9}},Pd=class{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}writeMaterial(e,n){if(!e.isMeshPhysicalMaterial||e.clearcoat===0)return;const r=this.writer,i=r.extensionsUsed,o={};if(o.clearcoatFactor=e.clearcoat,e.clearcoatMap){const a={index:r.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};r.applyTextureTransform(a,e.clearcoatMap),o.clearcoatTexture=a}if(o.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const a={index:r.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};r.applyTextureTransform(a,e.clearcoatRoughnessMap),o.clearcoatRoughnessTexture=a}if(e.clearcoatNormalMap){const a={index:r.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};r.applyTextureTransform(a,e.clearcoatNormalMap),o.clearcoatNormalTexture=a}n.extensions=n.extensions||{},n.extensions[this.name]=o,i[this.name]=!0}},Ld=class{constructor(t){this.writer=t,this.name="KHR_materials_iridescence"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.iridescence===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.iridescenceFactor=t.iridescence,t.iridescenceMap){const o={index:n.processTexture(t.iridescenceMap),texCoord:t.iridescenceMap.channel};n.applyTextureTransform(o,t.iridescenceMap),i.iridescenceTexture=o}if(i.iridescenceIor=t.iridescenceIOR,i.iridescenceThicknessMinimum=t.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=t.iridescenceThicknessRange[1],t.iridescenceThicknessMap){const o={index:n.processTexture(t.iridescenceThicknessMap),texCoord:t.iridescenceThicknessMap.channel};n.applyTextureTransform(o,t.iridescenceThicknessMap),i.iridescenceThicknessTexture=o}e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},Dd=class{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}writeMaterial(e,n){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;const r=this.writer,i=r.extensionsUsed,o={};if(o.transmissionFactor=e.transmission,e.transmissionMap){const a={index:r.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};r.applyTextureTransform(a,e.transmissionMap),o.transmissionTexture=a}n.extensions=n.extensions||{},n.extensions[this.name]=o,i[this.name]=!0}},Bd=class{constructor(t){this.writer=t,this.name="KHR_materials_volume"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.transmission===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.thicknessFactor=t.thickness,t.thicknessMap){const o={index:n.processTexture(t.thicknessMap),texCoord:t.thicknessMap.channel};n.applyTextureTransform(o,t.thicknessMap),i.thicknessTexture=o}i.attenuationDistance=t.attenuationDistance,i.attenuationColor=t.attenuationColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},zd=class{constructor(e){this.writer=e,this.name="KHR_materials_ior"}writeMaterial(e,n){if(!e.isMeshPhysicalMaterial||e.ior===1.5)return;const r=this.writer.extensionsUsed,i={};i.ior=e.ior,n.extensions=n.extensions||{},n.extensions[this.name]=i,r[this.name]=!0}},Fd=class{constructor(t){this.writer=t,this.name="KHR_materials_specular"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.specularIntensity===1&&t.specularColor.equals(Td)&&!t.specularIntensityMap&&!t.specularColorTexture)return;const n=this.writer,r=n.extensionsUsed,i={};if(t.specularIntensityMap){const o={index:n.processTexture(t.specularIntensityMap),texCoord:t.specularIntensityMap.channel};n.applyTextureTransform(o,t.specularIntensityMap),i.specularTexture=o}if(t.specularColorMap){const o={index:n.processTexture(t.specularColorMap),texCoord:t.specularColorMap.channel};n.applyTextureTransform(o,t.specularColorMap),i.specularColorTexture=o}i.specularFactor=t.specularIntensity,i.specularColorFactor=t.specularColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},Ud=class{constructor(t){this.writer=t,this.name="KHR_materials_sheen"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.sheen==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(t.sheenRoughnessMap){const o={index:n.processTexture(t.sheenRoughnessMap),texCoord:t.sheenRoughnessMap.channel};n.applyTextureTransform(o,t.sheenRoughnessMap),i.sheenRoughnessTexture=o}if(t.sheenColorMap){const o={index:n.processTexture(t.sheenColorMap),texCoord:t.sheenColorMap.channel};n.applyTextureTransform(o,t.sheenColorMap),i.sheenColorTexture=o}i.sheenRoughnessFactor=t.sheenRoughness,i.sheenColorFactor=t.sheenColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},$d=class{constructor(t){this.writer=t,this.name="KHR_materials_anisotropy"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.anisotropy==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(t.anisotropyMap){const o={index:n.processTexture(t.anisotropyMap)};n.applyTextureTransform(o,t.anisotropyMap),i.anisotropyTexture=o}i.anisotropyStrength=t.anisotropy,i.anisotropyRotation=t.anisotropyRotation,e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},jd=class{constructor(t){this.writer=t,this.name="KHR_materials_emissive_strength"}writeMaterial(t,e){if(!t.isMeshStandardMaterial||t.emissiveIntensity===1)return;const n=this.writer.extensionsUsed,r={};r.emissiveStrength=t.emissiveIntensity,e.extensions=e.extensions||{},e.extensions[this.name]=r,n[this.name]=!0}};var qn=Uint8Array,rl=Uint16Array,Vd=Uint32Array,Hd=new qn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Gd=new qn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),il=function(t,e){for(var n=new rl(31),r=0;r<31;++r)n[r]=e+=1<>>1|(Ue&21845)<<1;Ht=(Ht&52428)>>>2|(Ht&13107)<<2,Ht=(Ht&61680)>>>4|(Ht&3855)<<4,Yd[Ue]=((Ht&65280)>>>8|(Ht&255)<<8)>>>1}var Br=new qn(288);for(var Ue=0;Ue<144;++Ue)Br[Ue]=8;for(var Ue=144;Ue<256;++Ue)Br[Ue]=9;for(var Ue=256;Ue<280;++Ue)Br[Ue]=7;for(var Ue=280;Ue<288;++Ue)Br[Ue]=8;var Wd=new qn(32);for(var Ue=0;Ue<32;++Ue)Wd[Ue]=5;var Xd=new qn(0),Qd=typeof TextDecoder<"u"&&new TextDecoder,Zd=0;try{Qd.decode(Xd,{stream:!0}),Zd=1}catch{}var Jd=Object.defineProperty,ef=(t,e,n)=>e in t?Jd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,tf=(t,e,n)=>(ef(t,e+"",n),n);const al=class extends an{constructor(t,e={}){super(t),this.isReflector=!0,this.type="Reflector",this.camera=new Wt;const n=this,r=e.color!==void 0?new tt(e.color):new tt(8355711),i=e.textureWidth||512,o=e.textureHeight||512,a=e.clipBias||0,s=e.shader||al.ReflectorShader,l=e.multisample!==void 0?e.multisample:4,u=new ks,c=new de,d=new de,p=new de,f=new Ft,h=new de(0,0,-1),w=new Qt,v=new de,y=new de,A=new Qt,T=new Ft,E=this.camera,O=new Uu(i,o,{samples:l,type:$u}),m=new Hn({uniforms:co.clone(s.uniforms),fragmentShader:s.fragmentShader,vertexShader:s.vertexShader});m.uniforms.tDiffuse.value=O.texture,m.uniforms.color.value=r,m.uniforms.textureMatrix.value=T,this.material=m,this.onBeforeRender=function(M,b,x){if(d.setFromMatrixPosition(n.matrixWorld),p.setFromMatrixPosition(x.matrixWorld),f.extractRotation(n.matrixWorld),c.set(0,0,1),c.applyMatrix4(f),v.subVectors(d,p),v.dot(c)>0)return;v.reflect(c).negate(),v.add(d),f.extractRotation(x.matrixWorld),h.set(0,0,-1),h.applyMatrix4(f),h.add(p),y.subVectors(d,h),y.reflect(c).negate(),y.add(d),E.position.copy(v),E.up.set(0,1,0),E.up.applyMatrix4(f),E.up.reflect(c),E.lookAt(y),E.far=x.far,E.updateMatrixWorld(),E.projectionMatrix.copy(x.projectionMatrix),T.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),T.multiply(E.projectionMatrix),T.multiply(E.matrixWorldInverse),T.multiply(n.matrixWorld),u.setFromNormalAndCoplanarPoint(c,d),u.applyMatrix4(E.matrixWorldInverse),w.set(u.normal.x,u.normal.y,u.normal.z,u.constant);const g=E.projectionMatrix;A.x=(Math.sign(w.x)+g.elements[8])/g.elements[0],A.y=(Math.sign(w.y)+g.elements[9])/g.elements[5],A.z=-1,A.w=(1+g.elements[10])/g.elements[14],w.multiplyScalar(2/w.dot(A)),g.elements[2]=w.x,g.elements[6]=w.y,g.elements[10]=w.z+1-a,g.elements[14]=w.w,n.visible=!1;const _=M.getRenderTarget(),R=M.xr.enabled,z=M.shadowMap.autoUpdate,F=M.toneMapping;let D=!1;"outputColorSpace"in M?D=M.outputColorSpace==="srgb":D=M.outputEncoding===3001,M.xr.enabled=!1,M.shadowMap.autoUpdate=!1,"outputColorSpace"in M?M.outputColorSpace="srgb-linear":M.outputEncoding=3e3,M.toneMapping=ju,M.setRenderTarget(O),M.state.buffers.depth.setMask(!0),M.autoClear===!1&&M.clear(),M.render(b,E),M.xr.enabled=R,M.shadowMap.autoUpdate=z,M.toneMapping=F,"outputColorSpace"in M?M.outputColorSpace=D?"srgb":"srgb-linear":M.outputEncoding=D?3001:3e3,M.setRenderTarget(_);const U=x.viewport;U!==void 0&&M.state.viewport(U),n.visible=!0},this.getRenderTarget=function(){return O},this.dispose=function(){O.dispose(),n.material.dispose()}}};let $i=al;tf($i,"ReflectorShader",{uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:` + uniform mat4 textureMatrix; + varying vec4 vUv; + + #include + #include + + void main() { + + vUv = textureMatrix * vec4( position, 1.0 ); + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + #include + + }`,fragmentShader:` + uniform vec3 color; + uniform sampler2D tDiffuse; + varying vec4 vUv; + + #include + + float blendOverlay( float base, float blend ) { + + return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) ); + + } + + vec3 blendOverlay( vec3 base, vec3 blend ) { + + return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) ); + + } + + void main() { + + #include + + vec4 base = texture2DProj( tDiffuse, vUv ); + gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 ); + + #include + #include <${mo>=154?"colorspace_fragment":"encodings_fragment"}> + + }`});var nf=Object.defineProperty,rf=(t,e,n)=>e in t?nf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,sl=(t,e,n)=>(rf(t,typeof e!="symbol"?e+"":e,n),n);const zr=new Ts,of=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),ll=new As(of,5);zr.setIndex([0,1,2,0,2,3]);zr.setAttribute("position",new uo(ll,3,0,!1));zr.setAttribute("uv",new uo(ll,2,3,!1));const ji=class extends an{constructor(){super(ji.Geometry,new xn({opacity:0,transparent:!0})),this.isLensflare=!0,this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const t=new de,e=new de,n=new jo(new Uint8Array(16*16*3),16,16,Ni);n.minFilter=on,n.magFilter=on,n.wrapS=wn,n.wrapT=wn;const r=new jo(new Uint8Array(16*16*3),16,16,Ni);r.minFilter=on,r.magFilter=on,r.wrapS=wn,r.wrapT=wn;const i=ji.Geometry,o=new Gr({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + + void main() { + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + void main() { + + gl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 ); + + }`,depthTest:!0,depthWrite:!1,transparent:!1}),a=new Gr({uniforms:{map:{value:n},scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + attribute vec2 uv; + + varying vec2 vUV; + + void main() { + + vUV = uv; + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + uniform sampler2D map; + + varying vec2 vUV; + + void main() { + + gl_FragColor = texture2D( map, vUV ); + + }`,depthTest:!1,depthWrite:!1,transparent:!1}),s=new an(i,o),l=[],u=ul.Shader,c=new Gr({uniforms:{map:{value:null},occlusionMap:{value:r},color:{value:new tt(16777215)},scale:{value:new Xe},screenPosition:{value:new de}},vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Vu,transparent:!0,depthWrite:!1}),d=new an(i,c);this.addElement=function(v){l.push(v)};const p=new Xe,f=new Xe,h=new Hu,w=new Qt;this.onBeforeRender=function(v,y,A){v.getCurrentViewport(w);const T=w.w/w.z,E=w.z/2,O=w.w/2;let m=16/w.w;if(p.set(m*T,m),h.min.set(w.x,w.y),h.max.set(w.x+(w.z-16),w.y+(w.w-16)),e.setFromMatrixPosition(this.matrixWorld),e.applyMatrix4(A.matrixWorldInverse),!(e.z>0)&&(t.copy(e).applyMatrix4(A.projectionMatrix),f.x=w.x+t.x*E+E-8,f.y=w.y+t.y*O+O-8,h.containsPoint(f))){v.copyFramebufferToTexture(f,n);let M=o.uniforms;M.scale.value=p,M.screenPosition.value=t,v.renderBufferDirect(A,null,i,o,s,null),v.copyFramebufferToTexture(f,r),M=a.uniforms,M.scale.value=p,M.screenPosition.value=t,v.renderBufferDirect(A,null,i,a,s,null);const b=-t.x*2,x=-t.y*2;for(let g=0,_=l.length;g<_;g++){const R=l[g],z=c.uniforms;z.color.value.copy(R.color),z.map.value=R.texture,z.screenPosition.value.x=t.x+b*R.distance,z.screenPosition.value.y=t.y+x*R.distance,m=R.size/w.w;const F=w.w/w.z;z.scale.value.set(m*F,m),c.uniformsNeedUpdate=!0,v.renderBufferDirect(A,null,i,c,d,null)}}},this.dispose=function(){o.dispose(),a.dispose(),c.dispose(),n.dispose(),r.dispose();for(let v=0,y=l.length;ve in t?sf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,cl=(t,e,n)=>(lf(t,typeof e!="symbol"?e+"":e,n),n);const yr={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new de},up:{value:new de(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${mo>=154?"colorspace_fragment":"encodings_fragment"}> + + } + `},dl=new Hn({name:"SkyShader",fragmentShader:yr.fragmentShader,vertexShader:yr.vertexShader,uniforms:co.clone(yr.uniforms),side:Nu,depthWrite:!1});class fl extends an{constructor(){super(new Fu(1,1,1),dl)}}cl(fl,"SkyShader",yr);cl(fl,"material",dl);new Pu;new de;new _s(0,0,0,"YXZ");new de;var uf=Object.defineProperty,cf=(t,e,n)=>e in t?uf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,oe=(t,e,n)=>(cf(t,typeof e!="symbol"?e+"":e,n),n);const nr=new Ou,ia=new ks,df=Math.cos(70*(Math.PI/180)),oa=(t,e)=>(t%e+e)%e;class ff extends Cu{constructor(e,n){super(),oe(this,"object"),oe(this,"domElement"),oe(this,"enabled",!0),oe(this,"target",new de),oe(this,"minDistance",0),oe(this,"maxDistance",1/0),oe(this,"minZoom",0),oe(this,"maxZoom",1/0),oe(this,"minPolarAngle",0),oe(this,"maxPolarAngle",Math.PI),oe(this,"minAzimuthAngle",-1/0),oe(this,"maxAzimuthAngle",1/0),oe(this,"enableDamping",!1),oe(this,"dampingFactor",.05),oe(this,"enableZoom",!0),oe(this,"zoomSpeed",1),oe(this,"enableRotate",!0),oe(this,"rotateSpeed",1),oe(this,"enablePan",!0),oe(this,"panSpeed",1),oe(this,"screenSpacePanning",!0),oe(this,"keyPanSpeed",7),oe(this,"zoomToCursor",!1),oe(this,"autoRotate",!1),oe(this,"autoRotateSpeed",2),oe(this,"reverseOrbit",!1),oe(this,"reverseHorizontalOrbit",!1),oe(this,"reverseVerticalOrbit",!1),oe(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),oe(this,"mouseButtons",{LEFT:hn.ROTATE,MIDDLE:hn.DOLLY,RIGHT:hn.PAN}),oe(this,"touches",{ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN}),oe(this,"target0"),oe(this,"position0"),oe(this,"zoom0"),oe(this,"_domElementKeyEvents",null),oe(this,"getPolarAngle"),oe(this,"getAzimuthalAngle"),oe(this,"setPolarAngle"),oe(this,"setAzimuthalAngle"),oe(this,"getDistance"),oe(this,"getZoomScale"),oe(this,"listenToKeyEvents"),oe(this,"stopListenToKeyEvents"),oe(this,"saveState"),oe(this,"reset"),oe(this,"update"),oe(this,"connect"),oe(this,"dispose"),oe(this,"dollyIn"),oe(this,"dollyOut"),oe(this,"getScale"),oe(this,"setScale"),this.object=e,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>c.phi,this.getAzimuthalAngle=()=>c.theta,this.setPolarAngle=L=>{let X=oa(L,2*Math.PI),ie=c.phi;ie<0&&(ie+=2*Math.PI),X<0&&(X+=2*Math.PI);let Ce=Math.abs(X-ie);2*Math.PI-Ce{let X=oa(L,2*Math.PI),ie=c.theta;ie<0&&(ie+=2*Math.PI),X<0&&(X+=2*Math.PI);let Ce=Math.abs(X-ie);2*Math.PI-Cer.object.position.distanceTo(r.target),this.listenToKeyEvents=L=>{L.addEventListener("keydown",re),this._domElementKeyEvents=L},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",re),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(i),r.update(),l=s.NONE},this.update=(()=>{const L=new de,X=new de(0,1,0),ie=new Tr().setFromUnitVectors(e.up,X),Ce=ie.clone().invert(),dt=new de,kt=new Tr,Zn=2*Math.PI;return function(){const Fo=r.object.position;ie.setFromUnitVectors(e.up,X),Ce.copy(ie).invert(),L.copy(Fo).sub(r.target),L.applyQuaternion(ie),c.setFromVector3(L),r.autoRotate&&l===s.NONE&&F(R()),r.enableDamping?(c.theta+=d.theta*r.dampingFactor,c.phi+=d.phi*r.dampingFactor):(c.theta+=d.theta,c.phi+=d.phi);let Ct=r.minAzimuthAngle,Ot=r.maxAzimuthAngle;isFinite(Ct)&&isFinite(Ot)&&(Ct<-Math.PI?Ct+=Zn:Ct>Math.PI&&(Ct-=Zn),Ot<-Math.PI?Ot+=Zn:Ot>Math.PI&&(Ot-=Zn),Ct<=Ot?c.theta=Math.max(Ct,Math.min(Ot,c.theta)):c.theta=c.theta>(Ct+Ot)/2?Math.max(Ct,c.theta):Math.min(Ot,c.theta)),c.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,c.phi)),c.makeSafe(),r.enableDamping===!0?r.target.addScaledVector(f,r.dampingFactor):r.target.add(f),r.zoomToCursor&&x||r.object.isOrthographicCamera?c.radius=C(c.radius):c.radius=C(c.radius*p),L.setFromSpherical(c),L.applyQuaternion(Ce),Fo.copy(r.target).add(L),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),r.enableDamping===!0?(d.theta*=1-r.dampingFactor,d.phi*=1-r.dampingFactor,f.multiplyScalar(1-r.dampingFactor)):(d.set(0,0,0),f.set(0,0,0));let Cn=!1;if(r.zoomToCursor&&x){let On=null;if(r.object instanceof Wt&&r.object.isPerspectiveCamera){const Nn=L.length();On=C(Nn*p);const Jn=Nn-On;r.object.position.addScaledVector(M,Jn),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){const Nn=new de(b.x,b.y,0);Nn.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/p)),r.object.updateProjectionMatrix(),Cn=!0;const Jn=new de(b.x,b.y,0);Jn.unproject(r.object),r.object.position.sub(Jn).add(Nn),r.object.updateMatrixWorld(),On=L.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;On!==null&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(On).add(r.object.position):(nr.origin.copy(r.object.position),nr.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(nr.direction))u||8*(1-kt.dot(r.object.quaternion))>u?(r.dispatchEvent(i),dt.copy(r.object.position),kt.copy(r.object.quaternion),Cn=!1,!0):!1}})(),this.connect=L=>{r.domElement=L,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",He),r.domElement.addEventListener("pointerdown",Ie),r.domElement.addEventListener("pointercancel",Je),r.domElement.addEventListener("wheel",Q)},this.dispose=()=>{var L,X,ie,Ce,dt,kt;r.domElement&&(r.domElement.style.touchAction="auto"),(L=r.domElement)==null||L.removeEventListener("contextmenu",He),(X=r.domElement)==null||X.removeEventListener("pointerdown",Ie),(ie=r.domElement)==null||ie.removeEventListener("pointercancel",Je),(Ce=r.domElement)==null||Ce.removeEventListener("wheel",Q),(dt=r.domElement)==null||dt.ownerDocument.removeEventListener("pointermove",Qe),(kt=r.domElement)==null||kt.ownerDocument.removeEventListener("pointerup",Je),r._domElementKeyEvents!==null&&r._domElementKeyEvents.removeEventListener("keydown",re)};const r=this,i={type:"change"},o={type:"start"},a={type:"end"},s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=s.NONE;const u=1e-6,c=new $o,d=new $o;let p=1;const f=new de,h=new Xe,w=new Xe,v=new Xe,y=new Xe,A=new Xe,T=new Xe,E=new Xe,O=new Xe,m=new Xe,M=new de,b=new Xe;let x=!1;const g=[],_={};function R(){return 2*Math.PI/60/60*r.autoRotateSpeed}function z(){return Math.pow(.95,r.zoomSpeed)}function F(L){r.reverseOrbit||r.reverseHorizontalOrbit?d.theta+=L:d.theta-=L}function D(L){r.reverseOrbit||r.reverseVerticalOrbit?d.phi+=L:d.phi-=L}const U=(()=>{const L=new de;return function(X,ie){L.setFromMatrixColumn(ie,0),L.multiplyScalar(-X),f.add(L)}})(),ee=(()=>{const L=new de;return function(X,ie){r.screenSpacePanning===!0?L.setFromMatrixColumn(ie,1):(L.setFromMatrixColumn(ie,0),L.crossVectors(r.object.up,L)),L.multiplyScalar(X),f.add(L)}})(),ne=(()=>{const L=new de;return function(X,ie){const Ce=r.domElement;if(Ce&&r.object instanceof Wt&&r.object.isPerspectiveCamera){const dt=r.object.position;L.copy(dt).sub(r.target);let kt=L.length();kt*=Math.tan(r.object.fov/2*Math.PI/180),U(2*X*kt/Ce.clientHeight,r.object.matrix),ee(2*ie*kt/Ce.clientHeight,r.object.matrix)}else Ce&&r.object instanceof kn&&r.object.isOrthographicCamera?(U(X*(r.object.right-r.object.left)/r.object.zoom/Ce.clientWidth,r.object.matrix),ee(ie*(r.object.top-r.object.bottom)/r.object.zoom/Ce.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function ue(L){r.object instanceof Wt&&r.object.isPerspectiveCamera||r.object instanceof kn&&r.object.isOrthographicCamera?p=L:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function I(L){ue(p/L)}function we(L){ue(p*L)}function Ve(L){if(!r.zoomToCursor||!r.domElement)return;x=!0;const X=r.domElement.getBoundingClientRect(),ie=L.clientX-X.left,Ce=L.clientY-X.top,dt=X.width,kt=X.height;b.x=ie/dt*2-1,b.y=-(Ce/kt)*2+1,M.set(b.x,b.y,1).unproject(r.object).sub(r.object.position).normalize()}function C(L){return Math.max(r.minDistance,Math.min(r.maxDistance,L))}function be(L){h.set(L.clientX,L.clientY)}function Se(L){Ve(L),E.set(L.clientX,L.clientY)}function Me(L){y.set(L.clientX,L.clientY)}function qe(L){w.set(L.clientX,L.clientY),v.subVectors(w,h).multiplyScalar(r.rotateSpeed);const X=r.domElement;X&&(F(2*Math.PI*v.x/X.clientHeight),D(2*Math.PI*v.y/X.clientHeight)),h.copy(w),r.update()}function K(L){O.set(L.clientX,L.clientY),m.subVectors(O,E),m.y>0?I(z()):m.y<0&&we(z()),E.copy(O),r.update()}function k(L){A.set(L.clientX,L.clientY),T.subVectors(A,y).multiplyScalar(r.panSpeed),ne(T.x,T.y),y.copy(A),r.update()}function S(L){Ve(L),L.deltaY<0?we(z()):L.deltaY>0&&I(z()),r.update()}function N(L){let X=!1;switch(L.code){case r.keys.UP:ne(0,r.keyPanSpeed),X=!0;break;case r.keys.BOTTOM:ne(0,-r.keyPanSpeed),X=!0;break;case r.keys.LEFT:ne(r.keyPanSpeed,0),X=!0;break;case r.keys.RIGHT:ne(-r.keyPanSpeed,0),X=!0;break}X&&(L.preventDefault(),r.update())}function H(){if(g.length==1)h.set(g[0].pageX,g[0].pageY);else{const L=.5*(g[0].pageX+g[1].pageX),X=.5*(g[0].pageY+g[1].pageY);h.set(L,X)}}function $(){if(g.length==1)y.set(g[0].pageX,g[0].pageY);else{const L=.5*(g[0].pageX+g[1].pageX),X=.5*(g[0].pageY+g[1].pageY);y.set(L,X)}}function Y(){const L=g[0].pageX-g[1].pageX,X=g[0].pageY-g[1].pageY,ie=Math.sqrt(L*L+X*X);E.set(0,ie)}function G(){r.enableZoom&&Y(),r.enablePan&&$()}function te(){r.enableZoom&&Y(),r.enableRotate&&H()}function ae(L){if(g.length==1)w.set(L.pageX,L.pageY);else{const ie=Rt(L),Ce=.5*(L.pageX+ie.x),dt=.5*(L.pageY+ie.y);w.set(Ce,dt)}v.subVectors(w,h).multiplyScalar(r.rotateSpeed);const X=r.domElement;X&&(F(2*Math.PI*v.x/X.clientHeight),D(2*Math.PI*v.y/X.clientHeight)),h.copy(w)}function J(L){if(g.length==1)A.set(L.pageX,L.pageY);else{const X=Rt(L),ie=.5*(L.pageX+X.x),Ce=.5*(L.pageY+X.y);A.set(ie,Ce)}T.subVectors(A,y).multiplyScalar(r.panSpeed),ne(T.x,T.y),y.copy(A)}function se(L){const X=Rt(L),ie=L.pageX-X.x,Ce=L.pageY-X.y,dt=Math.sqrt(ie*ie+Ce*Ce);O.set(0,dt),m.set(0,Math.pow(O.y/E.y,r.zoomSpeed)),I(m.y),E.copy(O)}function ge(L){r.enableZoom&&se(L),r.enablePan&&J(L)}function me(L){r.enableZoom&&se(L),r.enableRotate&&ae(L)}function Ie(L){var X,ie;r.enabled!==!1&&(g.length===0&&((X=r.domElement)==null||X.ownerDocument.addEventListener("pointermove",Qe),(ie=r.domElement)==null||ie.ownerDocument.addEventListener("pointerup",Je)),rt(L),L.pointerType==="touch"?ce(L):jt(L))}function Qe(L){r.enabled!==!1&&(L.pointerType==="touch"?Ae(L):j(L))}function Je(L){var X,ie,Ce;it(L),g.length===0&&((X=r.domElement)==null||X.releasePointerCapture(L.pointerId),(ie=r.domElement)==null||ie.ownerDocument.removeEventListener("pointermove",Qe),(Ce=r.domElement)==null||Ce.ownerDocument.removeEventListener("pointerup",Je)),r.dispatchEvent(a),l=s.NONE}function jt(L){let X;switch(L.button){case 0:X=r.mouseButtons.LEFT;break;case 1:X=r.mouseButtons.MIDDLE;break;case 2:X=r.mouseButtons.RIGHT;break;default:X=-1}switch(X){case hn.DOLLY:if(r.enableZoom===!1)return;Se(L),l=s.DOLLY;break;case hn.ROTATE:if(L.ctrlKey||L.metaKey||L.shiftKey){if(r.enablePan===!1)return;Me(L),l=s.PAN}else{if(r.enableRotate===!1)return;be(L),l=s.ROTATE}break;case hn.PAN:if(L.ctrlKey||L.metaKey||L.shiftKey){if(r.enableRotate===!1)return;be(L),l=s.ROTATE}else{if(r.enablePan===!1)return;Me(L),l=s.PAN}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function j(L){if(r.enabled!==!1)switch(l){case s.ROTATE:if(r.enableRotate===!1)return;qe(L);break;case s.DOLLY:if(r.enableZoom===!1)return;K(L);break;case s.PAN:if(r.enablePan===!1)return;k(L);break}}function Q(L){r.enabled===!1||r.enableZoom===!1||l!==s.NONE&&l!==s.ROTATE||(L.preventDefault(),r.dispatchEvent(o),S(L),r.dispatchEvent(a))}function re(L){r.enabled===!1||r.enablePan===!1||N(L)}function ce(L){switch(Vt(L),g.length){case 1:switch(r.touches.ONE){case Yt.ROTATE:if(r.enableRotate===!1)return;H(),l=s.TOUCH_ROTATE;break;case Yt.PAN:if(r.enablePan===!1)return;$(),l=s.TOUCH_PAN;break;default:l=s.NONE}break;case 2:switch(r.touches.TWO){case Yt.DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;G(),l=s.TOUCH_DOLLY_PAN;break;case Yt.DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;te(),l=s.TOUCH_DOLLY_ROTATE;break;default:l=s.NONE}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function Ae(L){switch(Vt(L),l){case s.TOUCH_ROTATE:if(r.enableRotate===!1)return;ae(L),r.update();break;case s.TOUCH_PAN:if(r.enablePan===!1)return;J(L),r.update();break;case s.TOUCH_DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;ge(L),r.update();break;case s.TOUCH_DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;me(L),r.update();break;default:l=s.NONE}}function He(L){r.enabled!==!1&&L.preventDefault()}function rt(L){g.push(L)}function it(L){delete _[L.pointerId];for(let X=0;X{we(L),r.update()},this.dollyOut=(L=z())=>{I(L),r.update()},this.getScale=()=>p,this.setScale=L=>{ue(L),r.update()},this.getZoomScale=()=>z(),n!==void 0&&this.connect(n),this.update()}}new Ft;new de;new _s;new de;var pf=Object.defineProperty,hf=(t,e,n)=>e in t?pf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,go=(t,e,n)=>(hf(t,typeof e!="symbol"?e+"":e,n),n);class pl{constructor(e){go(this,"data"),this.data=e}generateShapes(e,n=100,r){const i=[],o={letterSpacing:0,lineHeight:1,...r},a=mf(e,n,this.data,o);for(let s=0,l=a.length;s + #include + #include + uniform float thickness; + uniform bool screenspace; + uniform vec2 size; + void main() { + #if defined (USE_SKINNING) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + vec4 tNormal = vec4(normal, 0.0); + vec4 tPosition = vec4(transformed, 1.0); + #ifdef USE_INSTANCING + tNormal = instanceMatrix * tNormal; + tPosition = instanceMatrix * tPosition; + #endif + if (screenspace) { + vec3 newPosition = tPosition.xyz + tNormal.xyz * thickness; + gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0); + } else { + vec4 clipPosition = projectionMatrix * modelViewMatrix * tPosition; + vec4 clipNormal = projectionMatrix * modelViewMatrix * tNormal; + vec2 offset = normalize(clipNormal.xy) * thickness / size * clipPosition.w * 2.0; + clipPosition.xy += offset; + gl_Position = clipPosition; + } + }`,`uniform vec3 color; + uniform float opacity; + void main(){ + gl_FragColor = vec4(color, opacity); + #include + #include + }`);const vf=["args","material-uniforms-color-value"];$i.ReflectorShader;new de;new de;new de;var ti;/Mac/.test((ti=globalThis==null?void 0:globalThis.navigator)===null||ti===void 0?void 0:ti.platform);const yf=["target","auto-rotate","auto-rotate-speed","enable-damping","damping-factor","enable-pan","key-pan-speed","keys","max-azimuth-angle","min-azimuth-angle","max-polar-angle","min-polar-angle","min-distance","max-distance","min-zoom","max-zoom","touches","enable-zoom","zoom-speed","enable-rotate","rotate-speed","args"],bf=xe({__name:"OrbitControls",props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},target:{default:()=>[0,0,0]},enableDamping:{type:Boolean,default:!0},dampingFactor:{default:.05},autoRotate:{type:Boolean,default:!1},autoRotateSpeed:{default:2},enablePan:{type:Boolean,default:!0},keyPanSpeed:{default:7},keys:{},maxAzimuthAngle:{default:Number.POSITIVE_INFINITY},minAzimuthAngle:{default:Number.NEGATIVE_INFINITY},maxPolarAngle:{default:Math.PI},minPolarAngle:{default:0},minDistance:{default:0},maxDistance:{default:Number.POSITIVE_INFINITY},minZoom:{default:0},maxZoom:{default:Number.POSITIVE_INFINITY},touches:{default:()=>({ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN})},enableZoom:{type:Boolean,default:!0},zoomSpeed:{default:1},enableRotate:{type:Boolean,default:!0},rotateSpeed:{default:1}},emits:["change","start","end"],setup(t,{expose:e,emit:n}){const r=t,i=n,{makeDefault:o,autoRotate:a,autoRotateSpeed:s,enableDamping:l,dampingFactor:u,enablePan:c,keyPanSpeed:d,maxAzimuthAngle:p,minAzimuthAngle:f,maxPolarAngle:h,minPolarAngle:w,minDistance:v,maxDistance:y,minZoom:A,maxZoom:T,enableZoom:E,zoomSpeed:O,enableRotate:m,touches:M,rotateSpeed:b,target:x}=In(r),{camera:g,renderer:_,extend:R,controls:z,invalidate:F}=Or(),D=ws(null);R({OrbitControls:ff}),Te(D,ne=>{U(),ne&&o.value?z.value=ne:z.value=null});function U(){Xr(D.value,"change",()=>{i("change",D.value),F()}),Xr(D.value,"start",()=>i("start",D.value)),Xr(D.value,"end",()=>i("end",D.value))}const{onBeforeRender:ee}=kr();return ee(({invalidate:ne})=>{D.value&&(l.value||a.value)&&(D.value.update(),a.value&&ne())}),vt(()=>{D.value&&D.value.dispose()}),e({instance:D}),(ne,ue)=>(ne.camera||B(g))&&(ne.domElement||B(_))?(W(),Z("TresOrbitControls",{key:0,ref_key:"controlsRef",ref:D,target:B(x),"auto-rotate":B(a),"auto-rotate-speed":B(s),"enable-damping":B(l),"damping-factor":B(u),"enable-pan":B(c),"key-pan-speed":B(d),keys:ne.keys,"max-azimuth-angle":B(p),"min-azimuth-angle":B(f),"max-polar-angle":B(h),"min-polar-angle":B(w),"min-distance":B(v),"max-distance":B(y),"min-zoom":B(A),"max-zoom":B(T),touches:B(M),"enable-zoom":B(E),"zoom-speed":B(O),"enable-rotate":B(m),"rotate-speed":B(b),args:[ne.camera||B(g),ne.domElement||B(_).domElement]},null,8,yf)):Ke("",!0)}});function rr(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var aa={exports:{}},sa;function xf(){return sa||(sa=1,function(t,e){(function(n){t.exports=n()})(function(){return function n(r,i,o){function a(u,c){if(!i[u]){if(!r[u]){var d=typeof rr=="function"&&rr;if(!c&&d)return d(u,!0);if(s)return s(u,!0);throw new Error("Cannot find module '"+u+"'")}c=i[u]={exports:{}},r[u][0].call(c.exports,function(p){var f=r[u][1][p];return a(f||p)},c,c.exports,n,r,i,o)}return i[u].exports}for(var s=typeof rr=="function"&&rr,l=0;l>16),D((65280&g)>>8),D(255&g);return _==2?D(255&(g=M(b.charAt(x))<<2|M(b.charAt(x+1))>>4)):_==1&&(D((g=M(b.charAt(x))<<10|M(b.charAt(x+1))<<4|M(b.charAt(x+2))>>2)>>8&255),D(255&g)),R},h.fromByteArray=function(b){var x,g,_,R,z=b.length%3,F="";function D(U){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(U)}for(x=0,_=b.length-z;x<_;x+=3)g=(b[x]<<16)+(b[x+1]<<8)+b[x+2],F+=D((R=g)>>18&63)+D(R>>12&63)+D(R>>6&63)+D(63&R);switch(z){case 1:F=(F+=D((g=b[b.length-1])>>2))+D(g<<4&63)+"==";break;case 2:F=(F=(F+=D((g=(b[b.length-2]<<8)+b[b.length-1])>>10))+D(g>>4&63))+D(g<<2&63)+"="}return F}})(i===void 0?this.base64js={}:i)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(n,r,i){(function(o,a,v,l,u,c,d,p,f){var h=n("base64-js"),w=n("ieee754");function v(k,S,N){if(!(this instanceof v))return new v(k,S,N);var H,$,Y,G,te=typeof k;if(S==="base64"&&te=="string")for(k=(G=k).trim?G.trim():G.replace(/^\s+|\s+$/g,"");k.length%4!=0;)k+="=";if(te=="number")H=ne(k);else if(te=="string")H=v.byteLength(k,S);else{if(te!="object")throw new Error("First argument needs to be a number, array or string.");H=ne(k.length)}if(v._useTypedArrays?$=v._augment(new Uint8Array(H)):(($=this).length=H,$._isBuffer=!0),v._useTypedArrays&&typeof k.byteLength=="number")$._set(k);else if(ue(G=k)||v.isBuffer(G)||G&&typeof G=="object"&&typeof G.length=="number")for(Y=0;Y>8,G=G%256,te.push(G),te.push(Y);return te}(S),k,N,H)}function T(k,S,N){var H="";N=Math.min(k.length,N);for(var $=S;$>>0)):(S+1>>0),$}function m(k,S,N,H){if(H||(K(typeof N=="boolean","missing or invalid endian"),K(S!=null,"missing offset"),K(S+1>>8*(H?Y:1-Y)}function _(k,S,N,H,$){if($||(K(S!=null,"missing value"),K(typeof H=="boolean","missing or invalid endian"),K(N!=null,"missing offset"),K(N+3>>8*(H?Y:3-Y)&255}function R(k,S,N,H,$){$||(K(S!=null,"missing value"),K(typeof H=="boolean","missing or invalid endian"),K(N!=null,"missing offset"),K(N+1this.length&&(H=this.length);var $=(H=k.length-S=this.length))return this[k]},v.prototype.readUInt16LE=function(k,S){return E(this,k,!0,S)},v.prototype.readUInt16BE=function(k,S){return E(this,k,!1,S)},v.prototype.readUInt32LE=function(k,S){return O(this,k,!0,S)},v.prototype.readUInt32BE=function(k,S){return O(this,k,!1,S)},v.prototype.readInt8=function(k,S){if(S||(K(k!=null,"missing offset"),K(k=this.length))return 128&this[k]?-1*(255-this[k]+1):this[k]},v.prototype.readInt16LE=function(k,S){return m(this,k,!0,S)},v.prototype.readInt16BE=function(k,S){return m(this,k,!1,S)},v.prototype.readInt32LE=function(k,S){return M(this,k,!0,S)},v.prototype.readInt32BE=function(k,S){return M(this,k,!1,S)},v.prototype.readFloatLE=function(k,S){return b(this,k,!0,S)},v.prototype.readFloatBE=function(k,S){return b(this,k,!1,S)},v.prototype.readDoubleLE=function(k,S){return x(this,k,!0,S)},v.prototype.readDoubleBE=function(k,S){return x(this,k,!1,S)},v.prototype.writeUInt8=function(k,S,N){N||(K(k!=null,"missing value"),K(S!=null,"missing offset"),K(S=this.length||(this[S]=k)},v.prototype.writeUInt16LE=function(k,S,N){g(this,k,S,!0,N)},v.prototype.writeUInt16BE=function(k,S,N){g(this,k,S,!1,N)},v.prototype.writeUInt32LE=function(k,S,N){_(this,k,S,!0,N)},v.prototype.writeUInt32BE=function(k,S,N){_(this,k,S,!1,N)},v.prototype.writeInt8=function(k,S,N){N||(K(k!=null,"missing value"),K(S!=null,"missing offset"),K(S=this.length||(0<=k?this.writeUInt8(k,S,N):this.writeUInt8(255+k+1,S,N))},v.prototype.writeInt16LE=function(k,S,N){R(this,k,S,!0,N)},v.prototype.writeInt16BE=function(k,S,N){R(this,k,S,!1,N)},v.prototype.writeInt32LE=function(k,S,N){z(this,k,S,!0,N)},v.prototype.writeInt32BE=function(k,S,N){z(this,k,S,!1,N)},v.prototype.writeFloatLE=function(k,S,N){F(this,k,S,!0,N)},v.prototype.writeFloatBE=function(k,S,N){F(this,k,S,!1,N)},v.prototype.writeDoubleLE=function(k,S,N){D(this,k,S,!0,N)},v.prototype.writeDoubleBE=function(k,S,N){D(this,k,S,!1,N)},v.prototype.fill=function(k,S,N){if(S=S||0,N=N||this.length,K(typeof(k=typeof(k=k||0)=="string"?k.charCodeAt(0):k)=="number"&&!isNaN(k),"value is not a number"),K(S<=N,"end < start"),N!==S&&this.length!==0){K(0<=S&&S"},v.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(v._useTypedArrays)return new v(this).buffer;for(var k=new Uint8Array(this.length),S=0,N=k.length;S=S.length||$>=k.length);$++)S[$+N]=k[$];return $}function be(k){try{return decodeURIComponent(k)}catch{return"�"}}function Se(k,S){K(typeof k=="number","cannot write a non-number as a number"),K(0<=k,"specified a negative value for writing an unsigned value"),K(k<=S,"value is larger than maximum value for type"),K(Math.floor(k)===k,"value has a fractional component")}function Me(k,S,N){K(typeof k=="number","cannot write a non-number as a number"),K(k<=S,"value larger than maximum allowed value"),K(N<=k,"value smaller than minimum allowed value"),K(Math.floor(k)===k,"value has a fractional component")}function qe(k,S,N){K(typeof k=="number","cannot write a non-number as a number"),K(k<=S,"value larger than maximum allowed value"),K(N<=k,"value smaller than minimum allowed value")}function K(k,S){if(!k)throw new Error(S||"Failed assertion")}v._augment=function(k){return k._isBuffer=!0,k._get=k.get,k._set=k.set,k.get=U.get,k.set=U.set,k.write=U.write,k.toString=U.toString,k.toLocaleString=U.toString,k.toJSON=U.toJSON,k.copy=U.copy,k.slice=U.slice,k.readUInt8=U.readUInt8,k.readUInt16LE=U.readUInt16LE,k.readUInt16BE=U.readUInt16BE,k.readUInt32LE=U.readUInt32LE,k.readUInt32BE=U.readUInt32BE,k.readInt8=U.readInt8,k.readInt16LE=U.readInt16LE,k.readInt16BE=U.readInt16BE,k.readInt32LE=U.readInt32LE,k.readInt32BE=U.readInt32BE,k.readFloatLE=U.readFloatLE,k.readFloatBE=U.readFloatBE,k.readDoubleLE=U.readDoubleLE,k.readDoubleBE=U.readDoubleBE,k.writeUInt8=U.writeUInt8,k.writeUInt16LE=U.writeUInt16LE,k.writeUInt16BE=U.writeUInt16BE,k.writeUInt32LE=U.writeUInt32LE,k.writeUInt32BE=U.writeUInt32BE,k.writeInt8=U.writeInt8,k.writeInt16LE=U.writeInt16LE,k.writeInt16BE=U.writeInt16BE,k.writeInt32LE=U.writeInt32LE,k.writeInt32BE=U.writeInt32BE,k.writeFloatLE=U.writeFloatLE,k.writeFloatBE=U.writeFloatBE,k.writeDoubleLE=U.writeDoubleLE,k.writeDoubleBE=U.writeDoubleBE,k.fill=U.fill,k.inspect=U.inspect,k.toArrayBuffer=U.toArrayBuffer,k}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(n,r,i){(function(o,a,h,l,u,c,d,p,f){var h=n("buffer").Buffer,w=4,v=new h(w);v.fill(0),r.exports={hash:function(y,A,T,E){for(var O=A(function(g,_){g.length%w!=0&&(R=g.length+(w-g.length%w),g=h.concat([g,v],R));for(var R,z=[],F=_?g.readInt32BE:g.readInt32LE,D=0;DT?ee=U(ee):ee.length>5]|=128<>>9<<4)]=M;for(var b=1732584193,x=-271733879,g=-1732584194,_=271733878,R=0;R>>32-g,b)}function y(m,M,b,x,g,_,R){return v(M&b|~M&x,m,M,g,_,R)}function A(m,M,b,x,g,_,R){return v(M&x|b&~x,m,M,g,_,R)}function T(m,M,b,x,g,_,R){return v(M^b^x,m,M,g,_,R)}function E(m,M,b,x,g,_,R){return v(b^(M|~x),m,M,g,_,R)}function O(m,M){var b=(65535&m)+(65535&M);return(m>>16)+(M>>16)+(b>>16)<<16|65535&b}r.exports=function(m){return h.hash(m,w,16)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){r.exports=function(h){for(var w,v=new Array(h),y=0;y>>((3&y)<<3)&255;return v}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){var h=n("./helpers");function w(A,T){A[T>>5]|=128<<24-T%32,A[15+(T+64>>9<<4)]=T;for(var E,O,m,M=Array(80),b=1732584193,x=-271733879,g=-1732584194,_=271733878,R=-1009589776,z=0;z>16)+(T>>16)+(E>>16)<<16|65535&E}function y(A,T){return A<>>32-T}r.exports=function(A){return h.hash(A,w,20,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){function h(T,E){var O=(65535&T)+(65535&E);return(T>>16)+(E>>16)+(O>>16)<<16|65535&O}function w(T,E){var O,m=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),M=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),b=new Array(64);T[E>>5]|=128<<24-E%32,T[15+(E+64>>9<<4)]=E;for(var x,g,_=0;_>>E|T<<32-E},A=function(T,E){return T>>>E};r.exports=function(T){return v.hash(T,w,32,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){i.read=function(h,w,v,y,_){var T,E,O=8*_-y-1,m=(1<>1,b=-7,x=v?_-1:0,g=v?-1:1,_=h[w+x];for(x+=g,T=_&(1<<-b)-1,_>>=-b,b+=O;0>=-b,b+=y;0>1,x=A===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=y?0:R-1,_=y?1:-1,R=w<0||w===0&&1/w<0?1:0;for(w=Math.abs(w),isNaN(w)||w===1/0?(O=isNaN(w)?1:0,E=M):(E=Math.floor(Math.log(w)/Math.LN2),w*(y=Math.pow(2,-E))<1&&(E--,y*=2),2<=(w+=1<=E+b?x/y:x*Math.pow(2,1-b))*y&&(E++,y/=2),M<=E+b?(O=0,E=M):1<=E+b?(O=(w*y-1)*Math.pow(2,A),E+=b):(O=w*Math.pow(2,b-1)*Math.pow(2,A),E=0));8<=A;h[v+g]=255&O,g+=_,O/=256,A-=8);for(E=E<>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]),ca}var fa,pa;function ml(){return pa||(pa=1,fa=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]),fa}var ni,ha;function kf(){if(ha)return ni;ha=1;var t=hl();return ni=t.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"]),ni}var ri,ma;function Tf(){if(ma)return ri;ma=1;var t=ml();return t=t.slice().filter(function(e){return!/^(gl\_|texture)/.test(e)}),ri=t.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"]),ri}var ii,ga;function Af(){if(ga)return ii;ga=1,ii=E;var t=hl(),e=wf(),n=ml(),r=kf(),i=Tf(),o=999,a=9999,s=0,l=1,u=2,c=3,d=4,p=5,f=6,h=7,w=8,v=9,y=10,A=11,T=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function E(O){var m=0,M=0,b=o,x,g,_=[],R=[],z=1,F=0,D=0,U=!1,ee=!1,ne="",ue;O=O||{};var I=n,we=t;O.version==="300 es"&&(I=i,we=r);for(var Ve={},C={},m=0;m0)continue;me=J.slice(0,1).join("")}return be(me),D+=me.length,_=_.slice(me.length),_.length}while(!0)}function Y(){return/[^a-fA-F0-9]/.test(x)?(be(_.join("")),b=o,m):(_.push(x),g=x,m+1)}function G(){return x==="."||/[eE]/.test(x)?(_.push(x),b=p,g=x,m+1):x==="x"&&_.length===1&&_[0]==="0"?(b=A,_.push(x),g=x,m+1):/[^\d]/.test(x)?(be(_.join("")),b=o,m):(_.push(x),g=x,m+1)}function te(){return x==="f"&&(_.push(x),g=x,m+=1),/[eE]/.test(x)||(x==="-"||x==="+")&&/[eE]/.test(g)?(_.push(x),g=x,m+1):/[^\d]/.test(x)?(be(_.join("")),b=o,m):(_.push(x),g=x,m+1)}function ae(){if(/[^\d\w_]/.test(x)){var J=_.join("");return C[J]?b=w:Ve[J]?b=h:b=f,be(_.join("")),b=o,m}return _.push(x),g=x,m+1}}return ii}var oi,va;function _f(){if(va)return oi;va=1;var t=Af();oi=e;function e(n,r){var i=t(r),o=[];return o=o.concat(i(n)),o=o.concat(i(null)),o}return oi}_f();function Ef(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Mf(t){var e=Ef(t,"string");return typeof e=="symbol"?e:String(e)}function De(t,e,n){return e=Mf(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var pe={position:"csm_Position",positionRaw:"csm_PositionRaw",pointSize:"csm_PointSize",fragColor:"csm_FragColor",diffuseColor:"csm_DiffuseColor",normal:"csm_Normal",roughness:"csm_Roughness",metalness:"csm_Metalness",emissive:"csm_Emissive",ao:"csm_AO",bump:"csm_Bump",depthAlpha:"csm_DepthAlpha"},ot,gn;ot={},De(ot,"".concat(pe.normal),{"#include ":` + vec3 objectNormal = `.concat(pe.normal,`; + #ifdef USE_TANGENT + vec3 objectTangent = vec3( tangent.xyz ); + #endif + `)}),De(ot,"".concat(pe.position),{"#include ":` + vec3 transformed = `.concat(pe.position,`; + `)}),De(ot,"".concat(pe.positionRaw),{"#include ":` + vec4 csm_internal_positionUnprojected = `.concat(pe.positionRaw,`; + mat4x4 csm_internal_unprojectMatrix = projectionMatrix * modelViewMatrix; + #ifdef USE_INSTANCING + csm_internal_unprojectMatrix = csm_internal_unprojectMatrix * instanceMatrix; + #endif + csm_internal_positionUnprojected = inverse(csm_internal_unprojectMatrix) * csm_internal_positionUnprojected; + vec3 transformed = csm_internal_positionUnprojected.xyz; + `)}),De(ot,"".concat(pe.pointSize),{"gl_PointSize = size;":` + gl_PointSize = `.concat(pe.pointSize,`; + `)}),De(ot,"".concat(pe.diffuseColor),{"#include ":` + #include + diffuseColor = `.concat(pe.diffuseColor,`; + `)}),De(ot,"".concat(pe.fragColor),{"#include ":` + #include + gl_FragColor = `.concat(pe.fragColor,`; + `)}),De(ot,"".concat(pe.emissive),{"vec3 totalEmissiveRadiance = emissive;":` + vec3 totalEmissiveRadiance = `.concat(pe.emissive,`; + `)}),De(ot,"".concat(pe.roughness),{"#include ":` + #include + roughnessFactor = `.concat(pe.roughness,`; + `)}),De(ot,"".concat(pe.metalness),{"#include ":` + #include + metalnessFactor = `.concat(pe.metalness,`; + `)}),De(ot,"".concat(pe.ao),{"#include ":` + #include + reflectedLight.indirectDiffuse *= 1. - `.concat(pe.ao,`; + `)}),De(ot,"".concat(pe.bump),{"#include ":` + #include + + vec3 csm_internal_orthogonal = `.concat(pe.bump," - (dot(").concat(pe.bump,`, normal) * normal); + vec3 csm_internal_projectedbump = mat3(csm_internal_vModelViewMatrix) * csm_internal_orthogonal; + normal = normalize(normal - csm_internal_projectedbump); + `)}),De(ot,"".concat(pe.depthAlpha),{"gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );":` + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity * `.concat(pe.depthAlpha,` ); + `),"gl_FragColor = packDepthToRGBA( fragCoordZ );":` + gl_FragColor = packDepthToRGBA( fragCoordZ ); + gl_FragColor.a *= `.concat(pe.depthAlpha,`; + `)});gn={},De(gn,"".concat(pe.position),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = projectionMatrix * modelViewMatrix * vec4( `.concat(pe.position,`, 1.0 ); + `)}),De(gn,"".concat(pe.positionRaw),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = `.concat(pe.position,`; + `)}),De(gn,"".concat(pe.diffuseColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.diffuseColor,`; + `)}),De(gn,"".concat(pe.fragColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.fragColor,`; + `)});var at;at={},De(at,"".concat(pe.position),"*"),De(at,"".concat(pe.positionRaw),"*"),De(at,"".concat(pe.normal),"*"),De(at,"".concat(pe.pointSize),["PointsMaterial"]),De(at,"".concat(pe.diffuseColor),"*"),De(at,"".concat(pe.fragColor),"*"),De(at,"".concat(pe.emissive),["MeshStandardMaterial","MeshPhysicalMaterial"]),De(at,"".concat(pe.roughness),["MeshStandardMaterial","MeshPhysicalMaterial"]),De(at,"".concat(pe.metalness),["MeshStandardMaterial","MeshPhysicalMaterial"]),De(at,"".concat(pe.ao),["MeshStandardMaterial","MeshPhysicalMaterial","MeshBasicMaterial","MeshLambertMaterial","MeshPhongMaterial","MeshToonMaterial"]),De(at,"".concat(pe.bump),["MeshLambertMaterial","MeshMatcapMaterial","MeshNormalMaterial","MeshPhongMaterial","MeshPhysicalMaterial","MeshStandardMaterial","MeshToonMaterial","ShadowMaterial"]),De(at,"".concat(pe.depthAlpha),"*");var If=`void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); +}`,Sf=`#include + +void main() { + vec2 center = vec2(0., 1.); + float rotation = 0.0; + + + + float size = 0.03; + + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + + gl_Position = projectionMatrix * mvPosition; +}`;const Yn=new de(0,0,0),vo=new de(0,0,0),Rf=new de(0,0,0);function ya(t,e,n){const r=Yn.setFromMatrixPosition(t.matrixWorld);r.project(e);const i=n.width/2,o=n.height/2;return[(Number.isNaN(r.x)?0:r.x)*i+i,-(r.y*o)+o]}function Cf(t,e){const n=Yn.setFromMatrixPosition(t.matrixWorld),r=vo.setFromMatrixPosition(e.matrixWorld),i=n.sub(r),o=e.getWorldDirection(Rf);return i.angleTo(o)>Math.PI/2}function Of(t,e,n,r){const i=Yn.setFromMatrixPosition(t.matrixWorld),o=i.clone();o.project(e),n.setFromCamera(new Xe(o.x,o.y),e);const a=n.intersectObjects(r,!0);if(a.length>0){const s=a[0].distance;return i.distanceTo(n.ray.origin)Math.abs(t)<1e-10?0:t;function gl(t,e,n=""){let r="matrix3d(";for(let i=0;i!==16;i++)r+=Vi(e[i]*t.elements[i])+(i!==15?",":")");return n+r}const Lf=(t=>e=>gl(e,t))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),Df=(t=>(e,n)=>gl(e,t(n),"translate(-50%,-50%)"))(t=>[1/t,1/t,1/t,1,-1/t,-1/t,-1/t,-1,1/t,1/t,1/t,1,1,1,1,1]),Bf=["geometry","material"];new Ms;var Hi={exports:{}},zf=Hi.exports,ba;function Ff(){return ba||(ba=1,function(t,e){(function(n,r){t.exports=r()})(zf,function(){var n=function(){function r(f){return a.appendChild(f.dom),f}function i(f){for(var h=0;hl+1e3&&(c.update(1e3*u/(f-l),100),l=f,u=0,p)){var h=performance.memory;p.update(h.usedJSHeapSize/1048576,h.jsHeapSizeLimit/1048576)}return f},update:function(){s=this.end()},domElement:a,setMode:i}};return n.Panel=function(r,i,o){var a=1/0,s=0,l=Math.round,u=l(window.devicePixelRatio||1),c=80*u,d=48*u,p=3*u,f=2*u,h=3*u,w=15*u,v=74*u,y=30*u,A=document.createElement("canvas");A.width=c,A.height=d,A.style.cssText="width:80px;height:48px";var T=A.getContext("2d");return T.font="bold "+9*u+"px Helvetica,Arial,sans-serif",T.textBaseline="top",T.fillStyle=o,T.fillRect(0,0,c,d),T.fillStyle=i,T.fillText(r,p,f),T.fillRect(h,w,v,y),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h,w,v,y),{dom:A,update:function(E,O){a=Math.min(a,E),s=Math.max(s,E),T.fillStyle=o,T.globalAlpha=1,T.fillRect(0,0,c,w),T.fillStyle=i,T.fillText(l(E)+" "+r+" ("+l(a)+"-"+l(s)+")",p,f),T.drawImage(A,h+u,w,v-u,y,h,w,v-u,y),T.fillRect(h+v-u,w,u,y),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h+v-u,w,u,l((1-E/O)*y))}}},n})}(Hi)),Hi.exports}Ff();const Uf={key:0,args:[0,1,64]},$f={key:1,args:[.5,1,64]},jf={key:2},Vf=["tone-mapped","map","side","color"];new tt(16777215);const vn=xe({__name:"Range",props:{modelValue:null,min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","mousedown"],setup(t,{emit:e}){const n=t,r=e,i=V(null);function o(h,w,v){return Math.min(Math.max(h,w),v)}function a(h){const w=h.toString();return w.includes("e-")?Number.parseInt(w.split("e-")[1],10):w.includes(".")?w.split(".")[1].length:0}function s(h,w){const v=a(w),y=10**(v+3);return Number.parseFloat((h*y/y).toFixed(v))}const l=Ee(()=>s(o(n.modelValue,n.min,n.max),n.step)),u=Ee(()=>{const h=(l.value-n.min)/(n.max-n.min)*100;return{width:`${h}%`,backgroundSize:`${h}% 100%`}});function c(h){if(!i.value)return l.value;const w=i.value.getBoundingClientRect(),y=(h.clientX-w.left)/w.width,A=n.max-n.min,T=n.min+A*y,E=Math.round(T/n.step)*n.step;return Math.min(Math.max(E,n.min),n.max)}function d(h){if(n.disabled)return;const w=c(h);r("update:modelValue",w)}function p(h){if(n.disabled)return;h.preventDefault();const w=c(h);r("update:modelValue",w),window.addEventListener("mousemove",d),window.addEventListener("mouseup",f)}function f(h){window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",f)}return vt(()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",f)}),(h,w)=>(W(),Z("span",{ref_key:"sliderRef",ref:i,class:Bt(["range-slider disabled:pointer-events-none disabled:cursor-default disabled:opacity-50",{disabled:t.disabled}]),bg:"[#e6e1fc] dark:[#676085]","touch-action-none":"",relative:"","inline-block":"","w-full":"","cursor-ew-resize":"","rounded-sm":"",onMousedown:p},[P("span",{style:Mr(u.value),bg:"[#cabeff] dark:[#4e34b9]",relative:"",block:"","rounded-sm":"",h:"[14px]"},null,4),P("span",{role:"slider",class:"slider-thumb",style:Mr({left:`${(l.value-t.min)/(t.max-t.min)*100}%`}),absolute:"","rounded-sm":"",w:"[1px]",h:"[14px]",bg:"zinc-100 dark:zinc-400",top:"50%",transform:"translate-x-[50%] translate-y-[-50%]"},null,4)],34))}});function xa(t,e){if(e===Yu)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),t;if(e===Li||e===Bs){let n=t.getIndex();if(n===null){const a=[],s=t.getAttribute("position");if(s!==void 0){for(let l=0;l=2.0 are supported."));return}const u=new Tp(o,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c=0&&s[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(a),u.setPlugins(s),u.parse(r,i)}parseAsync(e,n){const r=this;return new Promise(function(i,o){r.parse(e,n,i,o)})}}function Gf(){let t={};return{get:function(e){return t[e]},add:function(e,n){t[e]=n},remove:function(e){delete t[e]},removeAll:function(){t={}}}}const ke={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Kf{constructor(e){this.parser=e,this.name=ke.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let r=0,i=n.length;r=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,o.source,a)}}class ap{constructor(e){this.parser=e,this.name=ke.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,o=i.textures[e];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(e,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class sp{constructor(e){this.parser=e,this.name=ke.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,o=i.textures[e];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(e,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class lp{constructor(e){this.name=ke.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,r=n.bufferViews[e];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],o=this.parser.getDependency("buffer",i.buffer),a=this.parser.options.meshoptDecoder;if(!a||!a.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return o.then(function(s){const l=i.byteOffset||0,u=i.byteLength||0,c=i.count,d=i.byteStride,p=new Uint8Array(s,l,u);return a.decodeGltfBufferAsync?a.decodeGltfBufferAsync(c,d,p,i.mode,i.filter).then(function(f){return f.buffer}):a.ready.then(function(){const f=new ArrayBuffer(c*d);return a.decodeGltfBuffer(new Uint8Array(f),c,d,p,i.mode,i.filter),f})})}else return null}}class up{constructor(e){this.name=ke.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,r=n.nodes[e];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=n.meshes[r.mesh];for(const u of i.primitives)if(u.mode!==yt.TRIANGLES&&u.mode!==yt.TRIANGLE_STRIP&&u.mode!==yt.TRIANGLE_FAN&&u.mode!==void 0)return null;const a=r.extensions[this.name].attributes,s=[],l={};for(const u in a)s.push(this.parser.getDependency("accessor",a[u]).then(c=>(l[u]=c,l[u])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(u=>{const c=u.pop(),d=c.isGroup?c.children:[c],p=u[0].count,f=[];for(const h of d){const w=new Ft,v=new de,y=new Tr,A=new de(1,1,1),T=new Ju(h.geometry,h.material,p);for(let E=0;E0||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":t.search(/\.ktx2($|\?)/i)>0||t.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"}const kp=new Ft;class Tp{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new Gf,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=-1,o=!1,a=-1;if(typeof navigator<"u"){const s=navigator.userAgent;r=/^((?!chrome|android).)*safari/i.test(s)===!0;const l=s.match(/Version\/(\d+)/);i=r&&l?parseInt(l[1],10):-1,o=s.indexOf("Firefox")>-1,a=o?s.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||r&&i<17||o&&a<98?this.textureLoader=new tc(this.options.manager):this.textureLoader=new nc(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new zs(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,n){const r=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(a){return a._markDefs&&a._markDefs()}),Promise.all(this._invokeAll(function(a){return a.beforeRoot&&a.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(a){const s={scene:a[0][i.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:i.asset,parser:r,userData:{}};return en(o,s,i),Dt(s,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(s)})).then(function(){for(const l of s.scenes)l.updateMatrixWorld();e(s)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],r=this.json.meshes||[];for(let i=0,o=n.length;i{const l=this.associations.get(a);l!=null&&this.associations.set(s,l);for(const[u,c]of a.children.entries())o(c,s.children[u])};return o(r,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let r=0;r=2&&v.setY(x,m[M*l+1]),l>=3&&v.setZ(x,m[M*l+2]),l>=4&&v.setW(x,m[M*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}v.normalized=h}return v})}loadTexture(e){const n=this.json,r=this.options,o=n.textures[e].source,a=n.images[o];let s=this.textureLoader;if(a.uri){const l=r.manager.getHandler(a.uri);l!==null&&(s=l)}return this.loadTextureImage(e,o,s)}loadTextureImage(e,n,r){const i=this,o=this.json,a=o.textures[e],s=o.images[n],l=(s.uri||s.bufferView)+":"+a.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(n,r).then(function(c){c.flipY=!1,c.name=a.name||s.name||"",c.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(c.name=s.uri);const p=(o.samplers||{})[a.sampler]||{};return c.magFilter=ka[p.magFilter]||_r,c.minFilter=ka[p.minFilter]||po,c.wrapS=Ta[p.wrapS]||Er,c.wrapT=Ta[p.wrapT]||Er,c.generateMipmaps=!c.isCompressedTexture&&c.minFilter!==on&&c.minFilter!==_r,i.associations.set(c,{textures:e}),c}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,n){const r=this,i=this.json,o=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const a=i.images[e],s=self.URL||self.webkitURL;let l=a.uri||"",u=!1;if(a.bufferView!==void 0)l=r.getDependency("bufferView",a.bufferView).then(function(d){u=!0;const p=new Blob([d],{type:a.mimeType});return l=s.createObjectURL(p),l});else if(a.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const c=Promise.resolve(l).then(function(d){return new Promise(function(p,f){let h=p;n.isImageBitmapLoader===!0&&(h=function(w){const v=new Ar(w);v.needsUpdate=!0,p(v)}),n.load(Fn.resolveURL(d,o.path),h,void 0,f)})}).then(function(d){return u===!0&&s.revokeObjectURL(l),Dt(d,a),d.userData.mimeType=a.mimeType||wp(a.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=c,c}assignTexture(e,n,r,i){const o=this;return this.getDependency("texture",r.index).then(function(a){if(!a)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(a=a.clone(),a.channel=r.texCoord),o.extensions[ke.KHR_TEXTURE_TRANSFORM]){const s=r.extensions!==void 0?r.extensions[ke.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const l=o.associations.get(a);a=o.extensions[ke.KHR_TEXTURE_TRANSFORM].extendTexture(a,s),o.associations.set(a,l)}}return i!==void 0&&(a.colorSpace=i),e[n]=a,a})}assignFinalMaterial(e){const n=e.geometry;let r=e.material;const i=n.attributes.tangent===void 0,o=n.attributes.color!==void 0,a=n.attributes.normal===void 0;if(e.isPoints){const s="PointsMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new rc,Kr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(s,l)),r=l}else if(e.isLine){const s="LineBasicMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new ic,Kr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(s,l)),r=l}if(i||o||a){let s="ClonedMaterial:"+r.uuid+":";i&&(s+="derivative-tangents:"),o&&(s+="vertex-colors:"),a&&(s+="flat-shading:");let l=this.cache.get(s);l||(l=r.clone(),o&&(l.vertexColors=!0),a&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(s,l),this.associations.set(l,this.associations.get(r))),r=l}e.material=r}getMaterialType(){return Fs}loadMaterial(e){const n=this,r=this.json,i=this.extensions,o=r.materials[e];let a;const s={},l=o.extensions||{},u=[];if(l[ke.KHR_MATERIALS_UNLIT]){const d=i[ke.KHR_MATERIALS_UNLIT];a=d.getMaterialType(),u.push(d.extendParams(s,o,n))}else{const d=o.pbrMetallicRoughness||{};if(s.color=new tt(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;s.color.setRGB(p[0],p[1],p[2],Ut),s.opacity=p[3]}d.baseColorTexture!==void 0&&u.push(n.assignTexture(s,"map",d.baseColorTexture,Vn)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(n.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),u.push(n.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),a=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,s)})))}o.doubleSided===!0&&(s.side=Nr);const c=o.alphaMode||si.OPAQUE;if(c===si.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,c===si.MASK&&(s.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&a!==xn&&(u.push(n.assignTexture(s,"normalMap",o.normalTexture)),s.normalScale=new Xe(1,1),o.normalTexture.scale!==void 0)){const d=o.normalTexture.scale;s.normalScale.set(d,d)}if(o.occlusionTexture!==void 0&&a!==xn&&(u.push(n.assignTexture(s,"aoMap",o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&a!==xn){const d=o.emissiveFactor;s.emissive=new tt().setRGB(d[0],d[1],d[2],Ut)}return o.emissiveTexture!==void 0&&a!==xn&&u.push(n.assignTexture(s,"emissiveMap",o.emissiveTexture,Vn)),Promise.all(u).then(function(){const d=new a(s);return o.name&&(d.name=o.name),Dt(d,o),n.associations.set(d,{materials:e}),o.extensions&&en(i,d,o),d})}createUniqueName(e){const n=jn.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,r=this.extensions,i=this.primitiveCache;function o(s){return r[ke.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,n).then(function(l){return Aa(l,s,n)})}const a=[];for(let s=0,l=e.length;s0&&bp(y,o),y.name=n.createUniqueName(o.name||"mesh_"+e),Dt(y,o),v.extensions&&en(i,y,v),n.assignFinalMaterial(y),d.push(y)}for(let f=0,h=d.length;f1?c=new qr:u.length===1?c=u[0]:c=new ho,c!==u[0])for(let d=0,p=u.length;d{const d=new Map;for(const[p,f]of i.associations)(p instanceof Kr||p instanceof Ar)&&d.set(p,f);return c.traverse(p=>{const f=i.associations.get(p);f!=null&&d.set(p,f)}),d};return i.associations=u(o),o})}_createAnimationTracks(e,n,r,i,o){const a=[],s=e.name?e.name:e.uuid,l=[];Gt[o.path]===Gt.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(s);let u;switch(Gt[o.path]){case Gt.weights:u=Ho;break;case Gt.rotation:u=Go;break;case Gt.position:case Gt.scale:u=Vo;break;default:switch(r.itemSize){case 1:u=Ho;break;case 2:case 3:default:u=Vo;break}break}const c=i.interpolation!==void 0?gp[i.interpolation]:lo,d=this._getArrayFromAccessor(r);for(let p=0,f=l.length;pnew Uc(t)),tn.register(t=>new $c(t)),tn)}async function _p(t){const r=(await bl().loadAsync(t)).userData;if(!r.vrmAnimations){console.warn("No VRM animations found in the .vrma file");return}if(r.vrmAnimations.length===0){console.warn("No VRM animations found in the .vrma file");return}return r.vrmAnimations[0]}async function Ep(t,e){if(!t){console.warn("No VRM found");return}if(e)return jc(e,t)}function Mp(){const t=V(!1),e=V(0),n=V(0),r=.2,i=1,o=6,a=V(Math.random()*(o-i)+i);function s(l,u){if(l!=null&&l.expressionManager&&(n.value+=u,!t.value&&n.value>=a.value&&(t.value=!0,e.value=0),t.value)){e.value+=u/r;const c=Math.sin(Math.PI*e.value);l.expressionManager.setValue("blink",c),e.value>=1&&(t.value=!1,n.value=0,l.expressionManager.setValue("blink",0),a.value=Math.random()*(o-i)+i)}}return{update:s}}function Ip(){let t=-1,e,n=0;function r(){e?e.set(nn(-.25,.25),nn(-.2,.15),-.65):e=new de(nn(-.25,.25),nn(-.2,.15),-.65)}function i(o,a){var s;!(o!=null&&o.expressionManager)||!o.lookAt||(n>=t?(r(),n=0,t=Ys()/1e3):e||r(),o.lookAt.target||(o.lookAt.target=new ho),o.lookAt.target.position.lerp(e,nn(.2,.5)),(s=o.lookAt)==null||s.update(a),n+=a)}return{update:i}}async function Sp(t,e){const i=(await bl().loadAsync(t,a=>{var s;return(s=e==null?void 0:e.onProgress)==null?void 0:s.call(e,a)})).userData;if(!i.vrm)return;const o=i.vrm;if(Fi.removeUnnecessaryVertices(o.scene),Fi.combineSkeletons(o.scene),o.scene.traverse(a=>{a.frustumCulled=!1}),o.lookAt){const a=new Vc(o.lookAt);a.name="lookAtQuaternionProxy",o.scene.add(a)}return e!=null&&e.scene&&e.scene.add(o.scene),e!=null&&e.position&&o.scene.position.set(...e.position),o}function Rp(t){const e=V(null),n=V(!1),r=V(0),i=V(new Map),o=V(new Map),a=V(),s=(y,A,T)=>y+(A-y)*T,l=y=>y<.5?4*y*y*y:1-(-2*y+2)**3/2,u=new Map([["happy",{expression:[{name:"happy",value:1,duration:.3},{name:"aa",value:.3}],blendDuration:.3}],["sad",{expression:[{name:"sad",value:1},{name:"oh",value:.2}],blendDuration:.3}],["angry",{expression:[{name:"angry",value:1},{name:"ee",value:.4}],blendDuration:.2}],["surprised",{expression:[{name:"Surprised",value:1},{name:"oh",value:.6}],blendDuration:.1}],["neutral",{expression:[{name:"neutral",value:1}],blendDuration:.5}]]),c=()=>{a.value&&(clearTimeout(a.value),a.value=void 0)},d=y=>{var T;if(c(),!u.has(y)){console.warn(`Emotion ${y} not found`);return}const A=u.get(y);if(e.value=y,n.value=!0,r.value=0,t.expressionManager){const E=Object.keys(t.expressionManager.expressionMap);for(const O of E)t.expressionManager.setValue(O,0)}i.value.clear(),o.value.clear();for(const E of A.expression||[]){const O=((T=t.expressionManager)==null?void 0:T.getValue(E.name))||0;i.value.set(E.name,O),o.value.set(E.name,E.value)}};return{currentEmotion:e,isTransitioning:n,setEmotion:d,setEmotionWithResetAfter:(y,A)=>{c(),d(y),a.value=setTimeout(()=>{d("neutral"),a.value=void 0},A)},update:y=>{var E;if(!n.value||!e.value)return;const T=u.get(e.value).blendDuration||.3;r.value+=y/T,r.value>=1&&(r.value=1,n.value=!1);for(const[O,m]of o.value){const M=i.value.get(O)||0,b=s(M,m,l(r.value));(E=t.expressionManager)==null||E.setValue(O,b)}},addEmotionState:(y,A)=>{u.set(y,A)},removeEmotionState:y=>{u.delete(y)},dispose:()=>{c()}}}const Cp=xe({__name:"Model",props:{model:null,idleAnimation:null,loadAnimations:null,position:null,paused:{type:Boolean}},emits:["loadModelProgress","error"],setup(t,{expose:e,emit:n}){const r=t,i=n;let o;const a=V(),s=V(),{scene:l}=Or(),{onBeforeRender:u}=kr(),c=Mp(),d=Ip(),p=V();Te(()=>r.position,([w,v,y])=>{a.value&&a.value.scene.position.set(w,v,y)}),At(async()=>{if(l.value)try{const w=await Sp(r.model,{scene:l.value,lookAt:!0,position:r.position,onProgress:A=>i("loadModelProgress",Number.parseFloat((100*(A.loaded/A.total)).toFixed(2)))});if(!w){console.warn("No VRM model loaded");return}const v=await _p(r.idleAnimation),y=await Ep(w,v);if(!y){console.warn("No VRM animation loaded");return}s.value=new mc(w.scene),s.value.clipAction(y).play(),p.value=Rp(w),a.value=w,o=u(({delta:A})=>{var T,E,O;(T=s.value)==null||T.update(A),(E=a.value)==null||E.update(A),c.update(a.value,A),d.update(a.value,A),(O=p.value)==null||O.update(A)}).off}catch(w){i("error",w)}}),vt(()=>{o==null||o(),a.value&&(a.value.scene.removeFromParent(),Fi.deepDispose(a.value.scene))}),e({setExpression(w){var v;(v=p.value)==null||v.setEmotionWithResetAfter(w,1e3)}});const{pause:f,resume:h}=kr();return Te(()=>r.paused,w=>{w?f():h()}),(w,v)=>je(w.$slots,"default")}}),Op=["position"],Np={absolute:"",bottom:"3",right:"3"},Pp={flex:"~ row","cursor-pointer":""},Lp=["checked","aria-checked"],Dp={key:0,"min-w":"50vw",z:"{var h;(h=p.value)==null||h.setExpression(f)}}),(f,h)=>(W(),Ge(Zs,{relative:""},{default:ye(({height:w,width:v})=>[he(B(gc),{alpha:!0,antialias:!0,width:v,height:w},{default:ye(()=>[he(B(bf)),P("TresPerspectiveCamera",{position:[a.value,s.value,l.value]},null,8,Op),h[14]||(h[14]=P("TresDirectionalLight",{color:16777215,intensity:1.2,position:[1,1,1]},null,-1)),h[15]||(h[15]=P("TresAmbientLight",{color:16777215,intensity:1.5},null,-1)),he(Cp,{ref_key:"modelRef",ref:p,model:r.model,"idle-animation":r.idleAnimation,position:[u.value,c.value,d.value],paused:r.paused,onLoadModelProgress:h[0]||(h[0]=y=>i("loadModelProgress",y)),onError:h[1]||(h[1]=y=>i("error",y))},null,8,["model","idle-animation","position","paused"])]),_:2},1032,["width","height"]),P("div",Np,[P("div",Pp,[P("label",{class:Bt([o.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[Tt(P("input",{"onUpdate:modelValue":h[2]||(h[2]=y=>o.value=y),checked:o.value,"aria-checked":o.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,Lp),[[Cr,o.value]]),h[16]||(h[16]=P("div",{"select-none":""},[P("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Dr,null,{default:ye(()=>[o.value?(W(),Z("div",Dp,[P("div",Bp,[P("div",zp,[P("span",null,le(f.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),he(Ui,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:ye(()=>[P("span",Fp,le(f.$t("stage.viewers.debug-menu.vrm.camera")),1)]),default:ye(()=>[P("div",Up,[h[17]||(h[17]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"X")],-1)),P("label",$p,[he(vn,{modelValue:a.value,"onUpdate:modelValue":h[3]||(h[3]=y=>a.value=y),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",jp,[P("span",null,le(a.value),1)]),h[18]||(h[18]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Y")],-1)),P("label",Vp,[he(vn,{modelValue:s.value,"onUpdate:modelValue":h[4]||(h[4]=y=>s.value=y),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Hp,[P("span",null,le(s.value),1)]),h[19]||(h[19]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Z")],-1)),P("label",Gp,[he(vn,{modelValue:l.value,"onUpdate:modelValue":h[5]||(h[5]=y=>l.value=y),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Kp,[P("span",null,le(l.value),1)])])]),_:1}),he(Ui,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:ye(()=>[P("span",qp,le(f.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),default:ye(()=>[P("div",Yp,[h[20]||(h[20]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"X")],-1)),P("label",Wp,[he(vn,{modelValue:u.value,"onUpdate:modelValue":h[6]||(h[6]=y=>u.value=y),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Xp,[P("span",null,le(u.value),1)]),h[21]||(h[21]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Y")],-1)),P("label",Qp,[he(vn,{modelValue:c.value,"onUpdate:modelValue":h[7]||(h[7]=y=>c.value=y),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Zp,[P("span",null,le(c.value),1)]),h[22]||(h[22]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Z")],-1)),P("label",Jp,[he(vn,{modelValue:d.value,"onUpdate:modelValue":h[8]||(h[8]=y=>d.value=y),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",eh,[P("span",null,le(d.value),1)])])]),_:1}),P("div",th,[P("span",null,le(f.$t("stage.viewers.debug-menu.emotions")),1)]),P("div",nh,[P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[9]||(h[9]=y=>{var A;return(A=p.value)==null?void 0:A.setExpression("neutral")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.neutral")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[10]||(h[10]=y=>{var A;return(A=p.value)==null?void 0:A.setExpression("surprised")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[11]||(h[11]=y=>{var A;return(A=p.value)==null?void 0:A.setExpression("sad")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[12]||(h[12]=y=>{var A;return(A=p.value)==null?void 0:A.setExpression("angry")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[13]||(h[13]=y=>{var A;return(A=p.value)==null?void 0:A.setExpression("happy")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.happy")),1)])])])):Ke("",!0)]),_:1})])]),_:1}))}});var ui=class extends Error{constructor(e,n){super(e);Uo(this,"response");this.name="XSAIError",this.response=n}},ih=t=>t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),br=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[ih(e),n])),xl=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),wl=t=>JSON.stringify(br(xl({...t,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),yo=(t,e)=>xl({Authorization:e!==void 0?`Bearer ${e}`:void 0,...t}),bo=(t,e)=>{const n=e.toString();return new URL(t,n.endsWith("/")?n:`${n}/`)},xo=async t=>{if(!t.ok){const e=new ui(`Remote sent ${t.status} response`,t);throw e.cause=new Error(await t.text()),e}if(!t.body)throw new ui("Response body is empty from remote server",t);if(!(t.body instanceof ReadableStream)){const e=new ui(`Expected Response body to be a ReadableStream, but got ${String(t.body)}`,t);throw e.cause=new Error(`Content-Type is ${t.headers.get("Content-Type")}`),e}return t},oh=async t=>xo(t).then(async e=>e.json());const ah=async t=>(t.fetch??globalThis.fetch)(bo("audio/speech",t.baseURL),{body:wl(t),headers:yo({"Content-Type":"application/json",...t.headers},t.apiKey),method:"POST",signal:t.abortSignal}).then(xo).then(async e=>e.arrayBuffer()),kl=(t,{apiKey:e,baseURL:n,headers:r})=>({apiKey:e,baseURL:n,headers:r,model:t}),sh=t=>{const e={...t,baseURL:new URL("http://localhost:11434/v1/")},n=r=>kl(r,e);return{chat:n,embed:n,model:()=>e}};sh();const lh=t=>{const e=({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l,seed:u,voiceSettings:c})=>({extraBody:br({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l?l.map(d=>br(d)):void 0,seed:u,voiceSettings:c?br(c):void 0})});return{speech:(n,r)=>({...r?e(r):{},...kl(`elevenlabs/${n}`,{...t,baseURL:(t==null?void 0:t.baseURL)??new URL("http://localhost:5933/v1/")})})}},uh=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Wn{constructor(e,n,r){this.property=e,this.normal=n,r&&(this.space=r)}}Wn.prototype.property={};Wn.prototype.normal={};Wn.prototype.space=null;function Tl(t,e){const n={},r={};let i=-1;for(;++i4&&n.slice(0,4)==="data"&&hh.test(e)){if(e.charAt(4)==="-"){const o=e.slice(5).replace(Ea,yh);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=e.slice(4);if(!Ea.test(o)){let a=o.replace(mh,vh);a.charAt(0)!=="-"&&(a="-"+a),e="data"+a}}i=wo}return new i(r,e)}function vh(t){return"-"+t.toLowerCase()}function yh(t){return t.charAt(1).toUpperCase()}const bh=Tl([El,_l,Sl,Rl,fh],"html"),Cl=Tl([El,_l,Sl,Rl,ph],"svg"),Ma={}.hasOwnProperty;function xh(t,e){const n=e||{};function r(i,...o){let a=r.invalid;const s=r.handlers;if(i&&Ma.call(i,t)){const l=String(i[t]);a=Ma.call(s,l)?s[l]:r.unknown}if(a)return a.call(this,i,...o)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const wh=/["&'<>`]/g,kh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Th=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ah=/[|\\{}()[\]^$+*?.]/g,Ia=new WeakMap;function _h(t,e){if(t=t.replace(e.subset?Eh(e.subset):wh,r),e.subset||e.escapeOnly)return t;return t.replace(kh,n).replace(Th,r);function n(i,o,a){return e.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,a.charCodeAt(o+2),e)}function r(i,o,a){return e.format(i.charCodeAt(0),a.charCodeAt(o+1),e)}}function Eh(t){let e=Ia.get(t);return e||(e=Mh(t),Ia.set(t,e)),e}function Mh(t){const e=[];let n=-1;for(;++n",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},Nh=["cent","copy","divide","gt","lt","not","para","times"],Ol={}.hasOwnProperty,Wi={};let ir;for(ir in di)Ol.call(di,ir)&&(Wi[di[ir]]=ir);const Ph=/[^\dA-Za-z]/;function Lh(t,e,n,r){const i=String.fromCharCode(t);if(Ol.call(Wi,i)){const o=Wi[i],a="&"+o;return n&&Oh.includes(o)&&!Nh.includes(o)&&(!r||e&&e!==61&&Ph.test(String.fromCharCode(e)))?a:a+";"}return""}function Dh(t,e,n){let r=Sh(t,e,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Lh(t,e,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){const o=Ch(t,e,n.omitOptionalSemicolons);o.length|^->||--!>|"],Fh=["<",">"];function Uh(t,e,n,r){return r.settings.bogusComments?"":"";function i(o){return En(o,Object.assign({},r.settings.characterReferences,{subset:Fh}))}}function $h(t,e,n,r){return""}function Sa(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(e);for(;i!==-1;)r++,i=n.indexOf(e,i+e.length);return r}function jh(t,e){const n=e||{};return(t[t.length-1]===""?[...t,""]:t).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function Vh(t){return t.join(" ").trim()}const Hh=/[ \t\n\f\r]/g;function ko(t){return typeof t=="object"?t.type==="text"?Ra(t.value):!1:Ra(t)}function Ra(t){return t.replace(Hh,"")===""}const Ze=Pl(1),Nl=Pl(-1),Gh=[];function Pl(t){return e;function e(n,r,i){const o=n?n.children:Gh;let a=(r||0)+t,s=o[a];if(!i)for(;s&&ko(s);)a+=t,s=o[a];return s}}const Kh={}.hasOwnProperty;function Ll(t){return e;function e(n,r,i){return Kh.call(t,n.tagName)&&t[n.tagName](n,r,i)}}const To=Ll({body:Yh,caption:fi,colgroup:fi,dd:Zh,dt:Qh,head:fi,html:qh,li:Xh,optgroup:Jh,option:em,p:Wh,rp:Ca,rt:Ca,tbody:nm,td:Oa,tfoot:rm,th:Oa,thead:tm,tr:im});function fi(t,e,n){const r=Ze(n,e,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&ko(r.value.charAt(0)))}function qh(t,e,n){const r=Ze(n,e);return!r||r.type!=="comment"}function Yh(t,e,n){const r=Ze(n,e);return!r||r.type!=="comment"}function Wh(t,e,n){const r=Ze(n,e);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function Xh(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&r.tagName==="li"}function Qh(t,e,n){const r=Ze(n,e);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Zh(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Ca(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Jh(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&r.tagName==="optgroup"}function em(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function tm(t,e,n){const r=Ze(n,e);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function nm(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function rm(t,e,n){return!Ze(n,e)}function im(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&r.tagName==="tr"}function Oa(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const om=Ll({body:lm,colgroup:um,head:sm,html:am,tbody:cm});function am(t){const e=Ze(t,-1);return!e||e.type!=="comment"}function sm(t){const e=new Set;for(const r of t.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(e.has(r.tagName))return!1;e.add(r.tagName)}const n=t.children[0];return!n||n.type==="element"}function lm(t){const e=Ze(t,-1,!0);return!e||e.type!=="comment"&&!(e.type==="text"&&ko(e.value.charAt(0)))&&!(e.type==="element"&&(e.tagName==="meta"||e.tagName==="link"||e.tagName==="script"||e.tagName==="style"||e.tagName==="template"))}function um(t,e,n){const r=Nl(n,e),i=Ze(t,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&To(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="col")}function cm(t,e,n){const r=Nl(n,e),i=Ze(t,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&To(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="tr")}const or={name:[[` +\f\r &/=>`.split(""),` +\f\r "&'/=>\``.split("")],[`\0 +\f\r "&'/<=>`.split(""),`\0 +\f\r "&'/<=>\``.split("")]],unquoted:[[` +\f\r &>`.split(""),`\0 +\f\r "&'<=>\``.split("")],[`\0 +\f\r "&'<=>\``.split(""),`\0 +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function dm(t,e,n,r){const i=r.schema,o=i.space==="svg"?!1:r.settings.omitOptionalTags;let a=i.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(t.tagName.toLowerCase());const s=[];let l;i.space==="html"&&t.tagName==="svg"&&(r.schema=Cl);const u=fm(r,t.properties),c=r.all(i.space==="html"&&t.tagName==="template"?t.content:t);return r.schema=i,c&&(a=!1),(u||!o||!om(t,e,n))&&(s.push("<",t.tagName,u?" "+u:""),a&&(i.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(c),!a&&(!o||!To(t,e,n))&&s.push(""),s.join("")}function fm(t,e){const n=[];let r=-1,i;if(e){for(i in e)if(e[i]!==null&&e[i]!==void 0){const o=pm(t,i,e[i]);o&&n.push(o)}}for(;++rSa(n,t.alternative)&&(a=t.alternative),s=a+En(n,Object.assign({},t.settings.characterReferences,{subset:(a==="'"?or.single:or.double)[i][o],attribute:!0}))+a),l+(s&&"="+s))}const hm=["<","&"];function Dl(t,e,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?t.value:En(t.value,Object.assign({},r.settings.characterReferences,{subset:hm}))}function mm(t,e,n,r){return r.settings.allowDangerousHtml?t.value:Dl(t,e,n,r)}function gm(t,e,n,r){return r.all(t)}const vm=xh("type",{invalid:ym,unknown:bm,handlers:{comment:Uh,doctype:$h,element:dm,raw:mm,root:gm,text:Dl}});function ym(t){throw new Error("Expected node, not `"+t+"`")}function bm(t){const e=t;throw new Error("Cannot compile unknown node `"+e.type+"`")}const xm={},wm={},km=[];function Tm(t,e){const n=e||xm,r=n.quote||'"',i=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Am,all:_m,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||uh,characterReferences:n.characterReferences||wm,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?Cl:bh,quote:r,alternative:i}.one(Array.isArray(t)?{type:"root",children:t}:t,void 0,void 0)}function Am(t,e,n){return vm(t,e,n,this)}function _m(t){const e=[],n=t&&t.children||km;let r=-1;for(;++ri?0:i+e:e=e>i?i:e,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(e,n),t.splice(...a);else for(n&&t.splice(e,n);o0?(It(t,t.length,0,e),t):e}const La={}.hasOwnProperty;function Rm(t){const e={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Mn(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Et=Jt(/[A-Za-z]/),gt=Jt(/[\dA-Za-z]/),Nm=Jt(/[#-'*+\--9=?A-Z^-~]/);function Xi(t){return t!==null&&(t<32||t===127)}const Qi=Jt(/\d/),Pm=Jt(/[\dA-Fa-f]/),Lm=Jt(/[!-/:-@[-`{-~]/);function fe(t){return t!==null&&t<-2}function ut(t){return t!==null&&(t<0||t===32)}function Re(t){return t===-2||t===-1||t===32}const Dm=Jt(new RegExp("\\p{P}|\\p{S}","u")),Bm=Jt(/\s/);function Jt(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function Rn(t){const e=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const s=t.charCodeAt(n+1);o<56320&&s>56319&&s<57344?(a=String.fromCharCode(o,s),i=1):a="�"}else a=String.fromCharCode(o);a&&(e.push(t.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return e.join("")+t.slice(r)}function Fe(t,e,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(l){return Re(l)?(t.enter(n),s(l)):e(l)}function s(l){return Re(l)&&o++a))return;const M=e.events.length;let b=M,x,g;for(;b--;)if(e.events[b][0]==="exit"&&e.events[b][1].type==="chunkFlow"){if(x){g=e.events[b][1].end;break}x=!0}for(y(r),m=M;mT;){const O=n[E];e.containerState=O[1],O[0].exit.call(e,t)}n.length=T}function A(){i.write([null]),o=void 0,i=void 0,e.containerState._closeFlow=void 0}}function jm(t,e,n){return Fe(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Ba(t){if(t===null||ut(t)||Bm(t))return 1;if(Dm(t))return 2}function _o(t,e,n){const r=[];let i=-1;for(;++i1&&t[n][1].end.offset-t[n][1].start.offset>1?2:1;const d={...t[r][1].end},p={...t[n][1].start};za(d,-l),za(p,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:{...t[r][1].end}},s={type:l>1?"strongSequence":"emphasisSequence",start:{...t[n][1].start},end:p},o={type:l>1?"strongText":"emphasisText",start:{...t[r][1].end},end:{...t[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...a.start},end:{...s.end}},t[r][1].end={...a.start},t[n][1].start={...s.end},u=[],t[r][1].end.offset-t[r][1].start.offset&&(u=bt(u,[["enter",t[r][1],e],["exit",t[r][1],e]])),u=bt(u,[["enter",i,e],["enter",a,e],["exit",a,e],["enter",o,e]]),u=bt(u,_o(e.parser.constructs.insideSpan.null,t.slice(r+1,n),e)),u=bt(u,[["exit",o,e],["enter",s,e],["exit",s,e],["exit",i,e]]),t[n][1].end.offset-t[n][1].start.offset?(c=2,u=bt(u,[["enter",t[n][1],e],["exit",t[n][1],e]])):c=0,It(t,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n0&&Re(m)?Fe(t,A,"linePrefix",o+1)(m):A(m)}function A(m){return m===null||fe(m)?t.check(Fa,w,E)(m):(t.enter("codeFlowValue"),T(m))}function T(m){return m===null||fe(m)?(t.exit("codeFlowValue"),A(m)):(t.consume(m),T)}function E(m){return t.exit("codeFenced"),e(m)}function O(m,M,b){let x=0;return g;function g(D){return m.enter("lineEnding"),m.consume(D),m.exit("lineEnding"),_}function _(D){return m.enter("codeFencedFence"),Re(D)?Fe(m,R,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):R(D)}function R(D){return D===s?(m.enter("codeFencedFenceSequence"),z(D)):b(D)}function z(D){return D===s?(x++,m.consume(D),z):x>=a?(m.exit("codeFencedFenceSequence"),Re(D)?Fe(m,F,"whitespace")(D):F(D)):b(D)}function F(D){return D===null||fe(D)?(m.exit("codeFencedFence"),M(D)):b(D)}}}function eg(t,e,n){const r=this;return i;function i(a){return a===null?n(a):(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),o)}function o(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}const pi={name:"codeIndented",tokenize:ng},tg={partial:!0,tokenize:rg};function ng(t,e,n){const r=this;return i;function i(u){return t.enter("codeIndented"),Fe(t,o,"linePrefix",5)(u)}function o(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):fe(u)?t.attempt(tg,a,l)(u):(t.enter("codeFlowValue"),s(u))}function s(u){return u===null||fe(u)?(t.exit("codeFlowValue"),a(u)):(t.consume(u),s)}function l(u){return t.exit("codeIndented"),e(u)}}function rg(t,e,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):fe(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),i):Fe(t,o,"linePrefix",5)(a)}function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?e(a):fe(a)?i(a):n(a)}}const ig={name:"codeText",previous:ag,resolve:og,tokenize:sg};function og(t){let e=t.length-4,n=3,r,i;if((t[n][1].type==="lineEnding"||t[n][1].type==="space")&&(t[e][1].type==="lineEnding"||t[e][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length)return this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse();const i=this.left.slice(e);return i.push(...this.right.slice(this.right.length-r+this.left.length).reverse()),i}splice(e,n,r){const i=n||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ln(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Ln(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Ln(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?e(a):t.interrupt(r.parser.constructs.flow,n,e)(a)}}function Vl(t,e,n,r,i,o,a,s,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(y){return y===60?(t.enter(r),t.enter(i),t.enter(o),t.consume(y),t.exit(o),p):y===null||y===32||y===41||Xi(y)?n(y):(t.enter(r),t.enter(a),t.enter(s),t.enter("chunkString",{contentType:"string"}),w(y))}function p(y){return y===62?(t.enter(o),t.consume(y),t.exit(o),t.exit(i),t.exit(r),e):(t.enter(s),t.enter("chunkString",{contentType:"string"}),f(y))}function f(y){return y===62?(t.exit("chunkString"),t.exit(s),p(y)):y===null||y===60||fe(y)?n(y):(t.consume(y),y===92?h:f)}function h(y){return y===60||y===62||y===92?(t.consume(y),f):f(y)}function w(y){return!c&&(y===null||y===41||ut(y))?(t.exit("chunkString"),t.exit(s),t.exit(a),t.exit(r),e(y)):c999||f===null||f===91||f===93&&!l||f===94&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs?n(f):f===93?(t.exit(o),t.enter(i),t.consume(f),t.exit(i),t.exit(r),e):fe(f)?(t.enter("lineEnding"),t.consume(f),t.exit("lineEnding"),c):(t.enter("chunkString",{contentType:"string"}),d(f))}function d(f){return f===null||f===91||f===93||fe(f)||s++>999?(t.exit("chunkString"),c(f)):(t.consume(f),l||(l=!Re(f)),f===92?p:d)}function p(f){return f===91||f===92||f===93?(t.consume(f),s++,d):d(f)}}function Gl(t,e,n,r,i,o){let a;return s;function s(p){return p===34||p===39||p===40?(t.enter(r),t.enter(i),t.consume(p),t.exit(i),a=p===40?41:p,l):n(p)}function l(p){return p===a?(t.enter(i),t.consume(p),t.exit(i),t.exit(r),e):(t.enter(o),u(p))}function u(p){return p===a?(t.exit(o),l(a)):p===null?n(p):fe(p)?(t.enter("lineEnding"),t.consume(p),t.exit("lineEnding"),Fe(t,u,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===a||p===null||fe(p)?(t.exit("chunkString"),u(p)):(t.consume(p),p===92?d:c)}function d(p){return p===a||p===92?(t.consume(p),c):c(p)}}function Un(t,e){let n;return r;function r(i){return fe(i)?(t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),n=!0,r):Re(i)?Fe(t,r,n?"linePrefix":"lineSuffix")(i):e(i)}}const mg={name:"definition",tokenize:vg},gg={partial:!0,tokenize:yg};function vg(t,e,n){const r=this;let i;return o;function o(f){return t.enter("definition"),a(f)}function a(f){return Hl.call(r,t,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function s(f){return i=Mn(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58?(t.enter("definitionMarker"),t.consume(f),t.exit("definitionMarker"),l):n(f)}function l(f){return ut(f)?Un(t,u)(f):u(f)}function u(f){return Vl(t,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function c(f){return t.attempt(gg,d,d)(f)}function d(f){return Re(f)?Fe(t,p,"whitespace")(f):p(f)}function p(f){return f===null||fe(f)?(t.exit("definition"),r.parser.defined.push(i),e(f)):n(f)}}function yg(t,e,n){return r;function r(s){return ut(s)?Un(t,i)(s):n(s)}function i(s){return Gl(t,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function o(s){return Re(s)?Fe(t,a,"whitespace")(s):a(s)}function a(s){return s===null||fe(s)?e(s):n(s)}}const bg={name:"hardBreakEscape",tokenize:xg};function xg(t,e,n){return r;function r(o){return t.enter("hardBreakEscape"),t.consume(o),i}function i(o){return fe(o)?(t.exit("hardBreakEscape"),e(o)):n(o)}}const wg={name:"headingAtx",resolve:kg,tokenize:Tg};function kg(t,e){let n=t.length-2,r=3,i,o;return t[r][1].type==="whitespace"&&(r+=2),n-2>r&&t[n][1].type==="whitespace"&&(n-=2),t[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&t[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:t[r][1].start,end:t[n][1].end},o={type:"chunkText",start:t[r][1].start,end:t[n][1].end,contentType:"text"},It(t,r,n-r+1,[["enter",i,e],["enter",o,e],["exit",o,e],["exit",i,e]])),t}function Tg(t,e,n){let r=0;return i;function i(c){return t.enter("atxHeading"),o(c)}function o(c){return t.enter("atxHeadingSequence"),a(c)}function a(c){return c===35&&r++<6?(t.consume(c),a):c===null||ut(c)?(t.exit("atxHeadingSequence"),s(c)):n(c)}function s(c){return c===35?(t.enter("atxHeadingSequence"),l(c)):c===null||fe(c)?(t.exit("atxHeading"),e(c)):Re(c)?Fe(t,s,"whitespace")(c):(t.enter("atxHeadingText"),u(c))}function l(c){return c===35?(t.consume(c),l):(t.exit("atxHeadingSequence"),s(c))}function u(c){return c===null||c===35||ut(c)?(t.exit("atxHeadingText"),s(c)):(t.consume(c),u)}}const Ag=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],$a=["pre","script","style","textarea"],_g={concrete:!0,name:"htmlFlow",resolveTo:Ig,tokenize:Sg},Eg={partial:!0,tokenize:Cg},Mg={partial:!0,tokenize:Rg};function Ig(t){let e=t.length;for(;e--&&!(t[e][0]==="enter"&&t[e][1].type==="htmlFlow"););return e>1&&t[e-2][1].type==="linePrefix"&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t}function Sg(t,e,n){const r=this;let i,o,a,s,l;return u;function u(C){return c(C)}function c(C){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(C),d}function d(C){return C===33?(t.consume(C),p):C===47?(t.consume(C),o=!0,w):C===63?(t.consume(C),i=3,r.interrupt?e:I):Et(C)?(t.consume(C),a=String.fromCharCode(C),v):n(C)}function p(C){return C===45?(t.consume(C),i=2,f):C===91?(t.consume(C),i=5,s=0,h):Et(C)?(t.consume(C),i=4,r.interrupt?e:I):n(C)}function f(C){return C===45?(t.consume(C),r.interrupt?e:I):n(C)}function h(C){const be="CDATA[";return C===be.charCodeAt(s++)?(t.consume(C),s===be.length?r.interrupt?e:R:h):n(C)}function w(C){return Et(C)?(t.consume(C),a=String.fromCharCode(C),v):n(C)}function v(C){if(C===null||C===47||C===62||ut(C)){const be=C===47,Se=a.toLowerCase();return!be&&!o&&$a.includes(Se)?(i=1,r.interrupt?e(C):R(C)):Ag.includes(a.toLowerCase())?(i=6,be?(t.consume(C),y):r.interrupt?e(C):R(C)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):o?A(C):T(C))}return C===45||gt(C)?(t.consume(C),a+=String.fromCharCode(C),v):n(C)}function y(C){return C===62?(t.consume(C),r.interrupt?e:R):n(C)}function A(C){return Re(C)?(t.consume(C),A):g(C)}function T(C){return C===47?(t.consume(C),g):C===58||C===95||Et(C)?(t.consume(C),E):Re(C)?(t.consume(C),T):g(C)}function E(C){return C===45||C===46||C===58||C===95||gt(C)?(t.consume(C),E):O(C)}function O(C){return C===61?(t.consume(C),m):Re(C)?(t.consume(C),O):T(C)}function m(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(t.consume(C),l=C,M):Re(C)?(t.consume(C),m):b(C)}function M(C){return C===l?(t.consume(C),l=null,x):C===null||fe(C)?n(C):(t.consume(C),M)}function b(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||ut(C)?O(C):(t.consume(C),b)}function x(C){return C===47||C===62||Re(C)?T(C):n(C)}function g(C){return C===62?(t.consume(C),_):n(C)}function _(C){return C===null||fe(C)?R(C):Re(C)?(t.consume(C),_):n(C)}function R(C){return C===45&&i===2?(t.consume(C),U):C===60&&i===1?(t.consume(C),ee):C===62&&i===4?(t.consume(C),we):C===63&&i===3?(t.consume(C),I):C===93&&i===5?(t.consume(C),ue):fe(C)&&(i===6||i===7)?(t.exit("htmlFlowData"),t.check(Eg,Ve,z)(C)):C===null||fe(C)?(t.exit("htmlFlowData"),z(C)):(t.consume(C),R)}function z(C){return t.check(Mg,F,Ve)(C)}function F(C){return t.enter("lineEnding"),t.consume(C),t.exit("lineEnding"),D}function D(C){return C===null||fe(C)?z(C):(t.enter("htmlFlowData"),R(C))}function U(C){return C===45?(t.consume(C),I):R(C)}function ee(C){return C===47?(t.consume(C),a="",ne):R(C)}function ne(C){if(C===62){const be=a.toLowerCase();return $a.includes(be)?(t.consume(C),we):R(C)}return Et(C)&&a.length<8?(t.consume(C),a+=String.fromCharCode(C),ne):R(C)}function ue(C){return C===93?(t.consume(C),I):R(C)}function I(C){return C===62?(t.consume(C),we):C===45&&i===2?(t.consume(C),I):R(C)}function we(C){return C===null||fe(C)?(t.exit("htmlFlowData"),Ve(C)):(t.consume(C),we)}function Ve(C){return t.exit("htmlFlow"),e(C)}}function Rg(t,e,n){const r=this;return i;function i(a){return fe(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),o):n(a)}function o(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}function Cg(t,e,n){return r;function r(i){return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),t.attempt(Fr,e,n)}}const Og={name:"htmlText",tokenize:Ng};function Ng(t,e,n){const r=this;let i,o,a;return s;function s(I){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(I),l}function l(I){return I===33?(t.consume(I),u):I===47?(t.consume(I),O):I===63?(t.consume(I),T):Et(I)?(t.consume(I),b):n(I)}function u(I){return I===45?(t.consume(I),c):I===91?(t.consume(I),o=0,h):Et(I)?(t.consume(I),A):n(I)}function c(I){return I===45?(t.consume(I),f):n(I)}function d(I){return I===null?n(I):I===45?(t.consume(I),p):fe(I)?(a=d,ee(I)):(t.consume(I),d)}function p(I){return I===45?(t.consume(I),f):d(I)}function f(I){return I===62?U(I):I===45?p(I):d(I)}function h(I){const we="CDATA[";return I===we.charCodeAt(o++)?(t.consume(I),o===we.length?w:h):n(I)}function w(I){return I===null?n(I):I===93?(t.consume(I),v):fe(I)?(a=w,ee(I)):(t.consume(I),w)}function v(I){return I===93?(t.consume(I),y):w(I)}function y(I){return I===62?U(I):I===93?(t.consume(I),y):w(I)}function A(I){return I===null||I===62?U(I):fe(I)?(a=A,ee(I)):(t.consume(I),A)}function T(I){return I===null?n(I):I===63?(t.consume(I),E):fe(I)?(a=T,ee(I)):(t.consume(I),T)}function E(I){return I===62?U(I):T(I)}function O(I){return Et(I)?(t.consume(I),m):n(I)}function m(I){return I===45||gt(I)?(t.consume(I),m):M(I)}function M(I){return fe(I)?(a=M,ee(I)):Re(I)?(t.consume(I),M):U(I)}function b(I){return I===45||gt(I)?(t.consume(I),b):I===47||I===62||ut(I)?x(I):n(I)}function x(I){return I===47?(t.consume(I),U):I===58||I===95||Et(I)?(t.consume(I),g):fe(I)?(a=x,ee(I)):Re(I)?(t.consume(I),x):U(I)}function g(I){return I===45||I===46||I===58||I===95||gt(I)?(t.consume(I),g):_(I)}function _(I){return I===61?(t.consume(I),R):fe(I)?(a=_,ee(I)):Re(I)?(t.consume(I),_):x(I)}function R(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(t.consume(I),i=I,z):fe(I)?(a=R,ee(I)):Re(I)?(t.consume(I),R):(t.consume(I),F)}function z(I){return I===i?(t.consume(I),i=void 0,D):I===null?n(I):fe(I)?(a=z,ee(I)):(t.consume(I),z)}function F(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||ut(I)?x(I):(t.consume(I),F)}function D(I){return I===47||I===62||ut(I)?x(I):n(I)}function U(I){return I===62?(t.consume(I),t.exit("htmlTextData"),t.exit("htmlText"),e):n(I)}function ee(I){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(I),t.exit("lineEnding"),ne}function ne(I){return Re(I)?Fe(t,ue,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):ue(I)}function ue(I){return t.enter("htmlTextData"),a(I)}}const Eo={name:"labelEnd",resolveAll:Bg,resolveTo:zg,tokenize:Fg},Pg={tokenize:Ug},Lg={tokenize:$g},Dg={tokenize:jg};function Bg(t){let e=-1;const n=[];for(;++e=3&&(u===null||fe(u))?(t.exit("thematicBreak"),e(u)):n(u)}function l(u){return u===i?(t.consume(u),r++,l):(t.exit("thematicBreakSequence"),Re(u)?Fe(t,s,"whitespace")(u):s(u))}}const st={continuation:{tokenize:Zg},exit:ev,name:"list",tokenize:Qg},Wg={partial:!0,tokenize:tv},Xg={partial:!0,tokenize:Jg};function Qg(t,e,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return s;function s(f){const h=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:Qi(f)){if(r.containerState.type||(r.containerState.type=h,t.enter(h,{_container:!0})),h==="listUnordered")return t.enter("listItemPrefix"),f===42||f===45?t.check(xr,n,u)(f):u(f);if(!r.interrupt||f===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),l(f)}return n(f)}function l(f){return Qi(f)&&++a<10?(t.consume(f),l):(!r.interrupt||a<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46)?(t.exit("listItemValue"),u(f)):n(f)}function u(f){return t.enter("listItemMarker"),t.consume(f),t.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,t.check(Fr,r.interrupt?n:c,t.attempt(Wg,p,d))}function c(f){return r.containerState.initialBlankLine=!0,o++,p(f)}function d(f){return Re(f)?(t.enter("listItemPrefixWhitespace"),t.consume(f),t.exit("listItemPrefixWhitespace"),p):n(f)}function p(f){return r.containerState.size=o+r.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(f)}}function Zg(t,e,n){const r=this;return r.containerState._closeFlow=void 0,t.check(Fr,i,o);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Fe(t,e,"listItemIndent",r.containerState.size+1)(s)}function o(s){return r.containerState.furtherBlankLines||!Re(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,t.attempt(Xg,e,a)(s))}function a(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,Fe(t,t.attempt(st,e,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function Jg(t,e,n){const r=this;return Fe(t,i,"listItemIndent",r.containerState.size+1);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?e(o):n(o)}}function ev(t){t.exit(this.containerState.type)}function tv(t,e,n){const r=this;return Fe(t,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const a=r.events[r.events.length-1];return!Re(o)&&a&&a[1].type==="listItemPrefixWhitespace"?e(o):n(o)}}const ja={name:"setextUnderline",resolveTo:nv,tokenize:rv};function nv(t,e){let n=t.length,r,i,o;for(;n--;)if(t[n][0]==="enter"){if(t[n][1].type==="content"){r=n;break}t[n][1].type==="paragraph"&&(i=n)}else t[n][1].type==="content"&&t.splice(n,1),!o&&t[n][1].type==="definition"&&(o=n);const a={type:"setextHeading",start:{...t[i][1].start},end:{...t[t.length-1][1].end}};return t[i][1].type="setextHeadingText",o?(t.splice(i,0,["enter",a,e]),t.splice(o+1,0,["exit",t[r][1],e]),t[r][1].end={...t[o][1].end}):t[r][1]=a,t.push(["exit",a,e]),t}function rv(t,e,n){const r=this;let i;return o;function o(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(t.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return t.enter("setextHeadingLineSequence"),s(u)}function s(u){return u===i?(t.consume(u),s):(t.exit("setextHeadingLineSequence"),Re(u)?Fe(t,l,"lineSuffix")(u):l(u))}function l(u){return u===null||fe(u)?(t.exit("setextHeadingLine"),e(u)):n(u)}}const iv={tokenize:ov};function ov(t){const e=this,n=t.attempt(Fr,r,t.attempt(this.parser.constructs.flowInitial,i,Fe(t,t.attempt(this.parser.constructs.flow,i,t.attempt(cg,i)),"linePrefix")));return n;function r(o){if(o===null){t.consume(o);return}return t.enter("lineEndingBlank"),t.consume(o),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n}function i(o){if(o===null){t.consume(o);return}return t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),e.currentConstruct=void 0,n}}const av={resolveAll:ql()},sv=Kl("string"),lv=Kl("text");function Kl(t){return{resolveAll:ql(t==="text"?uv:void 0),tokenize:e};function e(n){const r=this,i=this.parser.constructs[t],o=n.attempt(i,a,s);return a;function a(c){return u(c)?o(c):s(c)}function s(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),o(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;const d=i[c];let p=-1;if(d)for(;++p-1){const s=a[0];typeof s=="string"?a[0]=s.slice(r):a.shift()}o>0&&a.push(t[i].slice(0,o))}return a}function kv(t,e){let n=-1;const r=[];let i;for(;++n0){const He=re.tokenStack[re.tokenStack.length-1];(He[1]||Ka).call(re,void 0,He[0])}for(Q.position={start:Kt(j.length>0?j[0][1].start:{line:1,column:1,offset:0}),end:Kt(j.length>0?j[j.length-2][1].end:{line:1,column:1,offset:0})},Ae=-1;++Ae1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};t.patch(e,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return t.patch(e,u),t.applyData(e,u)}function Fv(t,e){const n={type:"element",tagName:"h"+e.depth,properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function Uv(t,e){if(t.options.allowDangerousHtml){const n={type:"raw",value:e.value};return t.patch(e,n),t.applyData(e,n)}}function Xl(t,e){const n=e.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+r}];const i=t.all(e),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=r:i.push({type:"text",value:r}),i}function $v(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return Xl(t,e);const i={src:Rn(r.url||""),alt:e.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return t.patch(e,o),t.applyData(e,o)}function jv(t,e){const n={src:Rn(e.url)};e.alt!==null&&e.alt!==void 0&&(n.alt=e.alt),e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"img",properties:n,children:[]};return t.patch(e,r),t.applyData(e,r)}function Vv(t,e){const n={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};t.patch(e,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return t.patch(e,r),t.applyData(e,r)}function Hv(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return Xl(t,e);const i={href:Rn(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:t.all(e)};return t.patch(e,o),t.applyData(e,o)}function Gv(t,e){const n={href:Rn(e.url)};e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"a",properties:n,children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function Kv(t,e,n){const r=t.all(e),i=n?qv(n):Ql(e),o={},a=[];if(typeof e.checked=="boolean"){const c=r[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let s=-1;for(;++s1}function Yv(t,e){const n={},r=t.all(e);let i=-1;for(typeof e.start=="number"&&e.start!==1&&(n.start=e.start);++i0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Zv(t){const e=Jl(t),n=Zl(t);if(e&&n)return{start:e,end:n}}function Jv(t,e){const n=t.all(e),r=n.shift(),i=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:t.wrap([r],!0)};t.patch(e.children[0],a),i.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:t.wrap(n,!0)},s=Jl(e.children[1]),l=Zl(e.children[e.children.length-1]);s&&l&&(a.position={start:s,end:l}),i.push(a)}const o={type:"element",tagName:"table",properties:{},children:t.wrap(i,!0)};return t.patch(e,o),t.applyData(e,o)}function ey(t,e,n){const r=n?n.children:void 0,o=(r?r.indexOf(e):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,s=a?a.length:e.children.length;let l=-1;const u=[];for(;++l0,!0),r[0]),i=r.index+r[0].length,r=n.exec(e);return o.push(Wa(e.slice(i),i>0,!1)),o.join("")}function Wa(t,e,n){let r=0,i=t.length;if(e){let o=t.codePointAt(r);for(;o===qa||o===Ya;)r++,o=t.codePointAt(r)}if(n){let o=t.codePointAt(i-1);for(;o===qa||o===Ya;)i--,o=t.codePointAt(i-1)}return i>r?t.slice(r,i):""}function ry(t,e){const n={type:"text",value:ny(String(e.value))};return t.patch(e,n),t.applyData(e,n)}function iy(t,e){const n={type:"element",tagName:"hr",properties:{},children:[]};return t.patch(e,n),t.applyData(e,n)}const oy={blockquote:Nv,break:Pv,code:Lv,delete:Dv,emphasis:Bv,footnoteReference:zv,heading:Fv,html:Uv,imageReference:$v,image:jv,inlineCode:Vv,linkReference:Hv,link:Gv,listItem:Kv,list:Yv,paragraph:Wv,root:Xv,strong:Qv,table:Jv,tableCell:ty,tableRow:ey,text:ry,thematicBreak:iy,toml:ar,yaml:ar,definition:ar,footnoteDefinition:ar};function ar(){}const tu=-1,Ur=0,Ir=1,Sr=2,Mo=3,Io=4,So=5,Ro=6,nu=7,ru=8,Xa=typeof self=="object"?self:globalThis,ay=(t,e)=>{const n=(i,o)=>(t.set(o,i),i),r=i=>{if(t.has(i))return t.get(i);const[o,a]=e[i];switch(o){case Ur:case tu:return n(a,i);case Ir:{const s=n([],i);for(const l of a)s.push(r(l));return s}case Sr:{const s=n({},i);for(const[l,u]of a)s[r(l)]=r(u);return s}case Mo:return n(new Date(a),i);case Io:{const{source:s,flags:l}=a;return n(new RegExp(s,l),i)}case So:{const s=n(new Map,i);for(const[l,u]of a)s.set(r(l),r(u));return s}case Ro:{const s=n(new Set,i);for(const l of a)s.add(r(l));return s}case nu:{const{name:s,message:l}=a;return n(new Xa[s](l),i)}case ru:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i)}return n(new Xa[o](a),i)};return r},Qa=t=>ay(new Map,t)(0),yn="",{toString:sy}={},{keys:ly}=Object,Dn=t=>{const e=typeof t;if(e!=="object"||!t)return[Ur,e];const n=sy.call(t).slice(8,-1);switch(n){case"Array":return[Ir,yn];case"Object":return[Sr,yn];case"Date":return[Mo,yn];case"RegExp":return[Io,yn];case"Map":return[So,yn];case"Set":return[Ro,yn]}return n.includes("Array")?[Ir,n]:n.includes("Error")?[nu,n]:[Sr,n]},sr=([t,e])=>t===Ur&&(e==="function"||e==="symbol"),uy=(t,e,n,r)=>{const i=(a,s)=>{const l=r.push(a)-1;return n.set(s,l),l},o=a=>{if(n.has(a))return n.get(a);let[s,l]=Dn(a);switch(s){case Ur:{let c=a;switch(l){case"bigint":s=ru,c=a.toString();break;case"function":case"symbol":if(t)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([tu],a)}return i([s,c],a)}case Ir:{if(l)return i([l,[...a]],a);const c=[],d=i([s,c],a);for(const p of a)c.push(o(p));return d}case Sr:{if(l)switch(l){case"BigInt":return i([l,a.toString()],a);case"Boolean":case"Number":case"String":return i([l,a.valueOf()],a)}if(e&&"toJSON"in a)return o(a.toJSON());const c=[],d=i([s,c],a);for(const p of ly(a))(t||!sr(Dn(a[p])))&&c.push([o(p),o(a[p])]);return d}case Mo:return i([s,a.toISOString()],a);case Io:{const{source:c,flags:d}=a;return i([s,{source:c,flags:d}],a)}case So:{const c=[],d=i([s,c],a);for(const[p,f]of a)(t||!(sr(Dn(p))||sr(Dn(f))))&&c.push([o(p),o(f)]);return d}case Ro:{const c=[],d=i([s,c],a);for(const p of a)(t||!sr(Dn(p)))&&c.push(o(p));return d}}const{message:u}=a;return i([s,{name:l,message:u}],a)};return o},Za=(t,{json:e,lossy:n}={})=>{const r=[];return uy(!(e||n),!!e,new Map,r)(t),r},Rr=typeof structuredClone=="function"?(t,e)=>e&&("json"in e||"lossy"in e)?Qa(Za(t,e)):structuredClone(t):(t,e)=>Qa(Za(t,e));function cy(t,e){const n=[{type:"text",value:"↩"}];return e>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),n}function dy(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")}function fy(t){const e=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",n=t.options.footnoteBackContent||cy,r=t.options.footnoteBackLabel||dy,i=t.options.footnoteLabel||"Footnotes",o=t.options.footnoteLabelTagName||"h2",a=t.options.footnoteLabelProperties||{className:["sr-only"]},s=[];let l=-1;for(;++l0&&h.push({type:"text",value:" "});let A=typeof n=="string"?n:n(l,f);typeof A=="string"&&(A={type:"text",value:A}),h.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+p+(f>1?"-"+f:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,f),className:["data-footnote-backref"]},children:Array.isArray(A)?A:[A]})}const v=c[c.length-1];if(v&&v.type==="element"&&v.tagName==="p"){const A=v.children[v.children.length-1];A&&A.type==="text"?A.value+=" ":v.children.push({type:"text",value:" "}),v.children.push(...h)}else c.push(...h);const y={type:"element",tagName:"li",properties:{id:e+"fn-"+p},children:t.wrap(c,!0)};t.patch(u,y),s.push(y)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...Rr(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:t.wrap(s,!0)},{type:"text",value:` +`}]}}const iu=function(t){if(t==null)return gy;if(typeof t=="function")return $r(t);if(typeof t=="object")return Array.isArray(t)?py(t):hy(t);if(typeof t=="string")return my(t);throw new Error("Expected function, string, or object as test")};function py(t){const e=[];let n=-1;for(;++n":""))+")"})}return p;function p(){let f=ou,h,w,v;if((!e||o(l,u,c[c.length-1]||void 0))&&(f=wy(n(l,c)),f[0]===Ja))return f;if("children"in l&&l.children){const y=l;if(y.children&&f[0]!==by)for(w=(r?y.children.length:-1)+a,v=c.concat(y);w>-1&&w0&&n.push({type:"text",value:` +`}),n}function es(t){let e=0,n=t.charCodeAt(e);for(;n===9||n===32;)e++,n=t.charCodeAt(e);return t.slice(e)}function ts(t,e){const n=Ay(t,e),r=n.one(t,void 0),i=fy(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` +`},i),o}function Sy(t,e){return t&&"run"in t?async function(n,r){const i=ts(n,{file:r,...e});await t.run(i,r)}:function(n,r){return ts(n,{file:r,...t||e})}}function ns(t){if(t)throw t}var mi,rs;function Ry(){if(rs)return mi;rs=1;var t=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(u){return typeof Array.isArray=="function"?Array.isArray(u):e.call(u)==="[object Array]"},o=function(u){if(!u||e.call(u)!=="[object Object]")return!1;var c=t.call(u,"constructor"),d=u.constructor&&u.constructor.prototype&&t.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!c&&!d)return!1;var p;for(p in u);return typeof p>"u"||t.call(u,p)},a=function(u,c){n&&c.name==="__proto__"?n(u,c.name,{enumerable:!0,configurable:!0,value:c.newValue,writable:!0}):u[c.name]=c.newValue},s=function(u,c){if(c==="__proto__")if(t.call(u,c)){if(r)return r(u,c).value}else return;return u[c]};return mi=function l(){var u,c,d,p,f,h,w=arguments[0],v=1,y=arguments.length,A=!1;for(typeof w=="boolean"&&(A=w,w=arguments[1]||{},v=2),(w==null||typeof w!="object"&&typeof w!="function")&&(w={});va.length;let l;s&&a.push(i);try{l=t.apply(this,a)}catch(u){const c=u;if(s&&n)throw c;return i(c)}s||(l&&l.then&&typeof l.then=="function"?l.then(o,i):l instanceof Error?i(l):o(l))}function i(a,...s){n||(n=!0,e(a,...s))}function o(a){i(null,a)}}class ct extends Error{constructor(e,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},a=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof e=="string"?i=e:!o.cause&&e&&(a=!0,i=e.message,o.cause=e),!o.ruleId&&!o.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?o.ruleId=r:(o.source=r.slice(0,l),o.ruleId=r.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){const l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}const s=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=s?s.line:void 0,this.name=$n(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}ct.prototype.file="";ct.prototype.name="";ct.prototype.reason="";ct.prototype.message="";ct.prototype.stack="";ct.prototype.column=void 0;ct.prototype.line=void 0;ct.prototype.ancestors=void 0;ct.prototype.cause=void 0;ct.prototype.fatal=void 0;ct.prototype.place=void 0;ct.prototype.ruleId=void 0;ct.prototype.source=void 0;const _t={basename:Py,dirname:Ly,extname:Dy,join:By,sep:"/"};function Py(t,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');Xn(t);let n=0,r=-1,i=t.length,o;if(e===void 0||e.length===0||e.length>t.length){for(;i--;)if(t.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":t.slice(n,r)}if(e===t)return"";let a=-1,s=e.length-1;for(;i--;)if(t.codePointAt(i)===47){if(o){n=i+1;break}}else a<0&&(o=!0,a=i+1),s>-1&&(t.codePointAt(i)===e.codePointAt(s--)?s<0&&(r=i):(s=-1,r=a));return n===r?r=a:r<0&&(r=t.length),t.slice(n,r)}function Ly(t){if(Xn(t),t.length===0)return".";let e=-1,n=t.length,r;for(;--n;)if(t.codePointAt(n)===47){if(r){e=n;break}}else r||(r=!0);return e<0?t.codePointAt(0)===47?"/":".":e===1&&t.codePointAt(0)===47?"//":t.slice(0,e)}function Dy(t){Xn(t);let e=t.length,n=-1,r=0,i=-1,o=0,a;for(;e--;){const s=t.codePointAt(e);if(s===47){if(a){r=e+1;break}continue}n<0&&(a=!0,n=e+1),s===46?i<0?i=e:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":t.slice(i,n)}function By(...t){let e=-1,n;for(;++e0&&t.codePointAt(t.length-1)===47&&(n+="/"),e?"/"+n:n}function Fy(t,e){let n="",r=0,i=-1,o=0,a=-1,s,l;for(;++a<=t.length;){if(a2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=a,o=0;continue}}else if(n.length>0){n="",r=0,i=a,o=0;continue}}e&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+t.slice(i+1,a):n=t.slice(i+1,a),r=a-i-1;i=a,o=0}else s===46&&o>-1?o++:o=-1}return n}function Xn(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}const Uy={cwd:$y};function $y(){return"/"}function no(t){return!!(t!==null&&typeof t=="object"&&"href"in t&&t.href&&"protocol"in t&&t.protocol&&t.auth===void 0)}function jy(t){if(typeof t=="string")t=new URL(t);else if(!no(t)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+t+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(t.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return Vy(t)}function Vy(t){if(t.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const e=t.pathname;let n=-1;for(;++n0){let[f,...h]=c;const w=r[p][1];to(w)&&to(f)&&(f=gi(!0,w,f)),r[p]=[u,f,...h]}}}}const Yy=new Co().freeze();function xi(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `parser`")}function wi(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `compiler`")}function ki(t,e){if(e)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function os(t){if(!to(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function as(t,e,n){if(!n)throw new Error("`"+t+"` finished async. Use `"+e+"` instead")}function lr(t){return Wy(t)?t:new Hy(t)}function Wy(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function Xy(t){return typeof t=="string"||Qy(t)}function Qy(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}function Oo(){const t=Yy().use(Ov).use(Sy).use(Em);return{process:e=>t.processSync(e).toString()}}function Zy(t,e){return{role:"system",content:[t,Hc.map(n=>`- ${n}`).join(` +`),e].join(` + +`)}}function Jy(t){const e=new Uint8Array(t.frequencyBinCount);t.getByteFrequencyData(e);const n=[];for(let i=0;i<700;i+=80)n.push(e[i]);return e.map(i=>i**1.2).map(i=>i*1.2).reduce((i,o)=>i+o,0)/e.length/100}function e0(t){const e=new Uint8Array(t.frequencyBinCount);t.getByteFrequencyData(e);const n=[];for(let u=0;u<700;u+=80)n.push(e[u]);const r=e.map(u=>u**1.5),i=Math.min(...r),a=Math.max(...r)-i;let s;return a===0?s=r.map(()=>0):s=r.map(u=>(u-i)/a),s.reduce((u,c)=>u+c,0)/e.length}function t0(t,e="linear"){switch(e){case"linear":return Jy(t);case"minmax":return e0(t)}}const au=Pr("AudioContext",()=>({audioContext:new AudioContext,calculateVolume:t0})),n0=Pr("SpeakingStore",()=>{const n=V(0),r=V(!1),i=Ee(()=>r.value?(30+70*n.value)/100:30);return{mouthOpenSize:n,nowSpeaking:r,nowSpeakingAvatarBorderOpacity:i}});function ur(t,e,n){return e+n<0||e+n>=t.length-1?"":t[e+n]}function r0(t){let e="literal",n="";return{async consume(r){var i,o,a;for(let s=0;s"?(l+=ur(r,s,1),u="literal",s++):l==="<"?u="special":l===">"&&(u="literal"),e==="literal"&&u==="special"?n!==""&&(await((i=t.onLiteral)==null?void 0:i.call(t,n)),n=""):e==="special"&&u==="literal"&&n!==""&&(n+=l,await((o=t.onSpecial)==null?void 0:o.call(t,n)),n=""),e==="literal"&&u==="literal"?(await((a=t.onLiteral)==null?void 0:a.call(t,l)),n=""):e==="special"&&u==="literal"?n="":n+=l,e=u}},async end(){var r,i;n!==""&&(e==="literal"?await((r=t.onLiteral)==null?void 0:r.call(t,n)):n.endsWith("|>")&&await((i=t.onSpecial)==null?void 0:i.call(t,n)))}}}const i0=async t=>(t.fetch??globalThis.fetch)(bo("models",t.baseURL),{headers:yo({"Content-Type":"application/json",...t.headers},t.apiKey),signal:t.abortSignal}).then(oh).then(({data:e})=>e);var o0=async t=>{var e;return(t.fetch??globalThis.fetch)(bo("chat/completions",t.baseURL),{body:wl({...t,tools:(e=t.tools)==null?void 0:e.map(n=>({function:n.function,type:"function"}))}),headers:yo({"Content-Type":"application/json",...t.headers},t.apiKey),method:"POST",signal:t.abortSignal}).then(xo)};const ss="data:",a0=async t=>o0({...t,stream:!0}).then(async e=>{const n=new TextDecoder;let r,i;const o=async(d,p)=>{if(!d||!d.startsWith(ss))return;const f=d.slice(ss.length),h=f.startsWith(" ")?f.slice(1):f;if(h==="[DONE]")return p.terminate(),!0;if(h.startsWith("{")&&h.includes('"error":'))return p.error(new Error(`Error from server: ${h}`)),!0;const w=JSON.parse(h);p.enqueue(w),t.onChunk&&await t.onChunk(w),w.choices[0].finish_reason!==void 0&&(r=w.choices[0].finish_reason),w.usage!==void 0&&(i=w.usage)};let a="";const s=e.body.pipeThrough(new TransformStream({transform:async(d,p)=>{const f=n.decode(d,{stream:!0});a+=f;const h=a.split(` +`);a=h.pop()??"";for(const w of h)if(await o(w,p))break}})),[l,u]=s.tee(),c=u.pipeThrough(new TransformStream({transform:(d,p)=>p.enqueue(d.choices[0].delta.content)}));return{chunkStream:l,finishReason:r,textStream:c,usage:i}}),s0=Pr("llm",()=>{async function t(n,r,i,o){return await a0({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r,model:i,messages:o,streamOptions:{usage:!0}})}async function e(n,r){if(n==="")return[];try{return await i0({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r})}catch(i){if(String(i).includes("Failed to construct 'URL': Invalid URL"))return[];throw i}}return{models:e,stream:t}}),un=Pr("chat",()=>{const{stream:t}=s0(),{t:e}=Gn(),{openAiApiBaseURL:n,openAiApiKey:r,openAiModel:i}=Zt(Kn()),o=V([]),a=V([]),s=V([]),l=V([]),u=V([]),c=V([]),d=V([]);function p(m){o.value.push(m)}function f(m){a.value.push(m)}function h(m){s.value.push(m)}function w(m){l.value.push(m)}function v(m){u.value.push(m)}function y(m){c.value.push(m)}function A(m){d.value.push(m)}const T=V([Zy(e("prompt.prefix"),e("prompt.suffix"))]),E=V({role:"assistant",content:""});async function O(m,M){if(!m)return;for(const D of o.value)await D(m);const{baseUrl:b=n.value,apiKey:x=r.value,model:g=i.value}=M??{};E.value={role:"assistant",content:""},T.value.push({role:"user",content:m}),T.value.push(E.value);const _=T.value.slice(0,T.value.length-1);for(const D of a.value)await D(m);for(const D of s.value)await D(m);const R=await t(b,x,g.id,_);for(const D of l.value)await D(m);let z="";const F=r0({onLiteral:async D=>{for(const U of u.value)await U(D);E.value.content+=D},onSpecial:async D=>{for(const U of c.value)await U(D)}});for await(const D of Jc(R.textStream,async U=>U))z+=D,await F.consume(D);await F.end();for(const D of d.value)await D();console.debug("LLM output:",z)}return{messages:T,streamingMessage:E,send:O,onBeforeMessageComposed:p,onAfterMessageComposed:f,onBeforeSend:h,onAfterSend:w,onTokenLiteral:v,onTokenSpecial:y,onStreamEnd:A}}),l0={relative:""},u0={"h-full":"","w-full":""},c0={key:0,class:"animate-stripe",absolute:"",left:"1/2",bottom:"20%",z:"20","rounded-2xl":"",text:"pink-600","px-2":"","py-2":"",transform:"translate-x--1/2"},d0={bg:"pink-50","rounded-xl":"","px-10":"","py-6":""},f0=["innerHTML"],p0=xe({__name:"Stage",props:{paused:{type:Boolean,default:!1}},setup(t){const e=V(),n=V(""),{stageView:r,elevenLabsApiKey:i,elevenlabsVoiceEnglish:o,elevenlabsVoiceJapanese:a}=Zt(Kn()),{mouthOpenSize:s}=Zt(n0()),{audioContext:l,calculateVolume:u}=au(),{onBeforeMessageComposed:c,onBeforeSend:d,onTokenLiteral:p,onTokenSpecial:f,onStreamEnd:h,streamingMessage:w}=un(),{process:v}=Oo(),{locale:y}=Gn(),A=V(),T=V(!1),E=V(!1),O=Wr({handlers:[F=>new Promise(D=>{const U=l.createBufferSource();U.buffer=F.data.audioBuffer,U.connect(l.destination),U.connect(A.value),T.value=!0,U.start(0),U.onended=()=>{T.value=!1,D()}})]}),m=Wr({handlers:[async F=>{let D=yc.Camilla_KM;y.value==="jp"||y.value==="jp-JP"?D=a.value:D=o.value;const U=Date.now(),ee=lh({apiKey:i.value,baseURL:"https://unspeech.hyp3r.link/v1/"}),ne=await ah({...ee.speech("eleven_multilingual_v2",{voiceSettings:{stability:.4,similarityBoost:.5}}),input:F.data,voice:bc[D]}),ue=Date.now()-U;console.debug("TTS took",ue,"ms");const I=await l.decodeAudioData(ne);await O.add({audioBuffer:I,text:F.data})}]});m.on("add",F=>{console.debug("ttsQueue added",F)});const M=Gc(m),b=Wr({handlers:[async F=>{if(r.value==="3d"){const D=Wc[F.data];if(!D)return;await e.value.setExpression(D)}else r.value==="2d"&&(n.value=Xc[F.data])}]}),x=Kc(b);x.onHandlerEvent("emotion",F=>{console.debug("emotion detected",F)});const g=qc();g.onHandlerEvent("delay",F=>{console.debug("delay detected",F)});function _(){requestAnimationFrame(_),T.value&&(s.value=u(A.value,"linear"))}function R(){E.value||(_(),l.resume(),E.value=!0)}function z(){A.value||(A.value=l.createAnalyser())}return c(async()=>{z(),R()}),d(async()=>{n.value=zi}),p(async F=>{await M.add(F)}),f(async F=>{await g.add(F),await x.add(F)}),h(async()=>{await g.add(Yc)}),vt(()=>{var D,U,ee;E.value=!1;const F=window;(D=F.electron)==null||D.ipcRenderer.removeAllListeners("before-hide"),(U=F.electron)==null||U.ipcRenderer.removeAllListeners("after-show"),(ee=F.electron)==null||ee.ipcRenderer.removeAllListeners("before-quit")}),At(()=>{var D,U,ee;const F=window;(D=F.electron)==null||D.ipcRenderer.on("before-hide",()=>{n.value=Ws}),(U=F.electron)==null||U.ipcRenderer.on("after-show",()=>{n.value=Xs}),(ee=F.electron)==null||ee.ipcRenderer.on("before-quit",()=>{n.value=zi})}),(F,D)=>(W(),Z("div",l0,[P("div",u0,[B(r)==="2d"?(W(),Ge(ud,{key:0,motion:n.value,"onUpdate:motion":D[0]||(D[0]=U=>n.value=U),"mouth-open-size":B(s),model:"./assets/live2d/models/hiyori_pro_zh.zip","min-w":"50% {const o=xc(r,i);if(o||o===null)return o;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},i=>(Ec(r,i),i)]}function su(t,e,n){const r=n.originalEvent.target,i=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&r.addEventListener(t,e,{once:!0}),r.dispatchEvent(i)}function lu(t){return Rs()?(Cs(t),!0):!1}function h0(t){let e=!1,n;const r=Us(!0);return(...i)=>(e||(n=r.run(()=>t(...i)),e=!0),n)}function m0(t){let e=0,n,r;const i=()=>{e-=1,r&&e<=0&&(r.stop(),n=void 0,r=void 0)};return(...o)=>(e+=1,n||(r=Us(!0),n=r.run(()=>t(...o))),lu(i),n)}function Po(t){return typeof t=="function"?t():B(t)}const fn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const g0=t=>typeof t<"u",v0=Object.prototype.toString,y0=t=>v0.call(t)==="[object Object]",b0=()=>{},ls=x0();function x0(){var t,e;return fn&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function w0(t){return cn()}function k0(t,e){w0()&&$s(t,e)}function jr(t){var e;const n=Po(t);return(e=n==null?void 0:n.$el)!=null?e:n}const Lo=fn?window:void 0;function uu(...t){let e,n,r,i;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,i]=t,e=Lo):[e,n,r,i]=t,!e)return b0;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],a=()=>{o.forEach(c=>c()),o.length=0},s=(c,d,p,f)=>(c.addEventListener(d,p,f),()=>c.removeEventListener(d,p,f)),l=Te(()=>[jr(e),Po(i)],([c,d])=>{if(a(),!c)return;const p=y0(d)?{...d}:d;o.push(...n.flatMap(f=>r.map(h=>s(c,f,h,p))))},{immediate:!0,flush:"post"}),u=()=>{l(),a()};return lu(u),u}function T0(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function A0(...t){let e,n,r={};t.length===3?(e=t[0],n=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],r=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:i=Lo,eventName:o="keydown",passive:a=!1,dedupe:s=!1}=r,l=T0(e);return uu(i,o,u=>{u.repeat&&Po(s)||l(u)&&n(u)},a)}function _0(){const t=V(!1),e=cn();return e&&At(()=>{t.value=!0},e),t}function E0(t){return JSON.parse(JSON.stringify(t))}function M0(t,e,n,r={}){var i,o,a;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:p}=r,f=cn(),h=n||(f==null?void 0:f.emit)||((i=f==null?void 0:f.$emit)==null?void 0:i.bind(f))||((a=(o=f==null?void 0:f.proxy)==null?void 0:o.$emit)==null?void 0:a.bind(f==null?void 0:f.proxy));let w=u;w=w||`update:${e.toString()}`;const v=T=>s?typeof s=="function"?s(T):E0(T):T,y=()=>g0(t[e])?v(t[e]):d,A=T=>{p?p(T)&&h(w,T):h(w,T)};if(l){const T=y(),E=V(T);let O=!1;return Te(()=>t[e],m=>{O||(O=!0,E.value=v(m),xt(()=>O=!1))}),Te(E,m=>{!O&&(m!==t[e]||c)&&A(m)},{deep:c}),E}else return Ee({get(){return y()},set(T){A(T)}})}function Do(t){return t?t.flatMap(e=>e.type===sn?Do(e.children):[e]):[]}function Xt(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function Ti(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function ro(t,e,n=".",r){if(!Ti(e))return ro(t,{},n);const i=Object.assign({},e);for(const o in t){if(o==="__proto__"||o==="constructor")continue;const a=t[o];a!=null&&(Array.isArray(a)&&Array.isArray(i[o])?i[o]=[...a,...i[o]]:Ti(a)&&Ti(i[o])?i[o]=ro(a,i[o],(n?`${n}.`:"")+o.toString()):i[o]=a)}return i}function I0(t){return(...e)=>e.reduce((n,r)=>ro(n,r,""),{})}const S0=I0(),[cu,$x]=No("ConfigProvider");let R0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",C0=(t=21)=>{let e="",n=t;for(;n--;)e+=R0[Math.random()*64|0];return e};const O0=m0(()=>{const t=V(new Map),e=V(),n=Ee(()=>{for(const a of t.value.values())if(a)return!0;return!1}),r=cu({scrollBody:V(!0)});let i=null;const o=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.body.style.removeProperty("--scrollbar-width"),document.body.style.overflow=e.value??"",ls&&(i==null||i()),e.value=void 0};return Te(n,(a,s)=>{var l;if(!fn)return;if(!a){s&&o();return}e.value===void 0&&(e.value=document.body.style.overflow);const u=window.innerWidth-document.documentElement.clientWidth,c={padding:u,margin:0},d=(l=r.scrollBody)!=null&&l.value?typeof r.scrollBody.value=="object"?S0({padding:r.scrollBody.value.padding===!0?u:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?u:r.scrollBody.value.margin},c):c:{padding:0,margin:0};u>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.body.style.setProperty("--scrollbar-width",`${u}px`),document.body.style.overflow="hidden"),ls&&(i=uu(document,"touchmove",p=>P0(p),{passive:!1})),xt(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),t});function N0(t){const e=C0(6),n=O0();n.value.set(e,t);const r=Ee({get:()=>n.value.get(e)??!1,set:i=>n.value.set(e,i)});return k0(()=>{n.value.delete(e)}),r}function du(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.cancelable&&e.preventDefault(),!1)}function Bo(t){const e=cn(),n=e==null?void 0:e.type.emits,r={};return n!=null&&n.length||console.warn(`No emitted event found. Please check component: ${e==null?void 0:e.type.__name}`),n==null||n.forEach(i=>{r[Ac(_c(i))]=(...o)=>t(i,...o)}),r}function $t(){const t=cn(),e=V(),n=Ee(()=>{var a,s;return["#text","#comment"].includes((a=e.value)==null?void 0:a.$el.nodeName)?(s=e.value)==null?void 0:s.$el.nextElementSibling:jr(e)}),r=Object.assign({},t.exposed),i={};for(const a in t.props)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>t.props[a]});if(Object.keys(r).length>0)for(const a in r)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>r[a]});Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=i;function o(a){e.value=a,a&&(Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>a instanceof Element?a:a.$el}),t.exposed=i)}return{forwardRef:o,currentRef:e,currentElement:n}}var L0=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},bn=new WeakMap,cr=new WeakMap,dr={},Ai=0,fu=function(t){return t&&(t.host||fu(t.parentNode))},D0=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=fu(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},B0=function(t,e,n,r){var i=D0(e,Array.isArray(t)?t:[t]);dr[n]||(dr[n]=new WeakMap);var o=dr[n],a=[],s=new Set,l=new Set(i),u=function(d){!d||s.has(d)||(s.add(d),u(d.parentNode))};i.forEach(u);var c=function(d){!d||l.has(d)||Array.prototype.forEach.call(d.children,function(p){if(s.has(p))c(p);else try{var f=p.getAttribute(r),h=f!==null&&f!=="false",w=(bn.get(p)||0)+1,v=(o.get(p)||0)+1;bn.set(p,w),o.set(p,v),a.push(p),w===1&&h&&cr.set(p,!0),v===1&&p.setAttribute(n,"true"),h||p.setAttribute(r,"true")}catch(y){console.error("aria-hidden: cannot operate on ",p,y)}})};return c(e),s.clear(),Ai++,function(){a.forEach(function(d){var p=bn.get(d)-1,f=o.get(d)-1;bn.set(d,p),o.set(d,f),p||(cr.has(d)||d.removeAttribute(r),cr.delete(d)),f||d.removeAttribute(n)}),Ai--,Ai||(bn=new WeakMap,bn=new WeakMap,cr=new WeakMap,dr={})}},z0=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),i=L0(t);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),B0(r,i,n,"aria-hidden")):function(){return null}};function F0(t){let e;Te(()=>jr(t),n=>{n?e=z0(n):e&&e()}),vt(()=>{e&&e()})}let U0=0;function io(t,e="radix"){const n=cu({useId:void 0});return qo?`${e}-${qo()}`:n.useId?`${e}-${n.useId()}`:`${e}-${++U0}`}function $0(t,e){const n=V(t);function r(i){return e[n.value][i]??n.value}return{state:n,dispatch:i=>{n.value=r(i)}}}const j0=xe({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:e,slots:n}){return()=>{var r,i;if(!n.default)return null;const o=Do(n.default()),a=o.findIndex(c=>c.type!==kc);if(a===-1)return o;const s=o[a];(r=s.props)==null||delete r.ref;const l=s.props?zt(e,s.props):e;e.class&&(i=s.props)!=null&&i.class&&delete s.props.class;const u=Tc(s,l);for(const c in l)c.startsWith("on")&&(u.props||(u.props={}),u.props[c]=l[c]);return o.length===1?u:(o[a]=u,o)}}}),Vr=xe({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:e,slots:n}){const r=t.asChild?"template":t.as;return typeof r=="string"&&["area","img","input"].includes(r)?()=>vr(r,e):r!=="template"?()=>vr(t.as,e,{default:n.default}):()=>vr(j0,e,{default:n.default})}});function V0(t,e){var n;const r=V({}),i=V("none"),o=V(t),a=t.value?"mounted":"unmounted";let s;const l=((n=e.value)==null?void 0:n.ownerDocument.defaultView)??Lo,{state:u,dispatch:c}=$0(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=v=>{var y;if(fn){const A=new CustomEvent(v,{bubbles:!1,cancelable:!1});(y=e.value)==null||y.dispatchEvent(A)}};Te(t,async(v,y)=>{var A;const T=y!==v;if(await xt(),T){const E=i.value,O=fr(e.value);v?(c("MOUNT"),d("enter"),O==="none"&&d("after-enter")):O==="none"||((A=r.value)==null?void 0:A.display)==="none"?(c("UNMOUNT"),d("leave"),d("after-leave")):y&&E!==O?(c("ANIMATION_OUT"),d("leave")):(c("UNMOUNT"),d("after-leave"))}},{immediate:!0});const p=v=>{const y=fr(e.value),A=y.includes(v.animationName),T=u.value==="mounted"?"enter":"leave";if(v.target===e.value&&A&&(d(`after-${T}`),c("ANIMATION_END"),!o.value)){const E=e.value.style.animationFillMode;e.value.style.animationFillMode="forwards",s=l==null?void 0:l.setTimeout(()=>{var O;((O=e.value)==null?void 0:O.style.animationFillMode)==="forwards"&&(e.value.style.animationFillMode=E)})}v.target===e.value&&y==="none"&&c("ANIMATION_END")},f=v=>{v.target===e.value&&(i.value=fr(e.value))},h=Te(e,(v,y)=>{v?(r.value=getComputedStyle(v),v.addEventListener("animationstart",f),v.addEventListener("animationcancel",p),v.addEventListener("animationend",p)):(c("ANIMATION_END"),s!==void 0&&(l==null||l.clearTimeout(s)),y==null||y.removeEventListener("animationstart",f),y==null||y.removeEventListener("animationcancel",p),y==null||y.removeEventListener("animationend",p))},{immediate:!0}),w=Te(u,()=>{const v=fr(e.value);i.value=u.value==="mounted"?v:"none"});return vt(()=>{h(),w()}),{isPresent:Ee(()=>["mounted","unmountSuspended"].includes(u.value))}}function fr(t){return t&&getComputedStyle(t).animationName||"none"}const pu=xe({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:e,expose:n}){var r;const{present:i,forceMount:o}=In(t),a=V(),{isPresent:s}=V0(i,a);n({present:s});let l=e.default({present:s});l=Do(l||[]);const u=cn();if(l&&(l==null?void 0:l.length)>1){const c=(r=u==null?void 0:u.parent)!=null&&r.type.name?`<${u.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${c}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` +`)].join(` +`))}return()=>o.value||i.value||s.value?vr(e.default({present:s})[0],{ref:c=>{const d=jr(c);return typeof(d==null?void 0:d.hasAttribute)>"u"||(d!=null&&d.hasAttribute("data-radix-popper-content-wrapper")?a.value=d.firstElementChild:a.value=d),d}}):null}}),[pn,H0]=No("DialogRoot"),G0=xe({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:["update:open"],setup(t,{emit:e}){const n=t,r=M0(n,"open",e,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=V(),o=V(),{modal:a}=In(n);return H0({open:r,modal:a,openModal:()=>{r.value=!0},onOpenChange:s=>{r.value=s},onOpenToggle:()=>{r.value=!r.value},contentId:"",titleId:"",descriptionId:"",triggerElement:i,contentElement:o}),(s,l)=>je(s.$slots,"default",{open:B(r)})}}),hu=xe({__name:"DialogTrigger",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t,n=pn(),{forwardRef:r,currentElement:i}=$t();return n.contentId||(n.contentId=io(void 0,"radix-vue-dialog-content")),At(()=>{n.triggerElement.value=i.value}),(o,a)=>(W(),Ge(B(Vr),zt(e,{ref:B(r),type:o.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":B(n).open.value||!1,"aria-controls":B(n).open.value?B(n).contentId:void 0,"data-state":B(n).open.value?"open":"closed",onClick:B(n).onOpenToggle}),{default:ye(()=>[je(o.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),K0=xe({__name:"Teleport",props:{to:{default:"body"},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=_0();return(n,r)=>B(e)||n.forceMount?(W(),Ge(wc,{key:0,to:n.to,disabled:n.disabled},[je(n.$slots,"default")],8,["to","disabled"])):Ke("",!0)}}),mu=xe({__name:"DialogPortal",props:{to:{},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=t;return(n,r)=>(W(),Ge(B(K0),Ri(vs(e)),{default:ye(()=>[je(n.$slots,"default")]),_:3},16))}}),q0="dismissableLayer.pointerDownOutside",Y0="dismissableLayer.focusOutside";function gu(t,e){const n=e.closest("[data-dismissable-layer]"),r=t.dataset.dismissableLayer===""?t:t.querySelector("[data-dismissable-layer]"),i=Array.from(t.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&r===n||i.indexOf(r){});return Mt(a=>{if(!fn)return;const s=async u=>{const c=u.target;if(e!=null&&e.value){if(gu(e.value,c)){i.value=!1;return}if(u.target&&!i.value){let d=function(){su(q0,t,p)};const p={originalEvent:u};u.pointerType==="touch"?(r.removeEventListener("click",o.value),o.value=d,r.addEventListener("click",o.value,{once:!0})):d()}else r.removeEventListener("click",o.value);i.value=!1}},l=window.setTimeout(()=>{r.addEventListener("pointerdown",s)},0);a(()=>{window.clearTimeout(l),r.removeEventListener("pointerdown",s),r.removeEventListener("click",o.value)})}),{onPointerDownCapture:()=>i.value=!0}}function X0(t,e){var n;const r=((n=e==null?void 0:e.value)==null?void 0:n.ownerDocument)??(globalThis==null?void 0:globalThis.document),i=V(!1);return Mt(o=>{if(!fn)return;const a=async s=>{e!=null&&e.value&&(await xt(),!(!e.value||gu(e.value,s.target))&&s.target&&!i.value&&su(Y0,t,{originalEvent:s}))};r.addEventListener("focusin",a),o(()=>r.removeEventListener("focusin",a))}),{onFocusCapture:()=>i.value=!0,onBlurCapture:()=>i.value=!1}}const Pt=js({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Q0=xe({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(t,{emit:e}){const n=t,r=e,{forwardRef:i,currentElement:o}=$t(),a=Ee(()=>{var h;return((h=o.value)==null?void 0:h.ownerDocument)??globalThis.document}),s=Ee(()=>Pt.layersRoot),l=Ee(()=>o.value?Array.from(s.value).indexOf(o.value):-1),u=Ee(()=>Pt.layersWithOutsidePointerEventsDisabled.size>0),c=Ee(()=>{const h=Array.from(s.value),[w]=[...Pt.layersWithOutsidePointerEventsDisabled].slice(-1),v=h.indexOf(w);return l.value>=v}),d=W0(async h=>{const w=[...Pt.branches].some(v=>v==null?void 0:v.contains(h.target));!c.value||w||(r("pointerDownOutside",h),r("interactOutside",h),await xt(),h.defaultPrevented||r("dismiss"))},o),p=X0(h=>{[...Pt.branches].some(w=>w==null?void 0:w.contains(h.target))||(r("focusOutside",h),r("interactOutside",h),h.defaultPrevented||r("dismiss"))},o);A0("Escape",h=>{l.value===s.value.size-1&&(r("escapeKeyDown",h),h.defaultPrevented||r("dismiss"))});let f;return Mt(h=>{o.value&&(n.disableOutsidePointerEvents&&(Pt.layersWithOutsidePointerEventsDisabled.size===0&&(f=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),Pt.layersWithOutsidePointerEventsDisabled.add(o.value)),s.value.add(o.value),h(()=>{n.disableOutsidePointerEvents&&Pt.layersWithOutsidePointerEventsDisabled.size===1&&(a.value.body.style.pointerEvents=f)}))}),Mt(h=>{h(()=>{o.value&&(s.value.delete(o.value),Pt.layersWithOutsidePointerEventsDisabled.delete(o.value))})}),(h,w)=>(W(),Ge(B(Vr),{ref:B(i),"as-child":h.asChild,as:h.as,"data-dismissable-layer":"",style:Mr({pointerEvents:u.value?c.value?"auto":"none":void 0}),onFocusCapture:B(p).onFocusCapture,onBlurCapture:B(p).onBlurCapture,onPointerdownCapture:B(d).onPointerDownCapture},{default:ye(()=>[je(h.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),_i="focusScope.autoFocusOnMount",Ei="focusScope.autoFocusOnUnmount",us={bubbles:!1,cancelable:!0};function Z0(t,{select:e=!1}={}){const n=Xt();for(const r of t)if(qt(r,{select:e}),Xt()!==n)return!0}function J0(t){const e=vu(t),n=cs(e,t),r=cs(e.reverse(),t);return[n,r]}function vu(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function cs(t,e){for(const n of t)if(!eb(n,{upTo:e}))return n}function eb(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function tb(t){return t instanceof HTMLInputElement&&"select"in t}function qt(t,{select:e=!1}={}){if(t&&t.focus){const n=Xt();t.focus({preventScroll:!0}),t!==n&&tb(t)&&e&&t.select()}}const nb=h0(()=>V([]));function rb(){const t=nb();return{add(e){const n=t.value[0];e!==n&&(n==null||n.pause()),t.value=ds(t.value,e),t.value.unshift(e)},remove(e){var n;t.value=ds(t.value,e),(n=t.value[0])==null||n.resume()}}}function ds(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function ib(t){return t.filter(e=>e.tagName!=="A")}const ob=xe({__name:"FocusScope",props:{loop:{type:Boolean,default:!1},trapped:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["mountAutoFocus","unmountAutoFocus"],setup(t,{emit:e}){const n=t,r=e,{currentRef:i,currentElement:o}=$t(),a=V(null),s=rb(),l=js({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Mt(c=>{if(!fn)return;const d=o.value;if(!n.trapped)return;function p(v){if(l.paused||!d)return;const y=v.target;d.contains(y)?a.value=y:qt(a.value,{select:!0})}function f(v){if(l.paused||!d)return;const y=v.relatedTarget;y!==null&&(d.contains(y)||qt(a.value,{select:!0}))}function h(v){d.contains(a.value)||qt(d)}document.addEventListener("focusin",p),document.addEventListener("focusout",f);const w=new MutationObserver(h);d&&w.observe(d,{childList:!0,subtree:!0}),c(()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",f),w.disconnect()})}),Mt(async c=>{const d=o.value;if(await xt(),!d)return;s.add(l);const p=Xt();if(!d.contains(p)){const f=new CustomEvent(_i,us);d.addEventListener(_i,h=>r("mountAutoFocus",h)),d.dispatchEvent(f),f.defaultPrevented||(Z0(ib(vu(d)),{select:!0}),Xt()===p&&qt(d))}c(()=>{d.removeEventListener(_i,w=>r("mountAutoFocus",w));const f=new CustomEvent(Ei,us),h=w=>{r("unmountAutoFocus",w)};d.addEventListener(Ei,h),d.dispatchEvent(f),setTimeout(()=>{f.defaultPrevented||qt(p??document.body,{select:!0}),d.removeEventListener(Ei,h),s.remove(l)},0)})});function u(c){if(!n.loop&&!n.trapped||l.paused)return;const d=c.key==="Tab"&&!c.altKey&&!c.ctrlKey&&!c.metaKey,p=Xt();if(d&&p){const f=c.currentTarget,[h,w]=J0(f);h&&w?!c.shiftKey&&p===w?(c.preventDefault(),n.loop&&qt(h,{select:!0})):c.shiftKey&&p===h&&(c.preventDefault(),n.loop&&qt(w,{select:!0})):p===f&&c.preventDefault()}}return(c,d)=>(W(),Ge(B(Vr),{ref_key:"currentRef",ref:i,tabindex:"-1","as-child":c.asChild,as:c.as,onKeydown:u},{default:ye(()=>[je(c.$slots,"default")]),_:3},8,["as-child","as"]))}});function ab(t){return t?"open":"closed"}const yu=xe({__name:"DialogContentImpl",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,i=pn(),{forwardRef:o,currentElement:a}=$t();return i.titleId||(i.titleId=io(void 0,"radix-vue-dialog-title")),i.descriptionId||(i.descriptionId=io(void 0,"radix-vue-dialog-description")),At(()=>{i.contentElement=a,Xt()!==document.body&&(i.triggerElement.value=Xt())}),(s,l)=>(W(),Ge(B(ob),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:l[5]||(l[5]=u=>r("openAutoFocus",u)),onUnmountAutoFocus:l[6]||(l[6]=u=>r("closeAutoFocus",u))},{default:ye(()=>[he(B(Q0),zt({id:B(i).contentId,ref:B(o),as:s.as,"as-child":s.asChild,"disable-outside-pointer-events":s.disableOutsidePointerEvents,role:"dialog","aria-describedby":B(i).descriptionId,"aria-labelledby":B(i).titleId,"data-state":B(ab)(B(i).open.value)},s.$attrs,{onDismiss:l[0]||(l[0]=u=>B(i).onOpenChange(!1)),onEscapeKeyDown:l[1]||(l[1]=u=>r("escapeKeyDown",u)),onFocusOutside:l[2]||(l[2]=u=>r("focusOutside",u)),onInteractOutside:l[3]||(l[3]=u=>r("interactOutside",u)),onPointerDownOutside:l[4]||(l[4]=u=>r("pointerDownOutside",u))}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),sb=xe({__name:"DialogContentModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,i=pn(),o=Bo(r),{forwardRef:a,currentElement:s}=$t();return F0(s),(l,u)=>(W(),Ge(yu,zt({...n,...B(o)},{ref:B(a),"trap-focus":B(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:u[0]||(u[0]=c=>{var d;c.defaultPrevented||(c.preventDefault(),(d=B(i).triggerElement.value)==null||d.focus())}),onPointerDownOutside:u[1]||(u[1]=c=>{const d=c.detail.originalEvent,p=d.button===0&&d.ctrlKey===!0;(d.button===2||p)&&c.preventDefault()}),onFocusOutside:u[2]||(u[2]=c=>{c.preventDefault()})}),{default:ye(()=>[je(l.$slots,"default")]),_:3},16,["trap-focus"]))}}),lb=xe({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=Bo(e);$t();const i=pn(),o=V(!1),a=V(!1);return(s,l)=>(W(),Ge(yu,zt({...n,...B(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:l[0]||(l[0]=u=>{var c;u.defaultPrevented||(o.value||(c=B(i).triggerElement.value)==null||c.focus(),u.preventDefault()),o.value=!1,a.value=!1}),onInteractOutside:l[1]||(l[1]=u=>{var c;u.defaultPrevented||(o.value=!0,u.detail.originalEvent.type==="pointerdown"&&(a.value=!0));const d=u.target;(c=B(i).triggerElement.value)!=null&&c.contains(d)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&a.value&&u.preventDefault()})}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16))}}),ub=xe({__name:"DialogContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,i=pn(),o=Bo(r),{forwardRef:a}=$t();return(s,l)=>(W(),Ge(B(pu),{present:s.forceMount||B(i).open.value},{default:ye(()=>[B(i).modal.value?(W(),Ge(sb,zt({key:0,ref:B(a)},{...n,...B(o),...s.$attrs}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16)):(W(),Ge(lb,zt({key:1,ref:B(a)},{...n,...B(o),...s.$attrs}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),cb=xe({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean},as:{}},setup(t){const e=pn();return N0(!0),$t(),(n,r)=>(W(),Ge(B(Vr),{as:n.as,"as-child":n.asChild,"data-state":B(e).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:ye(()=>[je(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),db=xe({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){const e=pn(),{forwardRef:n}=$t();return(r,i)=>{var o;return(o=B(e))!=null&&o.modal.value?(W(),Ge(B(pu),{key:0,present:r.forceMount||B(e).open.value},{default:ye(()=>[he(cb,zt(r.$attrs,{ref:B(n),as:r.as,"as-child":r.asChild}),{default:ye(()=>[je(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):Ke("",!0)}}});function fb(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}fb();(function(){try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('[vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1)}[vaul-drawer][vaul-drawer-direction=bottom]{transform:translate3d(0,100%,0)}[vaul-drawer][vaul-drawer-direction=top]{transform:translate3d(0,-100%,0)}[vaul-drawer][vaul-drawer-direction=left]{transform:translate3d(-100%,0,0)}[vaul-drawer][vaul-drawer-direction=right]{transform:translate3d(100%,0,0)}.vaul-dragging .vaul-scrollable [vault-drawer-direction=top],.vaul-dragging .vaul-scrollable [vault-drawer-direction=bottom]{overflow-y:hidden!important}.vaul-dragging .vaul-scrollable [vault-drawer-direction=left],.vaul-dragging .vaul-scrollable [vault-drawer-direction=right]{overflow-x:hidden!important}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=top],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=left],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[vaul-overlay]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[vaul-overlay][vaul-drawer-visible=true]{opacity:1}[vaul-drawer]:after{content:"";position:absolute;background:inherit;background-color:inherit}[vaul-drawer][vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[vaul-drawer][vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[vaul-overlay][vaul-snap-points=true]:not([vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[vaul-overlay][vaul-snap-points-overlay=true]:not([vaul-drawer-visible=false]){opacity:1}@keyframes fake-animation{}@media (hover: hover) and (pointer: fine){[vaul-drawer]{-webkit-user-select:none;user-select:none}}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();const pb=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const hb=t=>typeof t<"u";function mb(t){return JSON.parse(JSON.stringify(t))}function fs(t,e,n,r={}){var i,o,a;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:p}=r,f=cn(),h=n||(f==null?void 0:f.emit)||((i=f==null?void 0:f.$emit)==null?void 0:i.bind(f))||((a=(o=f==null?void 0:f.proxy)==null?void 0:o.$emit)==null?void 0:a.bind(f==null?void 0:f.proxy));let w=u;e||(e="modelValue"),w=w||`update:${e.toString()}`;const v=T=>s?typeof s=="function"?s(T):mb(T):T,y=()=>hb(t[e])?v(t[e]):d,A=T=>{p?p(T)&&h(w,T):h(w,T)};if(l){const T=y(),E=V(T);let O=!1;return Te(()=>t[e],m=>{O||(O=!0,E.value=v(m),xt(()=>O=!1))}),Te(E,m=>{!O&&(m!==t[e]||c)&&A(m)},{deep:c}),E}else return Ee({get(){return y()},set(T){A(T)}})}const[bu,gb]=No("DrawerRoot"),xu=new WeakMap;function $e(t,e,n=!1){if(!t||!(t instanceof HTMLElement)||!e)return;const r={};Object.entries(e).forEach(([i,o])=>{if(i.startsWith("--")){t.style.setProperty(i,o);return}r[i]=t.style[i],t.style[i]=o}),!n&&xu.set(t,r)}function pr(t,e){if(!t||!(t instanceof HTMLElement))return;const n=xu.get(t);n&&(e?t.style[e]=n[e]:Object.entries(n).forEach(([r,i])=>{t.style[r]=i}))}function hr(t,e){const n=window.getComputedStyle(t),r=n.transform||n.webkitTransform||n.mozTransform;let i=r.match(/^matrix3d\((.+)\)$/);return i?Number.parseFloat(i[1].split(", ")[We(e)?13:12]):(i=r.match(/^matrix\((.+)\)$/),i?Number.parseFloat(i[1].split(", ")[We(e)?5:4]):null)}function vb(t){return 8*(Math.log(t+1)-2)}function We(t){switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}}const Le={DURATION:.5,EASE:[.32,.72,0,1]},wu=.4;function yb({activeSnapPoint:t,snapPoints:e,drawerRef:n,overlayRef:r,fadeFromIndex:i,onSnapPointChange:o,direction:a}){const s=V(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);function l(){s.value={innerWidth:window.innerWidth,innerHeight:window.innerHeight}}At(()=>{typeof window<"u"&&window.addEventListener("resize",l)}),$s(()=>{typeof window<"u"&&window.removeEventListener("resize",l)});const u=Ee(()=>(e.value&&t.value===e.value[e.value.length-1])??null),c=Ee(()=>e.value&&e.value.length>0&&((i==null?void 0:i.value)||(i==null?void 0:i.value)===0)&&!Number.isNaN(i==null?void 0:i.value)&&e.value[(i==null?void 0:i.value)??-1]===t.value||!e.value),d=Ee(()=>{var A;return((A=e.value)==null?void 0:A.findIndex(T=>T===t.value))??null}),p=Ee(()=>{var A;return((A=e.value)==null?void 0:A.map(T=>{const E=typeof T=="string";let O=0;if(E&&(O=Number.parseInt(T,10)),We(a.value)){const M=E?O:s.value?T*s.value.innerHeight:0;return s.value?a.value==="bottom"?s.value.innerHeight-M:-s.value.innerHeight+M:M}const m=E?O:s.value?T*s.value.innerWidth:0;return s.value?a.value==="right"?s.value.innerWidth-m:-s.value.innerWidth+m:m}))??[]}),f=Ee(()=>{var A;return d.value!==null?(A=p.value)==null?void 0:A[d.value]:null}),h=A=>{var T,E,O,m;const M=((T=p.value)==null?void 0:T.findIndex(b=>b===A))??null;xt(()=>{var b;o(M,p.value),$e((b=n.value)==null?void 0:b.$el,{transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,transform:We(a.value)?`translate3d(0, ${A}px, 0)`:`translate3d(${A}px, 0, 0)`})}),p.value&&M!==p.value.length-1&&M!==(i==null?void 0:i.value)?$e((E=r.value)==null?void 0:E.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,opacity:"0"}):$e((O=r.value)==null?void 0:O.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,opacity:"1"}),t.value=M!==null?((m=e.value)==null?void 0:m[M])??null:null};Te([t,p,e],()=>{var A;if(t.value){const T=((A=e.value)==null?void 0:A.findIndex(E=>E===t.value))??-1;p.value&&T!==-1&&typeof p.value[T]=="number"&&h(p.value[T])}},{immediate:!0});function w({draggedDistance:A,closeDrawer:T,velocity:E,dismissible:O}){var m,M,b;if(i.value===void 0)return;const x=a.value==="bottom"||a.value==="right"?(f.value??0)-A:(f.value??0)+A,g=d.value===i.value-1,_=d.value===0,R=A>0;if(g&&$e((m=r.value)==null?void 0:m.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),E>2&&!R){O?T():h(p.value[0]);return}if(E>2&&R&&p&&e.value){h(p.value[e.value.length-1]);return}const z=(M=p.value)==null?void 0:M.reduce((D,U)=>typeof D!="number"||typeof U!="number"?D:Math.abs(U-x)wu&&Math.abs(A)0&&u){h(p.value[(((b=e.value)==null?void 0:b.length)??0)-1]);return}if(_&&D<0&&O&&T(),d.value===null)return;h(p.value[d.value+D]);return}h(z)}function v({draggedDistance:A}){var T;if(f.value===null)return;const E=a.value==="bottom"||a.value==="right"?f.value-A:f.value+A;(a.value==="bottom"||a.value==="right")&&Ep.value[p.value.length-1]||$e((T=n.value)==null?void 0:T.$el,{transform:We(a.value)?`translate3d(0, ${E}px, 0)`:`translate3d(${E}px, 0, 0)`})}function y(A,T){if(!e.value||typeof d.value!="number"||!p.value||i.value===void 0)return null;const E=d.value===i.value-1;if(d.value>=i.value&&T)return 0;if(E&&!T)return 1;if(!c.value&&!E)return null;const O=E?d.value+1:d.value-1,m=E?p.value[O]-p.value[O-1]:p.value[O+1]-p.value[O],M=A/Math.abs(m);return E?1-M:M}return{isLastSnapPoint:u,shouldFade:c,getPercentageDragged:y,activeSnapPointIndex:d,onRelease:w,onDrag:v,snapPointsOffset:p}}let Bn=null;function bb(t){const{isOpen:e,modal:n,nested:r,hasBeenOpened:i}=t,o=V(typeof window<"u"?window.location.href:""),a=V(0);function s(){if(Bn===null&&e.value){Bn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height};const{scrollX:u,innerHeight:c}=window;document.body.style.position="fixed",document.body.style.top=`-${a.value}px`,document.body.style.left=`-${u}px`,document.body.style.right="0px",document.body.style.height="auto",setTimeout(()=>{requestAnimationFrame(()=>{const d=c-window.innerHeight;d&&a.value>=c&&(document.body.style.top=`-${a.value+d}px`)})},300)}}function l(){if(Bn!==null){const u=-Number.parseInt(document.body.style.top,10),c=-Number.parseInt(document.body.style.left,10);Object.assign(document.body.style,Bn),requestAnimationFrame(()=>{if(o.value!==window.location.href){o.value=window.location.href;return}window.scrollTo(c,u)}),Bn=null}}return At(()=>{function u(){a.value=window.scrollY}u(),window.addEventListener("scroll",u),vt(()=>{window.removeEventListener("scroll",u)})}),Te([e,i,o],()=>{r.value||!i.value||(e.value?(!window.matchMedia("(display-mode: standalone)").matches&&s(),n.value||setTimeout(()=>{l()},500)):l())}),{restorePositionSetting:l}}const xb=.25,wb=100,ps=8,mr=16,kb=26,hs="vaul-dragging";function Tb(t,e){return t&&t.value?t:e}function Ab(t){const{emitDrag:e,emitRelease:n,emitClose:r,emitOpenChange:i,open:o,dismissible:a,nested:s,modal:l,shouldScaleBackground:u,scrollLockTimeout:c,closeThreshold:d,activeSnapPoint:p,fadeFromIndex:f,direction:h}=t,w=V(o.value??!1),v=V(!1),y=V(!1),A=V(!1),T=V(!1),E=V(null),O=V(null),m=V(null),M=V(null),b=V(null),x=V(!0),g=V(null),_=V(0),R=V(!1);V(0);const z=V(null);V(0);const F=Ee(()=>{var G;return((G=z.value)==null?void 0:G.$el.getBoundingClientRect().height)||0}),D=Tb(t.snapPoints,V(void 0)),{activeSnapPointIndex:U,onRelease:ee,snapPointsOffset:ne,onDrag:ue,shouldFade:I,getPercentageDragged:we}=yb({snapPoints:D,activeSnapPoint:p,drawerRef:z,fadeFromIndex:f,overlayRef:E,onSnapPointChange:Ve,direction:h});function Ve(G,te){D.value&&G===te.length-1&&(O.value=new Date)}const{restorePositionSetting:C}=bb({isOpen:w,modal:l,nested:s,hasBeenOpened:v});function be(){return(window.innerWidth-kb)/window.innerWidth}function Se(G,te){var ae;if(!G)return!1;let J=G;const se=(ae=window.getSelection())==null?void 0:ae.toString(),ge=z.value?hr(z.value.$el,h.value):null,me=new Date;if(J.hasAttribute("data-vaul-no-drag")||J.closest("[data-vaul-no-drag]"))return!1;if(h.value==="right"||h.value==="left")return!0;if(O.value&&me.getTime()-O.value.getTime()<500)return!1;if(ge!==null&&(h.value==="bottom"?ge>0:ge<0))return!0;if(se&&se.length>0)return!1;if(b.value&&me.getTime()-b.value.getTime()J.clientHeight){if(J.scrollTop!==0)return b.value=new Date,!1;if(J.getAttribute("role")==="dialog")return!0}J=J.parentNode}return!0}function Me(G){!a.value&&!D.value||z.value&&!z.value.$el.contains(G.target)||(A.value=!0,m.value=new Date,G.target.setPointerCapture(G.pointerId),_.value=We(h.value)?G.clientY:G.clientX)}function qe(G){var te,ae,J,se,ge,me;if(z.value&&A.value){const Ie=h.value==="bottom"||h.value==="right"?1:-1,Qe=(_.value-(We(h.value)?G.clientY:G.clientX))*Ie,Je=Qe>0,jt=D.value&&!a.value&&!Je;if(jt&&U.value===0)return;const j=Math.abs(Qe),Q=document.querySelector("[vaul-drawer-wrapper]");let re=j/F.value;const ce=we(j,Je);if(ce!==null&&(re=ce),jt&&re>=1||!x.value&&!Se(G.target,Je))return;if((te=z==null?void 0:z.value)==null||te.$el.classList.add(hs),x.value=!0,$e((ae=z.value)==null?void 0:ae.$el,{transition:"none"}),$e((J=E.value)==null?void 0:J.$el,{transition:"none"}),D.value&&ue({draggedDistance:Qe}),Je&&!D.value){const He=vb(Qe),rt=Math.min(He*-1,0)*Ie;$e((se=z.value)==null?void 0:se.$el,{transform:We(h.value)?`translate3d(0, ${rt}px, 0)`:`translate3d(${rt}px, 0, 0)`});return}const Ae=1-re;if((I.value||f.value&&U.value===f.value-1)&&(e(re),$e((ge=E.value)==null?void 0:ge.$el,{opacity:`${Ae}`,transition:"none"},!0)),Q&&E.value&&u.value){const He=Math.min(be()+re*(1-be()),1),rt=8-re*8,it=Math.max(0,14-re*14);$e(Q,{borderRadius:`${rt}px`,transform:We(h.value)?`scale(${He}) translate3d(0, ${it}px, 0)`:`scale(${He}) translate3d(${it}px, 0, 0)`,transition:"none"},!0)}if(!D.value){const He=j*Ie;$e((me=z.value)==null?void 0:me.$el,{transform:We(h.value)?`translate3d(0, ${He}px, 0)`:`translate3d(${He}px, 0, 0)`})}}}function K(){var G;if(!z.value)return;const te=document.querySelector("[vaul-drawer-wrapper]"),ae=hr(z.value.$el,h.value);$e(z.value.$el,{transform:"translate3d(0, 0, 0)",transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),$e((G=E.value)==null?void 0:G.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,opacity:"1"}),u.value&&ae&&ae>0&&w.value&&$e(te,{borderRadius:`${ps}px`,overflow:"hidden",...We(h.value)?{transform:`scale(${be()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${be()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Le.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Le.EASE.join(",")})`},!0)}function k(){var G;z.value&&(r(),$e(z.value.$el,{transform:We(h.value)?`translate3d(0, ${h.value==="bottom"?"100%":"-100%"}, 0)`:`translate3d(${h.value==="right"?"100%":"-100%"}, 0, 0)`,transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),$e((G=E.value)==null?void 0:G.$el,{opacity:"0",transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),N(!1),window.setTimeout(()=>{y.value=!1,w.value=!1},300),window.setTimeout(()=>{D.value&&(p.value=D.value[0])},Le.DURATION*1e3))}Mt(()=>{if(!w.value&&u.value&&pb){const G=setTimeout(()=>{pr(document.body)},200);return()=>clearTimeout(G)}}),vt(()=>{N(!1),C()});function S(G){if(!A.value||!z.value)return;z.value.$el.classList.remove(hs),x.value=!1,A.value=!1,M.value=new Date;const te=hr(z.value.$el,h.value);if(!Se(G.target,!1)||!te||Number.isNaN(te)||m.value===null)return;const ae=M.value.getTime()-m.value.getTime(),J=_.value-(We(h.value)?G.clientY:G.clientX),se=Math.abs(J)/ae;if(se>.05&&(T.value=!0,window.setTimeout(()=>{T.value=!1},200)),D.value){const me=h.value==="bottom"||h.value==="right"?1:-1;ee({draggedDistance:J*me,closeDrawer:k,velocity:se,dismissible:a.value}),n(!0);return}if(h.value==="bottom"||h.value==="right"?J>0:J<0){K(),n(!0);return}if(se>wu){k(),n(!1);return}const ge=Math.min(z.value.$el.getBoundingClientRect().height??0,window.innerHeight);if(te>=ge*d.value){k(),n(!1);return}n(!0),K()}Te(w,G=>{G&&(O.value=new Date,N(!0)),i(G)},{immediate:!0}),Te(o,G=>{G?(w.value=G,v.value=!0):k()},{immediate:!0});function N(G){const te=document.querySelector("[vaul-drawer-wrapper]");!te||!u.value||(G?($e(document.body,{background:document.body.style.backgroundColor||document.body.style.background}),$e(document.body,{background:"black"},!0),$e(te,{borderRadius:`${ps}px`,overflow:"hidden",...We(h.value)?{transform:`scale(${be()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${be()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Le.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Le.EASE.join(",")})`})):(pr(te,"overflow"),pr(te,"transform"),pr(te,"borderRadius"),$e(te,{transitionProperty:"transform, border-radius",transitionDuration:`${Le.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Le.EASE.join(",")})`})))}function H(G){var te,ae;const J=G?(window.innerWidth-mr)/window.innerWidth:1,se=G?-16:0;g.value&&window.clearTimeout(g.value),$e((te=z.value)==null?void 0:te.$el,{transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,transform:`scale(${J}) translate3d(0, ${se}px, 0)`}),!G&&(ae=z.value)!=null&&ae.$el&&(g.value=window.setTimeout(()=>{var ge,me;const Ie=hr((ge=z.value)==null?void 0:ge.$el,h.value);$e((me=z.value)==null?void 0:me.$el,{transition:"none",transform:We(h.value)?`translate3d(0, ${Ie}px, 0)`:`translate3d(${Ie}px, 0, 0)`})},500))}function $(G){var te;if(G<0)return;const ae=We(h.value)?window.innerHeight:window.innerWidth,J=(ae-mr)/ae,se=J+G*(1-J),ge=-16+G*mr;$e((te=z.value)==null?void 0:te.$el,{transform:We(h.value)?`scale(${se}) translate3d(0, ${ge}px, 0)`:`scale(${se}) translate3d(${ge}px, 0, 0)`,transition:"none"})}function Y(G){var te;const ae=We(h.value)?window.innerHeight:window.innerWidth,J=G?(ae-mr)/ae:1,se=G?-16:0;G&&$e((te=z.value)==null?void 0:te.$el,{transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,transform:We(h.value)?`scale(${J}) translate3d(0, ${se}px, 0)`:`scale(${J}) translate3d(${se}px, 0, 0)`})}return{open:o,isOpen:w,modal:l,keyboardIsOpen:R,hasBeenOpened:v,isVisible:y,drawerRef:z,drawerHeightRef:F,overlayRef:E,isDragging:A,dragStartTime:m,isAllowedToDrag:x,snapPoints:D,activeSnapPoint:p,pointerStart:_,dismissible:a,snapPointsOffset:ne,direction:h,shouldFade:I,fadeFromIndex:f,shouldScaleBackground:u,onPress:Me,onDrag:qe,onRelease:S,closeDrawer:k,onNestedDrag:$,onNestedRelease:Y,onNestedOpenChange:H,emitClose:r,emitDrag:e,emitRelease:n,emitOpenChange:i,nested:s}}const ku=xe({__name:"DrawerRoot",props:{activeSnapPoint:{default:void 0},closeThreshold:{default:xb},shouldScaleBackground:{type:Boolean,default:void 0},scrollLockTimeout:{default:wb},fixed:{type:Boolean,default:void 0},dismissible:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},nested:{type:Boolean,default:!1},direction:{default:"bottom"},snapPoints:{default:void 0},fadeFromIndex:{default:void 0}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(t,{expose:e,emit:n}){const r=t,i=n;Is();const o=Ee(()=>r.fadeFromIndex??(r.snapPoints&&r.snapPoints.length-1)),a=fs(r,"open",i,{defaultValue:r.defaultOpen,passive:r.open===void 0}),s=fs(r,"activeSnapPoint",i,{passive:r.activeSnapPoint===void 0}),l={emitDrag:h=>i("drag",h),emitRelease:h=>i("release",h),emitClose:()=>i("close"),emitOpenChange:h=>{i("update:open",h),setTimeout(()=>{i("animationEnd",h)},Le.DURATION*1e3)}},{closeDrawer:u,hasBeenOpened:c,modal:d,isOpen:p}=gb(Ab({...l,...In(r),activeSnapPoint:s,fadeFromIndex:o,open:a}));function f(h){if(a.value!==void 0){l.emitOpenChange(h);return}h?(c.value=!0,p.value=h):u()}return e({open:p}),(h,w)=>(W(),Ge(B(G0),{open:B(p),modal:B(d),"onUpdate:open":f},{default:ye(()=>[je(h.$slots,"default",{open:B(p)})]),_:3},8,["open","modal"]))}}),Tu=xe({__name:"DrawerOverlay",setup(t){const{overlayRef:e,snapPoints:n,isVisible:r,isOpen:i,shouldFade:o}=bu(),a=Ee(()=>{var s;return n&&(((s=n.value)==null?void 0:s.length)??0)>0});return(s,l)=>(W(),Ge(B(db),{ref_key:"overlayRef",ref:e,"vaul-drawer-visible":B(r)?"true":"false","vaul-overlay":"","vaul-snap-points":B(i)&&a.value?"true":"false","vaul-snap-points-overlay":B(i)&&B(o)?"true":"false"},null,8,["vaul-drawer-visible","vaul-snap-points","vaul-snap-points-overlay"]))}}),Au=xe({__name:"DrawerContent",setup(t){const{open:e,isOpen:n,isVisible:r,snapPointsOffset:i,drawerRef:o,onPress:a,onDrag:s,onRelease:l,modal:u,emitOpenChange:c,dismissible:d,keyboardIsOpen:p,closeDrawer:f,direction:h}=bu(),w=Ee(()=>i.value&&i.value.length>0?`${i.value[0]}px`:"0");function v(y){if(!u.value||y.defaultPrevented){y.preventDefault();return}p.value&&(p.value=!1),y.preventDefault(),d.value&&c(!1),!(!d.value||e.value!==void 0)&&f()}return Te(n,y=>{y&&setTimeout(()=>{r.value=!0},1)},{immediate:!0}),(y,A)=>(W(),Ge(B(ub),{ref_key:"drawerRef",ref:o,"vaul-drawer":"","vaul-drawer-direction":B(h),"vaul-drawer-visible":B(r)?"true":"false",style:Mr({"--snap-point-height":w.value}),onPointerdown:B(a),onPointermove:B(s),onPointerup:B(l),onPointerDownOutside:v,onEscapeKeyDown:A[0]||(A[0]=T=>{B(d)||T.preventDefault()})},{default:ye(()=>[je(y.$slots,"default")]),_:3},8,["vaul-drawer-direction","vaul-drawer-visible","style","onPointerdown","onPointermove","onPointerup"]))}});var Lt;function _b(t){return{lang:(t==null?void 0:t.lang)??(Lt==null?void 0:Lt.lang),message:t==null?void 0:t.message,abortEarly:(t==null?void 0:t.abortEarly)??(Lt==null?void 0:Lt.abortEarly),abortPipeEarly:(t==null?void 0:t.abortPipeEarly)??(Lt==null?void 0:Lt.abortPipeEarly)}}var Mi;function Eb(t){return Mi==null?void 0:Mi.get(t)}var Ii;function Mb(t){return Ii==null?void 0:Ii.get(t)}var Si;function Ib(t,e){var n;return(n=Si==null?void 0:Si.get(t))==null?void 0:n.get(e)}function Sb(t){var n,r;const e=typeof t;return e==="string"?`"${t}"`:e==="number"||e==="bigint"||e==="boolean"?`${t}`:e==="object"||e==="function"?(t&&((r=(n=Object.getPrototypeOf(t))==null?void 0:n.constructor)==null?void 0:r.name))??"null":e}function zo(t,e,n,r,i){const o=n.value,a=t.expects??null,s=Sb(o),l={kind:t.kind,type:t.type,input:o,expected:a,received:s,message:`Invalid ${e}: ${a?`Expected ${a} but r`:"R"}eceived ${s}`,requirement:t.requirement,path:i==null?void 0:i.path,issues:i==null?void 0:i.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=t.kind==="schema",c=t.message??Ib(t.reference,l.lang)??(u?Mb(l.lang):null)??r.message??Eb(l.lang);c&&(l.message=typeof c=="function"?c(l):c),u&&(n.typed=!1),n.issues?n.issues.push(l):n.issues=[l]}function Qn(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},_b())}}}function Rb(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}function Ne(t){return{kind:"metadata",type:"description",reference:Ne,description:t}}function Pe(t){return{kind:"metadata",type:"title",reference:Pe,title:t}}function oo(t,e,n){return typeof t.default=="function"?t.default(e,n):t.default}function lt(t,e){return{kind:"schema",type:"object",reference:lt,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return Qn(this)},"~run"(n,r){var o;const i=n.value;if(i&&typeof i=="object"){n.typed=!0,n.value={};for(const a in this.entries){const s=i[a],l=this.entries[a]["~run"]({value:s},r);if(l.issues){const u={type:"object",origin:"value",input:i,key:a,value:s};for(const c of l.issues)c.path?c.path.unshift(u):c.path=[u],(o=n.issues)==null||o.push(c);if(n.issues||(n.issues=l.issues),r.abortEarly){n.typed=!1;break}}l.typed||(n.typed=!1),(l.value!==void 0||a in i)&&(n.value[a]=l.value)}}else zo(this,"type",n,r);return n}}}function et(t,e){return{kind:"schema",type:"optional",reference:et,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return Qn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=oo(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function ao(t,e,n){return{kind:"schema",type:"record",reference:ao,expects:"Object",async:!1,key:t,value:e,message:n,get"~standard"(){return Qn(this)},"~run"(r,i){var a,s;const o=r.value;if(o&&typeof o=="object"){r.typed=!0,r.value={};for(const l in o)if(Rb(o,l)){const u=o[l],c=this.key["~run"]({value:l},i);if(c.issues){const p={type:"object",origin:"key",input:o,key:l,value:u};for(const f of c.issues)f.path=[p],(a=r.issues)==null||a.push(f);if(r.issues||(r.issues=c.issues),i.abortEarly){r.typed=!1;break}}const d=this.value["~run"]({value:u},i);if(d.issues){const p={type:"object",origin:"value",input:o,key:l,value:u};for(const f of d.issues)f.path?f.path.unshift(p):f.path=[p],(s=r.issues)==null||s.push(f);if(r.issues||(r.issues=d.issues),i.abortEarly){r.typed=!1;break}}(!c.typed||!d.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=d.value)}}else zo(this,"type",r,i);return r}}}function Oe(t){return{kind:"schema",type:"string",reference:Oe,expects:"string",async:!1,message:t,get"~standard"(){return Qn(this)},"~run"(e,n){return typeof e.value=="string"?e.typed=!0:zo(this,"type",e,n),e}}}function Be(...t){return{...t[0],pipe:t,get"~standard"(){return Qn(this)},"~run"(e,n){for(const r of t)if(r.kind!=="metadata"){if(e.issues&&(r.kind==="schema"||r.kind==="transformation")){e.typed=!1;break}(!e.issues||!n.abortEarly&&!n.abortPipeEarly)&&(e=r["~run"](e,n))}return e}}}function nt(t,e){switch(e==null?void 0:e.errorMode){case"ignore":break;case"warn":{console.warn(t);break}default:throw new Error(t)}}function Cb(t,e,n){switch(e.type){case"base64":{t.contentEncoding="base64";break}case"bic":case"cuid2":case"decimal":case"digits":case"emoji":case"hexadecimal":case"hex_color":case"nanoid":case"octal":case"ulid":{t.pattern=e.requirement.source;break}case"description":{t.description=e.description;break}case"email":{t.format="email";break}case"empty":{t.type==="array"?t.maxItems=0:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.maxLength=0);break}case"integer":{t.type="integer";break}case"ipv4":{t.format="ipv4";break}case"ipv6":{t.format="ipv6";break}case"iso_date":{t.format="date";break}case"iso_date_time":case"iso_timestamp":{t.format="date-time";break}case"iso_time":{t.format="time";break}case"length":{t.type==="array"?(t.minItems=e.requirement,t.maxItems=e.requirement):(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.minLength=e.requirement,t.maxLength=e.requirement);break}case"max_length":{t.type==="array"?t.maxItems=e.requirement:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.maxLength=e.requirement);break}case"max_value":{t.type!=="number"&&nt(`The "max_value" action is not supported on type "${t.type}".`,n),t.maximum=e.requirement;break}case"min_length":{t.type==="array"?t.minItems=e.requirement:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.minLength=e.requirement);break}case"min_value":{t.type!=="number"&&nt(`The "min_value" action is not supported on type "${t.type}".`,n),t.minimum=e.requirement;break}case"multiple_of":{t.multipleOf=e.requirement;break}case"non_empty":{t.type==="array"?t.minItems=1:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.minLength=1);break}case"regex":{e.requirement.flags&&nt("RegExp flags are not supported by JSON Schema.",n),t.pattern=e.requirement.source;break}case"title":{t.title=e.title;break}case"url":{t.format="uri";break}case"uuid":{t.format="uuid";break}case"value":{t.const=e.requirement;break}default:nt(`The "${e.type}" action cannot be converted to JSON Schema.`,n)}return t}var Ob=0;function ht(t,e,n,r){const i=r.referenceMap.get(e);if(i&&i in r.definitions)return t.$ref=`#/$defs/${i}`,t;if("pipe"in e){for(let o=0;o0&&nt('A "pipe" with multiple schemas cannot be converted to JSON Schema.',n);const s=ht({},a,n,r);if(s.$ref){const l=s.$ref.split("/")[2];Object.assign(t,r.definitions[l])}else Object.assign(t,s)}else t=Cb(t,a,n)}return t}switch(e.type){case"boolean":{t.type="boolean";break}case"null":{t.type="null";break}case"number":{t.type="number";break}case"string":{t.type="string";break}case"array":{t.type="array",t.items=ht({},e.item,n,r);break}case"tuple":case"tuple_with_rest":case"loose_tuple":case"strict_tuple":{t.type="array",t.items=[];for(const o of e.items)t.items.push(ht({},o,n,r));e.type==="tuple_with_rest"?t.additionalItems=ht({},e.rest,n,r):t.additionalItems=e.type==="loose_tuple";break}case"object":case"object_with_rest":case"loose_object":case"strict_object":{t.type="object",t.properties={},t.required=[];for(const o in e.entries){const a=e.entries[o];t.properties[o]=ht({},a,n,r),a.type!=="nullish"&&a.type!=="optional"&&t.required.push(o)}e.type==="object_with_rest"?t.additionalProperties=ht({},e.rest,n,r):e.type==="strict_object"&&(t.additionalProperties=!1);break}case"record":{"pipe"in e.key&&nt('The "record" schema with a schema for the key that contains a "pipe" cannot be converted to JSON Schema.',n),e.key.type!=="string"&&nt(`The "record" schema with the "${e.key.type}" schema for the key cannot be converted to JSON Schema.`,n),t.type="object",t.additionalProperties=ht({},e.value,n,r);break}case"any":case"unknown":break;case"nullable":case"nullish":{t.anyOf=[ht({},e.wrapped,n,r),{type:"null"}],e.default!==void 0&&(t.default=oo(e));break}case"exact_optional":case"optional":case"undefinedable":{t=ht(t,e.wrapped,n,r),e.default!==void 0&&(t.default=oo(e));break}case"literal":{typeof e.literal!="boolean"&&typeof e.literal!="number"&&typeof e.literal!="string"&&nt('The value of the "literal" schema is not JSON compatible.',n),t.const=e.literal;break}case"enum":{t.enum=e.options;break}case"picklist":{e.options.some(o=>typeof o!="number"&&typeof o!="string")&&nt('An option of the "picklist" schema is not JSON compatible.',n),t.enum=e.options;break}case"union":case"variant":{t.anyOf=e.options.map(o=>ht({},o,n,r));break}case"intersect":{t.allOf=e.options.map(o=>ht({},o,n,r));break}case"lazy":{let o=r.getterMap.get(e.getter);o||(o=e.getter(void 0),r.getterMap.set(e.getter,o));let a=r.referenceMap.get(o);a||(a=`${Ob++}`,r.referenceMap.set(o,a),r.definitions[a]=ht({},o,n,r)),t.$ref=`#/$defs/${a}`;break}default:nt(`The "${e.type}" schema cannot be converted to JSON Schema.`,n)}return t}function ft(t,e){const n={definitions:{},referenceMap:new Map,getterMap:new Map},r=ht({$schema:"http://json-schema.org/draft-07/schema#"},t,e,n);return n.referenceMap.size&&(r.$defs=n.definitions),r}const Nb={flex:"~ col","gap-2":""},Pb=["onClick"],Lb={flex:"~ row 1","items-center":"","gap-1.5":""},Db={"p-4":""},Bb={class:"space-y-4"},zb={key:0},Fb={class:"flex items-center justify-between"},Ub={class:"flex items-center gap-1 text-sm font-medium"},$b={key:0,class:"text-red-500"},jb={key:0,class:"text-xs text-zinc-500 dark:text-zinc-400"},Vb=["onClick"],Hb={class:"mt-2 space-y-2"},Gb=["onUpdate:modelValue","onInput"],Kb=["onUpdate:modelValue","onInput"],qb=["onClick"],Yb={key:1,class:"flex items-center justify-between"},Wb={class:"flex items-center gap-1 text-sm font-medium"},Xb={key:0,class:"text-red-500"},Qb={key:0,class:"text-xs text-zinc-400 dark:text-zinc-600"},Zb=["type","value","placeholder","onInput"],Jb=xe({__name:"ModelProviderSettings",setup(t){const e=Ee(()=>[{id:"openrouter-ai",name:"OpenRouter",icon:"i-lobe-icons:openrouter",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenRouter")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://openrouter.ai/api/v1/")}))},{id:"openai",name:"OpenAI",icon:"i-lobe-icons:openai",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenAI services")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.openai.com/v1/")}))},{id:"ollama-ai",name:"Ollama",icon:"i-lobe-icons:ollama",fields:ft(lt({baseUrl:et(Be(Oe(),Pe("Host"),Ne("Host of the Ollama instance (optional)"))),extraHeaders:et(Be(ao(Oe(),Oe()),Pe("Headers"),Ne("Custom Headers for Ollama instance (optional)")))}))},{id:"vllm",name:"vLLM",icon:"i-lobe-icons:vllm-color",fields:ft(lt({baseUrl:et(Be(Oe(),Pe("Host"),Ne("Host of the vLLM instance (optional)"))),apiKey:et(Be(Oe(),Pe("API Key"),Ne("API Key for vLLM"))),extraHeaders:et(Be(ao(Oe(),Oe()),Pe("Headers"),Ne("Custom Headers for vLLM instance (optional)")))}))},{id:"elevenlabs",name:"ElevenLabs",icon:"i-simple-icons:elevenlabs",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for ElevenLabs")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")))}))},{id:"xai",name:"xAI",icon:"i-lobe-icons:xai",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for xAI")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.x.ai/v1/")}))},{id:"deepseek",name:"DeepSeek",icon:"i-lobe-icons:deepseek-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for DeepSeek")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.deepseek.com/")}))},{id:"together-ai",name:"Together.ai",icon:"i-lobe-icons:together-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for Together.ai")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.together.xyz/v1/")}))},{id:"novita-ai",name:"Novita",icon:"i-lobe-icons:novita-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for Novita")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.novita.ai/v3/openai/")}))},{id:"fireworks-ai",name:"Fireworks.ai",icon:"i-lobe-icons:fireworks",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for Fireworks.ai")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.fireworks.ai/inference/v1/")}))},{id:"cloudflare-workers-ai",name:"Cloudflare Workers AI",icon:"i-lobe-icons:cloudflare-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key")),accountId:Be(Oe(),Pe("Account ID"),Ne("Cloudflare Account ID"))}))},{id:"mistral-ai",name:"Mistral",icon:"i-lobe-icons:mistral-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenRouter")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.mistral.ai/v1/")}))},{id:"moonshot-ai",name:"Moonshot AI",icon:"i-lobe-icons:moonshot",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenRouter")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.moonshot.cn/v1/")}))}]),n=V({});function r(u,c){var d;return((d=n.value[u])==null?void 0:d[c])||""}function i(u,c,d){n.value[u]||(n.value[u]={}),n.value[u][c]=d}function o(u,c){var p;const d=(p=n.value[u])==null?void 0:p[c];if(!d)return[["",""]];try{return Object.entries(JSON.parse(d))}catch{return[["",""]]}}function a(u,c,d){var h;const p=d.filter(([w,v])=>w||v);if(p.length===0){(h=n.value[u])==null||delete h[c];return}const f=Object.fromEntries(p);i(u,c,JSON.stringify(f))}function s(u){u.push(["",""])}function l(u,c){u.splice(c,1)}return(u,c)=>(W(),Z("div",Nb,[(W(!0),Z(sn,null,Tn(e.value,d=>(W(),Z("div",{key:d.id},[he(B(Ui),{"w-full":""},{trigger:ye(p=>[P("button",{bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"","outline-none":"",class:"[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0",onClick:f=>p.setVisible(!p.visible)},[P("div",Lb,[P("div",{class:Bt([d.icon,"provider-icon size-6"]),transition:"filter duration-250 ease-in-out"},null,2),P("div",null,le(d.name),1)]),P("div",{transform:"",transition:"transform duration-250",class:Bt({"rotate-180":p.visible})},c[0]||(c[0]=[P("div",{"i-solar:alt-arrow-down-bold-duotone":""},null,-1)]),2)],8,Pb)]),default:ye(()=>[P("div",Db,[P("div",Bb,[(W(!0),Z(sn,null,Tn(d.fields.properties,(p,f)=>{var h,w;return W(),Z("div",{key:f,class:"space-y-1"},[typeof p!="boolean"&&typeof f!="number"&&p.type==="object"&&p.additionalProperties?(W(),Z("div",zb,[P("div",Fb,[P("div",null,[P("div",Ub,[Ci(le(p.title||f)+" ",1),(h=d.fields.required)!=null&&h.includes(f)?(W(),Z("span",$b,"*")):Ke("",!0)]),p.description?(W(),Z("div",jb,le(p.description),1)):Ke("",!0)]),P("button",{class:"text-sm",onClick:v=>s(o(d.id,f))},c[1]||(c[1]=[P("div",{"i-solar:add-circle-line-duotone":""},null,-1)]),8,Vb)]),P("div",Hb,[(W(!0),Z(sn,null,Tn(o(d.id,f),(v,y)=>(W(),Z("div",{key:y,class:"flex items-center gap-2"},[Tt(P("input",{"onUpdate:modelValue":A=>o(d.id,f)[y][0]=A,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Key",onInput:A=>a(d.id,f,o(d.id,f))},null,40,Gb),[[Yo,o(d.id,f)[y][0]]]),Tt(P("input",{"onUpdate:modelValue":A=>o(d.id,f)[y][1]=A,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Value",onInput:A=>a(d.id,f,o(d.id,f))},null,40,Kb),[[Yo,o(d.id,f)[y][1]]]),P("button",{class:"text-red-500 hover:text-red-600",onClick:A=>l(o(d.id,f),y)},c[2]||(c[2]=[P("div",{"i-solar:trash-bin-trash-bold-duotone":""},null,-1)]),8,qb)]))),128))])])):Ke("",!0),typeof p!="boolean"&&typeof f!="number"&&p.type==="string"?(W(),Z("div",Yb,[P("div",null,[P("div",Wb,[Ci(le(p.title)+" ",1),(w=d.fields.required)!=null&&w.includes(f)?(W(),Z("span",Xb,"*")):Ke("",!0)]),p.description?(W(),Z("div",Qb,le(p.description),1)):Ke("",!0)]),P("input",{type:f.toLowerCase().includes("key")?"password":"text",value:r(d.id,f),rounded:"",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:p.default&&String(p.default)||`Enter ${p.title||f}`,onInput:v=>i(d.id,f,v.target.value)},null,40,Zb)])):Ke("",!0)])}),128))])])]),_:2},1024)]))),128))]))}}),e1={text:"zinc-500 dark:zinc-400",class:"relative"},t1={key:"main"},n1={text:"zinc-800/80 dark:zinc-200/80 xl","mb-4":"","font-bold":""},r1={class:"space-y-2"},i1={text:"sm"},o1={grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":""},a1={text:"sm"},s1={flex:"~ row","w-full":"","justify-end":""},l1={value:"en-US"},u1={value:"zh-CN"},c1={bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","cursor-pointer":"","rounded-lg":"","px-4":"","py-3":""},d1=["checked","aria-checked"],f1={flex:"~ row","w-full":"","items-center":"","gap-1.5":""},p1={text:"sm","w-full":"","flex-1":""},h1={"select-none":""},m1={key:0,"i-solar:moon-stars-bold-duotone":"",transition:"all ease-in-out duration-250"},g1={key:1,"i-solar:sun-fog-bold-duotone":"",transition:"all ease-in-out duration-250"},v1={key:"providers"},y1={"mb-4":"",flex:"","items-center":"","gap-2":""},b1={text:"zinc-800/80 dark:zinc-200/80 xl","font-bold":""},x1=xe({__name:"MobileSettings",setup(t){const{t:e}=Gn(),n=Zt(Kn()),r=ys({disableTransition:!1}),i=V("main"),o=V("forward");function a(u){const c=u.target;n.language.value=c.value}function s(){o.value="forward",i.value="providers"}function l(){o.value="backward",i.value="main"}return(u,c)=>(W(),Z("div",e1,[he(wr,{name:o.value==="forward"?"slide-forward":"slide-backward"},{default:ye(()=>[i.value==="main"?(W(),Z("div",t1,[P("h2",n1,le(B(e)("settings.title")),1),P("div",null,[P("div",r1,[P("div",{grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","cursor-pointer":"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"",onClick:s},[P("div",i1,[P("span",null,le(B(e)("settings.model-provider.title")),1)]),c[1]||(c[1]=P("div",{flex:"~ row","w-full":"","justify-end":"",text:"sm"},[P("div",{"i-solar:alt-arrow-right-bold-duotone":""})],-1))]),P("div",o1,[P("div",a1,[P("span",null,le(B(e)("settings.language.title")),1)]),P("div",s1,[P("select",{class:"w-32",bg:"transparent",text:"sm right zinc-800 dark:zinc-100",transition:"all ease-in-out duration-250",outline:"none",onChange:a},[P("option",l1,le(B(e)("settings.language.english")),1),P("option",u1,le(B(e)("settings.language.chinese")),1)],32)])]),P("label",c1,[Tt(P("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>Ss(r)?r.value=d:null),text:"zinc-800 dark:zinc-100",checked:B(r),"aria-checked":B(r),type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,d1),[[Cr,B(r)]]),P("div",f1,[P("div",p1,[P("span",null,le(B(e)("settings.theme")),1)]),P("div",h1,[he(wr,{name:"slide-away",mode:"out-in"},{default:ye(()=>[B(r)?(W(),Z("div",m1)):(W(),Z("div",g1))]),_:1})])])])])])])):i.value==="providers"?(W(),Z("div",v1,[P("div",y1,[P("button",{text:"zinc-800/80 dark:zinc-200/80",onClick:l},c[2]||(c[2]=[P("div",{"i-solar:alt-arrow-left-bold-duotone":""},null,-1)])),P("h2",b1,le(B(e)("settings.model-provider.title")),1)]),he(Jb)])):Ke("",!0)]),_:1},8,["name"])]))}}),_u=Lr(x1,[["__scopeId","data-v-20bd21e8"]]),w1={flex:"~","gap-2":""},k1={flex:"~ 1 col gap-2","of-y-scroll":"","rounded-t-lg":"","p-5":""},T1=xe({__name:"DesktopSettings",setup(t){const e=V(!1);return(n,r)=>(W(),Z("div",w1,[he(B(ku),{open:e.value,"onUpdate:open":r[0]||(r[0]=i=>e.value=i),"should-scale-background":"",direction:"right"},{default:ye(()=>[he(B(hu),{bg:"zinc-100 dark:zinc-800",text:"lg zinc-500 dark:zinc-400","max-h":"[10lh]","min-h":"[1lh]","m-1":"","rounded-lg":"","p-2":"","outline-none":""},{default:ye(()=>r[1]||(r[1]=[P("div",{"i-solar:settings-minimalistic-bold-duotone":""},null,-1)])),_:1}),he(B(mu),null,{default:ye(()=>[he(B(Tu),{fixed:"","inset-0":"","z-50":"","bg-black:40":""}),he(B(Au),{class:"max-w-40% min-w-500px w-full",flex:"~ col",bg:"white dark:zinc-900",fixed:"","inset-y-4":"","right-4":"","z-50":"","of-hidden":"","rounded-lg":"","outline-none":""},{default:ye(()=>[P("div",k1,[he(_u)])]),_:1})]),_:1})]),_:1},8,["open"])]))}}),A1={"mb-1":"","w-full":"","gap-2":""},jx=xe({__name:"Header",setup(t){return(e,n)=>(W(),Z("header",A1,[n[0]||(n[0]=P("a",{href:"https://github.com/moeru-ai/airi",rel:"noreferrer noopener",target:"_blank",flex:"~ 1","w-full":"","items-center":"","gap-2":"","px-2":"","text-nowrap":"","text-2xl":"","outline-none":""},[P("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),P("div",{"font-cute":""},[P("span",null,"アイリ")])],-1)),he(T1)]))}});function Eu(t,e){const n=Vs(e??{},{...Wo.getDefaultRealTimeVADOptions("v5"),preSpeechPadFrames:30,positiveSpeechThreshold:.5,negativeSpeechThreshold:.35,minSpeechFrames:30,auto:!0}),r=V(),i=Mc("microphone");async function o(){if(r.value&&(r.value.destroy(),r.value=void 0,console.warn("existing MicVAD destroyed")),!i.value)return;const a=B(t);if(!a)return;const s=await navigator.mediaDevices.getUserMedia({audio:{deviceId:a}});r.value=await Wo.MicVAD.new({...n,stream:s}),n.auto&&r.value.start()}return Te(i,o,{immediate:!0}),Te(Oi(t),o,{immediate:!0}),Ic(o),vt(()=>{r.value&&(r.value.destroy(),r.value=void 0)}),{destroy:()=>{r.value&&(r.value.destroy(),r.value=void 0)},start:()=>{r.value&&r.value.start()}}}function _1(t,e){const n=Vs(e,{onLoading:()=>{},onInitiate:()=>{},onProgress:()=>{},onDone:()=>{},onReady:()=>{},onStart:()=>{},onUpdate:()=>{},onComplete:()=>{}}),{post:r,data:i,terminate:o}=Sc(t,{type:"module"}),a=V(null),s=V(""),l=V([]),u=V(!1),c=V(0),d=V("");return Te(i,p=>{var f,h,w,v,y,A,T,E;switch(p.status){case"loading":a.value="loading",s.value=p.data,(f=n.onLoading)==null||f.call(n,p.data);break;case"initiate":l.value.push(p),(h=n.onInitiate)==null||h.call(n,p);break;case"progress":l.value=l.value.map(O=>O.file===p.file?{...O,...p}:O),(w=n.onProgress)==null||w.call(n,p);break;case"done":l.value=l.value.filter(O=>O.file!==p.file),(v=n.onDone)==null||v.call(n,p);break;case"ready":a.value="ready",(y=n.onReady)==null||y.call(n);break;case"start":u.value=!0,(A=n.onStart)==null||A.call(n);break;case"update":c.value=p.tps,(T=n.onUpdate)==null||T.call(n,p.tps);break;case"complete":u.value=!1,d.value=p.output[0]||"",console.debug("Whisper result:",d.value),(E=n.onComplete)==null||E.call(n,p.output[0]);break}}),vt(()=>{o()}),{transcribe:p=>r(p),status:a,loadingMessage:s,loadingProgress:l,transcribing:u,tps:c,result:d,load:()=>r({type:"load"}),terminate:o}}const E1="/assets/worker-CL_jKwe6.js";async function M1(t,e){const n=new ArrayBuffer(44+t.length*2),r=new DataView(n);gr(r,0,"RIFF"),r.setUint32(4,36+t.length*2,!0),gr(r,8,"WAVE"),gr(r,12,"fmt "),r.setUint32(16,16,!0),r.setUint16(20,1,!0),r.setUint16(22,1,!0),r.setUint32(24,e,!0),r.setUint32(28,e*2,!0),r.setUint16(32,2,!0),r.setUint16(34,16,!0),gr(r,36,"data"),r.setUint32(40,t.length*2,!0),I1(r,44,t);const i=new Blob([r],{type:"audio/wav"});return new Promise((o,a)=>{const s=new FileReader;s.onload=()=>{const l=s.result.split(",")[1];o(l)},s.onerror=a,s.readAsDataURL(i)})}function gr(t,e,n){for(let r=0;r{xt().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{xt().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=Gs("auto-animate");return W(),Z("div",S1,[u[1]||(u[1]=P("div",{"flex-1":""},null,-1)),Tt((W(),Z("div",{ref_key:"chatHistoryRef",ref:e,"h-full":"","w-full":"",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=P("div",{"flex-1":""},null,-1)),(W(!0),Z(sn,null,Tn(B(n),(d,p)=>(W(),Z("div",{key:p,"mb-2":""},[d.role==="assistant"?(W(),Z("div",R1,[P("div",C1,[P("div",null,[P("span",O1,le(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(W(),Z("div",{key:0,class:"markdown-content",text:"base {await u(M)}});async function y(){await u(e.value)}const{destroy:A,start:T}=Eu(l,{onSpeechStart:()=>{n.value=!0},onVADMisfire:()=>{n.value=!1},onSpeechEnd:M=>{n.value=!1,O(M)},auto:!1});function E(){w.value!=="loading"&&(h(),T())}async function O(M){await d.resume();const b=await M1(M,d.sampleRate);f({type:"generate",data:{audio:b,language:"en"}})}async function m(M){const b=M.target,x=o.value.find(g=>g.deviceId===b.value);if(!x){a.value=void 0;return}a.value=x}return Te(s,async M=>{M==="false"&&(A(),v())}),c(async()=>{e.value=""}),(M,b)=>(W(),Z("div",$1,[P("fieldset",j1,[P("label",{class:Bt([r.value==="chat"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="chat"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="chat","aria-checked":r.value==="chat",border:"solid l-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-l-lg":"","px-2":""},[Tt(P("input",{"onUpdate:modelValue":b[0]||(b[0]=x=>r.value=x),type:"radio",name:"tab",value:"chat",hidden:""},null,512),[[Yr,r.value]]),b[5]||(b[5]=P("div",{"i-solar:dialog-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),P("div",H1,[P("span",G1,le(M.$t("stage.chat.tabs.chat")),1)])],10,V1),P("label",{class:Bt([r.value==="custom"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="custom"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="custom","aria-checked":r.value==="custom",border:"solid t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","px-2":""},[Tt(P("input",{"onUpdate:modelValue":b[1]||(b[1]=x=>r.value=x),type:"radio",name:"tab",value:"custom",hidden:""},null,512),[[Yr,r.value]]),b[6]||(b[6]=P("div",{"i-solar:star-fall-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),P("div",q1,[P("span",null,le(M.$t("stage.chat.tabs.custom")),1)])],10,K1),P("label",{class:Bt([r.value==="clothes"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="clothes"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="clothes","aria-checked":r.value==="clothes",border:"solid r-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-r-lg":"","px-2":""},[Tt(P("input",{"onUpdate:modelValue":b[2]||(b[2]=x=>r.value=x),type:"radio",name:"tab",value:"clothes",hidden:""},null,512),[[Yr,r.value]]),b[7]||(b[7]=P("div",{"i-solar:magic-stick-3-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),P("div",W1,[P("span",null,le(M.$t("stage.chat.tabs.clothes")),1)])],10,Y1)]),P("div",X1,[P("div",Q1,[he(U1,{"h-full":"","flex-1":"","p-4":"",w:"full","max-h":"e.value=x),placeholder:B(p)("stage.message"),text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500 placeholder:pink-300 placeholder:hover:pink-500 placeholder:dark:pink-300/50 placeholder:dark:hover:pink-500",bg:"pink-100 dark:pink-400/20","min-h":"[100px]","w-full":"","rounded-t-xl":"","p-4":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:y},null,8,["modelValue","placeholder"])])])]),P("div",J1,[P("button",{bg:"cyan-100 hover:cyan-200 dark:cyan-800 dark:hover:cyan-700",transition:"all duration-250 ease-in-out",text:"cyan-400","mb-6":"",flex:"","cursor-pointer":"","items-center":"","justify-center":"","gap-2":"","rounded-full":"","px-4":"","py-2":"",onClick:E},[he(wr,{mode:"out-in"},{default:ye(()=>[B(w)===null?(W(),Z("div",ex,le(M.$t("stage.operations.load-models")),1)):B(w)==="loading"?(W(),Z("div",tx,[b[8]||(b[8]=P("div",{"i-svg-spinners:bouncing-ball":"",class:"text-cyan"},null,-1)),P("span",null,le(M.$t("stage.operations.load-models-status.loading")),1)])):B(w)==="ready"?(W(),Z("div",nx,[b[9]||(b[9]=P("div",{"i-lucide:check":"",class:"text-cyan"},null,-1)),P("span",null,le(M.$t("stage.operations.load-models-status.ready")),1)])):Ke("",!0)]),_:1})]),P("div",rx,[he(B(Dr),null,{default:ye(()=>[i.value?(W(),Z("fieldset",ix,[(W(!0),Z(sn,null,Tn(B(o),(x,g)=>(W(),Z("label",{key:g,class:"[&_div_span]:dark:hover:bg-cyan-300 [&_div_span]:dark:hover:bg-cyan-900"},[P("input",{type:"radio",name:"audioInput",value:x.deviceId,hidden:"",onChange:m},null,40,ox),P("div",ax,[P("div",sx,[x.deviceId===B(l)?(W(),Z("div",lx)):Ke("",!0)]),P("span",{"inline-block":"",class:Bt([x.deviceId===B(l)?"cyan-400 dark:text-white":"cyan-400/50 dark:text-white/50"]),transition:"all duration-250 ease-in-out"},le(x.label),3)])]))),128))])):Ke("",!0)]),_:1}),P("label",ux,[Tt(P("input",{"onUpdate:modelValue":b[4]||(b[4]=x=>i.value=x),type:"checkbox",hidden:""},null,512),[[Cr,i.value]]),b[10]||(b[10]=P("div",{"i-solar:microphone-2-bold-duotone":""},null,-1)),P("div",null,[n.value?(W(),Z("span",dx,"Listening...")):(W(),Z("span",cx,le(M.$t("settings.microphone")),1))])])])])]))}}),Vx=Lr(fx,[["__scopeId","data-v-893059ff"]]),px={},hx={"mb-1":"","w-full":"","gap-2":""};function mx(t,e){return W(),Z("header",hx,e[0]||(e[0]=[P("div",{flex:"~ 1","w-full":"","items-center":"","justify-center":"","gap-2":"","px-2":"","text-nowrap":"","text-lg":""},[P("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),P("div",{"font-cute":""},[P("span",null,"アイリ")])],-1)]))}const Hx=Lr(px,[["render",mx]]),gx={py:"1",flex:"~ col",rounded:"lg","overflow-hidden":""},vx={key:0,flex:"",mr:"12"},yx={flex:"~ col",border:"4 solid pink-200/50 dark:pink-500/50",shadow:"md pink-200/50 dark:none","min-w-20":"","rounded-lg":"","px-2":"","py-1":"",h:"unset {xt().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{xt().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=Gs("auto-animate");return W(),Z("div",gx,[u[1]||(u[1]=P("div",{"flex-1":""},null,-1)),Tt((W(),Z("div",{ref_key:"chatHistoryRef",ref:e,"h-full":"","w-full":"","max-h":"30vh",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=P("div",{"flex-1":""},null,-1)),(W(!0),Z(sn,null,Tn(B(n),(d,p)=>(W(),Z("div",{key:p,"mb-2":""},[d.role==="assistant"?(W(),Z("div",vx,[P("div",yx,[P("div",null,[P("span",bx,le(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(W(),Z("div",{key:0,class:"markdown-content",text:"base {i.value=!0},onVADMisfire:()=>{i.value=!1},onSpeechEnd:w=>{i.value=!1,f()},auto:!1});function f(w){alert("Transcription is not implemented yet")}function h(w){n("settingsOpen",w)}return Te(o,async w=>{w==="false"&&d()}),l(async()=>{r.value=""}),At(()=>{p()}),(w,v)=>(W(),Z("div",null,[P("div",Ix,[he(Mx,{absolute:"","left-0":"","top-0":"",transform:"translate-y-[-100%]","w-full":""}),P("div",Sx,[he(B(Qs),{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=y=>r.value=y),placeholder:B(u)("stage.message"),border:"solid 2 pink-100 dark:pink-400/20",text:"pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","w-full":"","resize-none":"","overflow-y-scroll":"","rounded-l-xl":"","p-2":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:c},null,8,["modelValue","placeholder"])]),he(B(ku),{"should-scale-background":"","onUpdate:open":h},{default:ye(()=>[he(B(hu),{class:"px-4 py-2.5",border:"solid 2 pink-100 dark:pink-400/20",text:"lg pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","rounded-r-xl":""},{default:ye(()=>v[1]||(v[1]=[P("div",{"i-solar:settings-bold-duotone":""},null,-1)])),_:1}),he(B(mu),null,{default:ye(()=>[he(B(Tu),{class:"fixed inset-0 z-50 bg-black/40"}),he(B(Au),{"max-h":"[75%]",fixed:"","bottom-0":"","left-0":"","right-0":"","z-50":"","mt-24":"","h-full":"",flex:"","flex-col":"","rounded-t-lg":"",bg:"[#fffbff] dark:[#1f1a1d]"},{default:ye(()=>[P("div",Rx,[he(_u)])]),_:1})]),_:1})]),_:1})])]))}}),Kx={};export{Vx as I,Hx as M,Ux as W,jx as _,Gx as a,Kx as b};